NeuroShell Trader Professional Features

Overview

The Professional Trader has features to optimize the inputs to nets. There have been others who have used Genetic Algorithms (GAs) to find inputs to feed a net before, but we are also finding optimum parameters for the indicators you are using, as well as the buy/sell thresholds when training by profit. There are several objective functions for optimization, not just simple profit.

The most exciting thing about the Professional Trader may not have anything to do with neural nets. The most exciting thing may be the trading strategy optimizer, which optimizes systems by GA even if they don't have neural nets! For example, you can enter a traditional trading strategy (using crossovers and breakouts, say) and then find optimal parameters for those crossovers and breakouts. Not only that, but you can tell the optimizer to get rid of useless rules if you have provided several. We have actually built some pretty good trading systems that didn't use nets at all.

Features

Optimizer
The NeuroShell Trader Professional includes a trading strategy optimizer, which optimizes systems by genetic algorithm even if they don't have neural nets! For example, you can enter a traditional trading strategy (using crossovers and breakouts, say) and then find optimal parameters for those crossovers and breakouts. Not only that, but you can tell the optimizer to get rid of useless rules if you have provided several. We have actually built some pretty good trading systems that didn't use nets at all. To learn more about trading strategies, visit the Trading Strategy Wizard.

The Trader Professional also has features to optimize the inputs to nets. There have been others who have used genetic algorithms to find inputs to feed a net before, but the NeuroShell Trader Professional can also find optimum parameters for the indicators as well as the buy/sell thresholds when training by profit.  To learn more about predictions, visit the Prediction Wizard.

How Are Genetic Algorithms Different than Other Optimizers? 
Most optimization techniques used today are simple "exhaustive search" methods, meaning that every possible combination is tried to see what was the best one. This is a very accurate approach, since you are bound to find the best combination of variables - eventually. However, it is a very inefficient approach, because whenever there are more than a few thousand combinations, it takes too long to try them all. That is why users of exhaustive search optimizers tend to limit the number of variables they use, or tend to limit the number of values these variables can take. 

The genetic algorithm, by contrast, does not try every possible combination. It attempts instead to intelligently get closer and closer to the best solution. Therefore, far more variables can be utilized, and you can allow all values of a variable. Optimization can still take a good deal of time if you give a GA a fair number of variables, but it will be doing much more work in that amount of time. 

More efficient optimizers than exhaustive search optimizers are in use. If they are not genetic algorithms, however, they are most likely only searching one section of the search space at a time. Genetic algorithms are searching dozens or hundreds of parts of the search space simultaneously. This means they are far less susceptible to becoming stuck in "local minima" as the others quite often do. (Local minima are decent solutions that the optimizer can never “get out of” in order to find better solutions.) 

Custom Indicators

Indicators you build can now be saved and used later in different charts. Saved indicators can also be loaded into the regular Trader, meaning that you can now sell or distribute indicators to all NeuroShell Trader users. You can save them in existing indicator categories, or invent your own.

To create a custom indicator, first build it in the Indicator Wizard as usual. In order to save your indicator, you use the Save Indicator button in the Indicator Wizard. To activate this button, click on any level of the indicator as shown in the picture below:

Then the following dialog box appears:

Furthermore, if you distribute one of these custom indicators, you can specify the help topic and help file that will be displayed if the end user presses “Indicator Help”. Of course, you are responsible for writing this help file yourself.

The Advanced button brings up the following:

The parameters of those indicators can be hidden from end users, meaning that your proprietary secrets will be safe. Also, parameters the user sees can be mapped to multiple parameters in the indicators. For example, if your custom indicator uses close a lot, the user only had to define it once.

Alerts

The Professional Trader can allow creation of sound and/or popup custom text alerts when an event occurs. Unlike some packages which have a limited number of alerts available, the NeuroShell Trader alerts are unlimited in scope and can be based upon any combination of indicators, predictions, and/or trading strategies.

Alerts are inserted from the Insert menu, just like indicators:

You can give your alerts special names and even notes to yourself:

Then, when you later view the Alert window, you are notified of all alerts (like all such layouts in the Trader, clicking on a column sorts the display by that column):

Alerts can be modified in the same manner in which you modify indicators, predictions, and trading strategies.

Calls to user created DLL functions/subroutines

The NeuroShell Trader Professional now has indictors that can call external DLLs created (usually) in C or C++ ('DLL calls' category in the Indicator Wizard). This is a very powerful feature, because it means that now you can build custom indicators and other functions and use them in the NeuroShell Trader. You can even build a business selling these to NeuroShell Trader users. However, you will need to have a programmer available to help you set up the calls to the DLLs, and the programmer will have to know something about the DLL he/she is trying to call.

There are two types of DLL calls:

1. Calling DLL by value. In this mode, the DLL is called once for each bar. The inputs to the DLL will usually be some current or lagged values, and the output will be associated with that bar on the chart. This mode would be perfect for building a custom indicator in C++.

2. Calling DLL by array. In this mode, the DLL is called only once for the entire chart. Each parameter is an array that is as large as the number of bars loaded in the chart. The output is an array of the same size. This mode is for building some sort of process that needs all the data at once. One example might be your own custom model, like a neural network. Note, however, that training a neural network could take some time, during which the user is staring at a frozen chart. Also, the indicator is called each time the chart is refreshed, so you will want to have a mechanism that is aware that it shouldn’t retrain each time the DLL is called.

Calls to NeuroShell 2 and Predictor/Classifier Nets

You can now call neural networks you created with NeuroShell 2, NeuroShell Predictor, or NeuroShell Classifier within the Trader. These net calls are special indicators in the 'DLL calls' category in the Indicator Wizard. You still have to train these nets within the respective programs, but they can be fired in the Trader, looking like an indicator. This indicator can then be used in a trading strategy, another indicator, or even another net. It is easy to train nets in these programs using Trader data if you use the Trader’s file export facility.

In order to call Predictor/Classifier networks, you must own the NeuroShell Run-Time Server.

When you call the indicator to fire NeuroShell 2 nets you must not only pass it the inputs to the net in the proper order, but the path to the .DEF file as well. For Predictor and Classifier nets, you will need the path to the saved network file as well as the inputs.

Advanced Neural Network Software for Financial Forecasting and Stock Prediction

Ward Systems Group, Inc
Executive Park West
5 Hillcrest Drive
Frederick, MD  21703

Phone : (301) 662-7950
Fax : (301) 663-9920
Email : sales@wardsystems.com

Skype (Sales Only) : wardsystems | wardsystems2


Copyright© 1997- 2010 Ward Systems Group, Inc. All rights reserved
Copyright Information
Privacy Statement