Using Adaptive Net Indicators with NeuroShell Trader

Top  Previous  Next

Prediction Nets can be used just as neural nets are used in the Trader. However, there is no need to have walk-forward tests, since the Nets are already doing a 1 bar walk forward.  Every prediction made by a Net is out of sample (see exception in the next paragraph), and the Nets update themselves with each new bar. Therefore, the training set is always as up to date as it can be.

 

Exception: If you set the lookahead period to zero, then the Net predictions are no longer out of sample, because the Net sees the output in the same bar it sees the inputs. It is essentially just memorizing. If you set lookahead to zero and set the contributions high enough, the Prediction Nets can exactly reproduce the outputs. The Classifier Nets will get the probabilities 100% correct.

 

When predicting, you should almost always predict price changes or percent price changes because the Prediction Nets cannot extrapolate, and thus cannot predict new price levels (see Warnings and Limitations).

 

For each input, you will have to set a corresponding contribution factor. Lower numbers "smooth" the inputs, meaning that the Net will not take the exact values of the input too seriously. Higher numbers will cause the Net to use the inputs almost exactly as they are without smoothing. All of the above means that the Nets weight the inputs with higher numbers more than they weight the ones with lower contribution numbers.

 

What the above actually means is that when the Nets look back to find patterns close to the current bar being evaluated, it will look pretty much for exact matches if you use high contributions. If you use lower contributions, then the matches dont have to be exact, just close. Even smaller contributions (dont be afraid to use values < 1) will result in more "fuzzy" matches where the patterns dont have to even be close, but just similar.

 

How should you set the contributions? There are no firm rules for this, since all users will be using different inputs. Start out with values around 10 for inputs which have small number ranges, e.g., indicators with values around + or – 1. For inputs with ranges like + or – 100, use .1.  Then experiment to see what values give the best results. The Nets arent really sensitive, and small changes will usually not make big differences in the outputs.

 

The Nets which have 4, 5, or 6 inputs will probably work better with smaller contributions rather than larger contributions which may work well with 2 or 3 inputs.

 

If you feed in inputs with really large ranges, such as volumes, you may want to scale them to get their ranges down lower. You can use the z-score indicator in the statistical indicator category for this. (Note: this scaling is not necessary with the normal TurboProp 2 nets in the Trader.) If you like, you could instead use contribution factors such as .01 or even smaller. If youd like to do any more sophisticated type of scaling of inputs, you are welcome to do so.

 

If you start to see that the Nets are not producing an output on some bars, your contributions are probably too high (see paragraph 3 in the Warnings and Limitations section.)

 

Use the Net outputs in a trading strategy using familiar rules like A>B. Since you are experimenting to improve your Net results, you will probably want to make sure you run out-of-sample tests in the Trading Strategy after you do your experimenting. Even though your Nets are predicting out of sample, experimenting too much makes them in sample again!

 

The outputs of the Classifier Nets are probabilities or confidence factors. If the output is positive, it is the probability of the current pattern being in the positive class. If negative, it is the negative of the probability of being in the other class.