Applying Models with the Chaos Input

Top  Previous  Next

There is a check mark called "Use formula output as input on the next iteration" in the "Chaos Input" pane in the "Formula Tab". If you check this box you are instructing ChaosHunter to make the last value of its formula available as a possible input into the formula on the next row. This enables ChaosHunter to create a chaotic formula. This only makes sense if your data is some type of time series. If ChaosHunter decides during evolution that this previous value of the formula is needed, you will see "ChaosVar" appear in your formula, which stands for "Chaos Variable".
However, there are factors you must consider if the ChaosVar shows up in your final formula. These considerations come about because ChaosVar starts with some initial value you can set, but it can take quite a few rows of data before the ChaosVar takes on meaningful values (it is not possible to determine how many rows are needed for any particular case or even in general, but we guess at least 10 to 50). So with that in mind, here are the considerations:
1. Out-of-Sample Testing
If you look at an out-of-sample test, the ChaosVar starts with its initial value. That means it can take quite a few rows of data until the formula is really "up to speed" with respect to the Chaosvar. Out-of sample testing is really most accurate if the formula has had previous rows to include in the calculation of ChaosVar. So when used for trading, as an example, trading signals will be more accurate if the out-of-sample set is not evaluated by itself.
2.  Inserting the Formula into a Trading Chart
When you insert a formula containing the ChaosVar into a trading chart, the trading signals will be most accurate if there are a number of previous bars in the chart prior to the start of actual trading.
3.  Repetition of Results
If you attempt to compare the signals in your trading platform chart with the signals ChaosHunter showed, you will not be comparing "apples to apples" if the ChaosVar is in the formula unless both the ChaosHunter and the trading start on exactly the same bar.
4. Access on Trading Platforms
In order to insert a formula using ChaosVar into a chart, your trading platform must be capable of accessing the last value of the formula within the formula itself. (NeuroShell Trader® Professional, for example, is not capable of that). If your platform is not capable you will have to either generate formulas without ChaosVar or insert your formula by calling the ChaosHunter Runtime server (as NeuroShell Trader Professional does).


Other Considerations When Using ChaosHunter Models into the Future

The Chaosvar needs an initial value to start its sequence. The default is zero, but non-zero numbers between zero and 1 are better. This initial value is saved in ChaosHunter models for use in starting the Chaosvar sequence later. ChaosHunter starts the Chaosvar with this initial value each time the model is executed. This means if you test the model "out-of-sample" or use it in the future for trading with new data, the Chaosvar will be at a different point in the chaotic sequence than the point where it ended after optimization. Our experiments have shown that starting the sequence anew like that can result in entirely different predictions that it would have made had the chaotic sequence not been restarted after optimization.
The solution is to always execute the model using all of the optimization data appended in front of the new test or trading data. That way the chaotic sequence builds itself exactly the same throughout the optimization set and is synchronized when it moves into the new data. ChaosHunter can do this automatically when you apply the model to "All rows" as opposed to only the "Out-of-sample set". If you run some tests you will see that the out-of-sample results are often better this way. However, when you move the model to NeuroShell Trader®, TradeStation®, or some other platform, you should keep and utilize all of the training data there too when the model is executed.