Trading System Lab


The phrase “Keep it Simple” has significant meaning in trading system design work. A trading system that has a large number of rules, parameters, indicators or patterns compared to the number of trades in the Training data usually fails to perform into the future. This is because the number of variables or parameters in the model over fits the data capturing only elements of an insignificant number of trades. For example, if we have 4 years of data in our sample and every February shows losses; can we conclude that all Februarys will be losers moving forward? Various statistical proofs tell us that the larger our population size is, the greater the chance we have to adequately determine the distribution of that population. Working with large data bases the trading system developer is given an opportunity to develop strategies over bull, bear and horizontal markets and over markets with highly varied statistical footprints.  For trading systems, having 100 trades for every parameter in our model is desired. Using TSL we have seen evolved systems emerge with trade to parameter ratios of over 600 to 1.

Trading System Lab and Out of Sample Testing

During design, the Genetic Program (GP) in TSL will ultimately use only a small subset of parameters presented to it at the beginning of the run. Starting with 56 inputs, the final model may have only 2 to 10 parameters used while the trading system may have thousands of trades in the Training data. Knowing that over fitting can be a concern for any Artificial Intelligence based algorithm, it is important to use an algorithm that reduces parameters substantially and easily.

Additionally, TSL contains a separate algorithm known as Parsimony Pressure which will reduce the parameter count down even further by choosing a model that is less complex even if it does not fit the data quite as well as other models emerging during evolution.

Even with a large trade to parameter ratio some trading systems may still show over fitting characteristics. Clearly additional stress tests are required. A desired stress test is called Out of Sample Testing. Out of Sample testing is accomplished by running the evolved trading system over data not used in the design process. In TSL, Out of Sample testing is accomplished during the evolution so that the general path that the evolution is taking both in Training and Walk Forward data may be observed. If a trading system that has a high trade to parameter ratio emerges that also is exhibiting solid Out of Sample performance, a higher level of confidence exists that the trading system will continue to perform moving forward.