May 2017 Newsletter – Five Tips For Building Trading Models That Last

May 23, 2017



New users often ask why their models are profitable during the optimization period but fall apart when they go to trade the model in real time.  In this article we’re going to offer five tips for creating models that generalize well on new data and continue to generate profitable trading signals.  While no model will work forever, you can build trading systems that are more flexible under different market conditions.

1. Reduce the Number of Inputs
Go back in time to your statistics class and you’ll recall that less degrees of freedom results in a more robust model.  That is why we recommend no more than 5 to 10 inputs to a neural net prediction.

If you want to test more inputs, we suggest building models with groups of 5 inputs and then eliminating non-performing inputs based on the contribution factors that appear in the Prediction Analysis.

Look at the Input Contributions tab for an analysis of which inputs had more of an influence on the net’s results.

In the Trading Strategy wizard, we recommend no more than 5 rules on each rule tab if you specify that all of the following are true before generating a trading signal.  If you add more rules it is unlikely that all conditions will be met at the same time and your model won’t trade.  We also advise that you choose Full Rule Optimization or Rule Selection Optimization so the optimizer will eliminate non-performing rules.

Finding the right inputs can result in a prediction that produces trading signals at peaks and valleys both during the optimization period and trading period as in the chart above.

2.  Limit Number of Hidden Neurons
TurboProp 2 builds predictions by adding hidden neurons based on your data.  The default maximum value of hidden neurons in NeuroShell is 10.  If you want your model to generalize even more on new data, try a max of 3 to 4 hidden neurons.

Slide the bar to the left to reduce the max number of hidden neurons.

  3. Set Smart Ranges
You can save optimization time and produce more meaningful results if you take the time to set appropriate ranges for indicator parameters.

When you ask NeuroShell Trader to optimize parameters, the program sets the range around the value you enter for each parameter, plus and minus a certain amount.  However, the range does not take into account the specifications for individual indicators.

For example, if you build a trading rule that says to go long if RSI < 30, the optimizer will set the range from -60 to 60.  However, if you read the indicator help file, RSI ranges between 0 and 100.  So it’s good practice to check the help file for details on parameters.  In this RSI rule, we would set the range from 20 to 40.

Setting appropriate ranges applies to neural network predictions and trading strategies. In predictions, you set the ranges on the inputs screen in the Prediction Wizard.  For Trading Strategies, you set the ranges on each rule tab in the Trading Strategy Wizard.

In this prediction, the Periods parameters shown in yellow are linked and will optimize to the same value in the 3 to 6 range.

4. Link Similar Parameters
This tip works for both predictions and trading rules. If you have several indicators that include the same parameter such as the number of periods used to calculate the indicator, linking the parameters will cause them to optimize to the same value in all indicators. This will limit degrees of freedom and reduce optimization time.

On either the rule tab in Trading Strategies or the inputs tab in predictions, click on the “+” sign beside each indicator to display the default ranges. Click on the Modify Parameter button. Choose the option to “Associate with the following optimization link”, click on the “Add new link” button and name the parameter and set the desired range. The second time you want to link a similar parameter, you can choose the name from the drop down list instead of adding a new link.

To learn more about this technique, watch the video “Setting Optimization Ranges” in the Traditional Trading Strategies section of the videos available on the Trader Help Menu.

5. Limit Trading Hours
It doesn’t make sense to create a model that trades in the middle of the night if you choose to monitor your trades. Or perhaps you want to build a FOREX model that only trades during London trading hours when the major banks do the most FOREX trading. Look for the dates tab in either the Prediction Wizard or Trading Strategy wizard and check the box to “Restrict trading signals to a specific time range”. Modify the listed hours to suit your needs. Once again this tip reduces optimization time.

Click here to download the example chart.

We are happy to announce the start of a new service developed by one of our long time customers called SCRIPTMAKER.NET. Their offerings include recorders that take market micro-structure data directly from NINJATRADER® V8 and place it into a .csv file specific for modeling in ChaosHunter®. When you are finished creating your model, send them your formula and they will build a production script written for NT8.

You don’t have to use their recorders in order to get your formula converted to NT8. You can build your own data sets and then send them your formulas for scripting. Prices for formula conversion start at $10 for a single script and bundle pricing is available.

They offer a free trial so check them out at

Was this article helpful?

Related Articles