This post will provide an insight into the concept of testing a trading strategy. It will also explain how you can avoid the common pitfalls of curve fitting, which can have a devastating impact on your trading account if left unchecked.
Many of my students will remember me advocating the process of back-testing. This is to ensure the profitability of a trading strategy before you waste time turning it into something traded on your live account.
The process involves looking back over historical price moves and determining whether or not your trading strategy would have profited from the moves that occurred.
To conduct back-testing effectively, you must have firm rules for your strategy. These rules should include stop loss placement, a clear trade management process and exit rules which you can follow easily. By having these things decided before you start back-testing, you can clearly see the results that they generate based on historical data.
This is the best way of determining the true performance of a past strategy.
Curve fitting is a similar process to back-testing, but one that produces the opposite effect. Instead of saving time and giving a clear picture of the strategy’s true performance over the recent past, curve fitting provides false information, which is almost always positive. This causes traders to mistakenly pursue the system further, wasting time and money in the process.
So how does curve fitting do this?
The basic premise of this trap is that the trader bases the system around the past price action, rather than basing it around a familiar concept. This causes the system to be optimised based on those historical moves. Thus, it gives near perfect performance. The problem with this is that those past moves will probably never again happen in quite the same way, nor at the same time or in the same order. This is because price moves are random occurrences caused by traders and institutions reacting to individual events.
Of course, the price will always go up and down and sometimes range from side to side. However, the manner and timing of these events are all random and unique.
Therefore, you need a trading strategy that is robust and flexible enough to catch these moves, whilst allowing for the unique nature of each one as it occurs. If you over-optimize based on the past, your strategy will very quickly become redundant. And this usually happens just when you are about to take trades using real money!
The next time you analyse how a strategy performs on historical data, ask yourself the following question:
Does the system fit to make the results better on that data or are you simply creating a method and then testing it on random data as it plays out?
The results of the latter will almost certainly be poorer in terms of performance. But they will also be much more reliable and something you can depend on during a live market environment.
Another great tactic is to partially back-test and then partially forward-test. Manually take the trades on live price action as you would when trading it on a real account.
The results from both of these endeavors should roughly match. At this point, you will know that you have found something that works!
P.S. If you want to learn more about how I trade, check out the link below: