Backtesting


Backtesting is a process of looking for trading ideas and testing their profitability using historical data. It's one of the most controversial topics between traders.

Pro-backtesters are confident that it's the only way to become a constistently profitable trader. Without testing an idea for a long enough period of time you can't be sure that it's actually profitable.

Anti-backtesters are sure that nothing can replace testing an idea using real-time market. They don't believe that past results may be of any value. They also don't believe in automated trading.

Let's look for a middle ground here

On one side, backtesting may be really helpful. Not when you are looking for ideas, but when you need to filter out those of them that are total failures. Even if you have a bullet-proof idea, it's always a good idea to test it on historical data before risking your time and money.

On the other side, backtesting results must not be used as a call to action. There is always a risk of curve fitting - trying to adjust trading system parameters to perfectly fit historical data. The better results you get in the past, the more you will be disappointed in the future.

What is a good indication of a curve-fitted trading system? It's too complex, it has plenty of exact parameters, "magic" numbers and a growing number of rules and exceptions.

For the same reason backtesting must not be a source of trading ideas. Trying to use the same data set to both generate trading ideas and test them is a recipe for a disaster.

What is the main reason of automated trading failures?

It's because you can't outsmart the crowd. Thousands of people look at the same data at the same moment, hundreds of them dedicated their whole life to this subject. The competition between quants is so huge that any statistically significant models get immediately killed by the crowd of robots.

How to look for trading ideas, anyway?

Market is a crowd of live humans, in the first place. Independent of automated trading development progress, they take into it account and mimick live humans as well. Emotional patterns are eternal.

So, if we are talking about looking for trading ideas, we should look at human psychology first. Best traders use really simple and straightforward systems. The easier is the system, the more obvious is the trading setup, the more people notice it and act accordingly.

We should follow the crowd, not oppose it. We should look for the most popular and discussed trading ideas, test and polish their execution using historical data, then try them live using demo account.

It's always better to focus on a single trading system, getting the most out of it. Polish it until perfection, then continue to use and polish it until the end. Jumping from one idea to the other is the shortest way to getting broke.

So, why do we need backtesting if it doesn't give new trading ideas and doesn't guarantee any results?

The most valuable asset is time, not money

Backtesting enables you to speed up testing of any idea, especially if it runs on a high-level time frame. The same process that takes several months of demo account time will take you just 5-10 minutes when using the right tool.

Speed doesn't only save time, it also enables you to earn experience much faster. Nothing beats screen time, it's true. If some system gives you just a single entry per week, you will get only 4 setups per month. It's clearly not enough to test or even make any assumptions.

Using simulated trading, you can make thousands of trades in a single month, testing and polishing dozens of ideas. Yes, backtesting has plenty of drawbacks, but it's still the fastest way to earn experience.