Backtesting Pitfalls: 7 Ways Your Backtest Lies to You
Your backtest shows 80% win rate and a Sharpe ratio of 2.5. Sounds great — but it is almost certainly wrong. Here are the 7 ways your backtest deceives you, and how to fix each one.
1. No Slippage Modelled
Most backtests assume you get filled at the exact price you want. In reality, market orders fill at the best available price — which is often worse than expected. On a 2-pip stop, 0.5 pips of slippage per side eats 25% of your risk budget.
Fix: Add 0.5-1 pip of slippage to every entry and exit in your backtest. If your strategy still looks profitable with slippage, it is more likely to work live.
2. Static Spreads
Backtests typically use a fixed spread (e.g., 1.5 pips for EUR/USD). But live spreads fluctuate — 0.8 pips during London/NY overlap, 3+ pips during Asian session, and 10-20 pips during news events. If your strategy trades during volatile periods, real spreads will be much wider than your backtest assumes.
Fix: Use the maximum spread from the past 30 days for your instrument, not the average. Or better: use tick data with variable spreads.
3. Perfect Execution (No Hesitation)
In a backtest, every signal is executed instantly. In live trading, you hesitate. You second-guess the signal. You wait for confirmation. You are on the toilet when the signal fires. Studies show retail traders miss 15-30% of backtested signals in live trading.
Fix: Reduce your backtest win rate by 15% to account for missed signals. If the strategy still looks profitable, it is more likely to survive live execution.
4. Survivorship Bias
If your backtest includes only instruments that still exist today, you are suffering from survivorship bias. Companies that went bankrupt, delisted instruments, or discontinued CFDs are not in your data. Your strategy looks profitable because the losers were removed from the dataset.
Fix: Include delisted instruments in your backtest if possible. For CFD traders, this is less of an issue than for stock traders, but still matters for instruments that were discontinued.
5. Curve-Fitting (Over-optimisation)
If you optimise 10 parameters across 100 combinations and pick the best result, you have almost certainly curve-fit. The strategy works perfectly on historical data but fails in live trading because the parameters were fitted to noise, not signal.
Fix: Use walk-forward analysis: optimise on 70% of data, test on the remaining 30%. If the strategy performs similarly on both, it is robust. If performance drops significantly, it is curve-fit. Also: use fewer parameters. Each additional parameter doubles your risk of overfitting.
6. No News Spread Widening
During major news releases (NFP, CPI, central bank decisions), spreads can widen to 10-20x normal. Your backtest does not account for this unless you specifically model it. A strategy that trades frequently during news events will have much higher costs than backtested.
Fix: Add a news filter to your backtest that widens spreads by 5-10x during high-impact events. Or simply exclude trades within 30 minutes of major releases.
7. Instrument Selection Bias
You chose to backtest EUR/USD because it is the most liquid pair. But you chose it because you already know it trends well — which means your strategy is more likely to look good on it. If you tested 20 currency pairs and only reported the 3 that looked profitable, you are guilty of selection bias.
Fix: Test your strategy on ALL instruments you intend to trade, not just the ones where it looks good. Report all results, not just the winners. If the strategy works on 15 out of 20 instruments, it is robust. If it only works on 3, it is curve-fit.
The Honest Backtest
An honest backtest includes slippage, variable spreads, missed signals, and walk-forward validation. It will show worse results than a naive backtest — but those results are achievable in live trading. A naive backtest showing 80% win rate is a fantasy. An honest backtest showing 55% win rate with positive expectancy is a real edge.
The goal of backtesting is not to find the strategy that looks best on historical data. It is to find the strategy most likely to survive in live trading. Those are two very different things.
Disclaimer: CFDs are complex instruments and come with a high risk of losing money rapidly due to leverage. 70-80% of retail investor accounts lose money when trading CFDs. Backtesting does not guarantee future results. Always consider whether you can afford the potential loss of your capital.