An integral part of the development process is to test the trading plan to determine its expectancy – how much money could the system make in a live market? Most of us have seen the warnings posted on various financial websites and literature about how “Past performance is not indicative of future results.” While this is certainly true of trading plans, there are measures you can take to determine if a plan is likely to succeed in the future; namely, backtesting and forward performance testing.
The term backtesting refers to testing a trading system on historical data to see how it would have performed during that time period. Most of today’s trading platforms have robust backtesting capabilities, and you can quickly test ideas without risking the money in your trading account. Backtesting can be used to evaluate simple ideas, such as how a moving average crossover would perform or more complex systems with a variety inputs and triggers.
If necessary, you can hire a qualified programmer to translate an idea into a testable form. A programmer can code the idea using the proprietary language used by your trading platform, integrating user-defined input variables that will allow you to "tweak" the system. For example, a simple moving average crossover system could include inputs for the lengths of the two moving averages used in the system; you could then backtest to determine which lengths would have performed the best on the historical data.
Backtesting can be falsely encouraging because a non-profitable system can be magically transformed into a money making machine with a few optimizations. With enough tweaking, virtually any trading system could show close to 100% profitability, but it wouldn't be realistic.The reality is that tweaking a system to find the greatest level of profitability usually leads to a system that performs poorly in live trading.
Curve fitting involves tweaking or optimizing the system to create the highest percentage of winning trades or the greatest profit on the historical data used in the testing period. Though it makes a system look fantastic in backtesting results, it leads to unreliable systems since the results are essentially custom designed for one time period - in the past. Backtesting and optimizing provide many benefits, but it is only part of the process when evaluating a trading system. The next step is to apply the system to fresh historical data.
In-Sample Versus Out-of-Sample Data
It's beneficial to reserve a period of historical data for testing purposes. The initial historical data that you test and optimize on is known as in-sample data, and the data set that has been reserved is called out-of-sample data. This "clean" set of data is an important part of the evaluation process because it provides a way to test the idea on data that has not influenced the optimization process. This can give you a better idea of how the system will perform in live trading.
Prior to starting any backtesting or optimizing, you can reserve a percentage of historical data for out-of-sample testing. One method is to divide the historical data into thirds and segregate one third for use in the out-of-sample testing. Remember, only the in-sample data should be used for the initial testing and any optimization.
|A timeline representing the relative length of in-sample and out-of-sample data used in the backtesting process.|
Once your trading plan has been evaluated using in-sample data, you can apply it to the out-of-sample data. If there is low correlation between the in-sample and out-of-sample testing, it is likely that the system is over-optimized and will not perform well in live trading. If there is strong correlation, the next phase of evaluation is an additional type of out-of-sample testing known as forward performance testing.
Forward Performance Testing
Forward performance testing, also known as paper trading, provides you with another set of data on which to evaluate your trading plan. Forward performance testing is a simulation of actual trading and involves following your plan's logic in a live market. All trades are executed on “paper” only (i.e., no actual trades are taken), and trade entries and exits are documented along with any profit or loss for the system.
Many brokers provide simulated trading accounts where you can place trades without risking real money. Simulated trading (or “sim trading”) allows you to further test your system, while providing valuable order entry practice. If the system shows positive results with good correlation between in-sample, out-of-sample and forward performance testing, it may be ready to be put in a live market. If it lacks correlation, you'll need to do more research before you put it in a live market.
How To Start Trading: Live Trading Performance
TradingCorrelations between backtesting and forward performance testing results can help you optimize your trading system.
TradingWe offer some tips on this process that can help refine your current trading strategies.
TradingAutomated trading systems minimize emotions, allow for faster order entry, lead to greater consistency and resolve pilot-error problems.
TradingFind out if taking the path less traveled will work in your favor - or against it.