Why your backtest works but live trading doesn’t: 7 causes and how to check each
A backtest gets every fill it asks for and is judged on the history it was built on. Here are the seven gaps between a backtest and the live market, the sign of each, and a quick way to check yours.
Key takeaways
- Many backtests that fail live were let down by the test, not the market: costs, fills, or information the backtest couldn’t have had at the time.
- Costs hit strategies with small stops hardest. The same 2 ticks can be a quarter of the risk on a scalp and a small share on a swing trade.
- If live trading shows no edge at all, rather than a smaller one, suspect look-ahead bias or overfitting first.
- Comparing your live trades with the backtest’s trades on the same days shows exactly where the two split.
A strategy that backtests well and then loses money live has usually been let down by a gap between the test and the real market. The usual gaps are costs and fills the backtest assumed away, information it couldn’t have known yet, an edge that was really luck, too few trades, a market that changed, or live trading that doesn’t follow the tested rules. Find the gap that hit yours and you’ll know whether to fix the test or drop the idea.
This guide covers the seven usual causes, the sign of each one, and a quick test you can run on your own backtest.
Why do so many profitable backtests fail in live trading?
Profitable backtests often fail live because a backtest is a simulation, and simulations are kinder than real markets. A backtest gets every fill it asks for, pays only the costs you give it, and is judged on the same history it was tuned on, so luck can pass for an edge. Live trading takes all three advantages away at once.
Research on real strategies shows how big the gap can be. In a 2016 study of 888 trading algorithms by Wiecki and colleagues, the backtest’s Sharpe ratio explained less than 2.5% of the variation in how the algorithms did on new data. (The Sharpe ratio is a common measure of return for the risk taken.) The same study found that the more backtests a developer ran on a strategy, the bigger the gap between the backtest and new data. In a 2017 study of 215 strategies marketed to investors, Suhonen, Lennkh and Perez found that the median strategy’s Sharpe ratio was 73% lower live than in its backtest. The most complex strategies fell further than the simplest ones.
Some gap is normal. The question is whether your edge survives it.
The 7 causes, and how to check each
The first three are problems with the test itself, so check them before you judge the strategy.
1. Costs the backtest left out
Commissions and fees and slippage, the gap between the price you expected and the price you got, are paid on every trade. A backtest that leaves them out, or sets them too low, overstates every single trade.
- The sign: live trades look like the backtest’s trades, just a little worse each time, and the damage grows with how often you trade.
- Quick test: re-run the backtest with realistic costs, then again with double. If the profit disappears, costs are your answer.
If you’ve already traded it live, measure your real slippage: the average gap between each live fill and the price the backtest used for the same trade. Costs hit some strategies far harder than others, as the arithmetic further down shows.
2. Fills that couldn’t have happened
Many backtests assume every order fills at the price on the chart. Real markets are less generous.
- Limit orders. Price touching your limit doesn’t mean you were filled, because other orders were in line ahead of yours. A backtest that fills on every touch keeps the trades you were most likely to miss: the ones where price tagged your level and turned straight in your favor.
- Stop and target in the same bar. A price bar records only its open, high, low and close, not whether the high or the low came first. If one bar reached both your stop and your target, the backtest has to guess which came first, and some backtests assume the win.
- Fast markets. Stop orders can fill well past their price when the market jumps, such as around news or at the open.
- The sign: a strategy with a high win rate or tight targets wins noticeably less often live.
- Quick test: fill limit orders only when price trades through them, assume the stop came first whenever one bar hit both, and see what’s left. Re-running on a shorter time frame shows the order within a bar more clearly.
3. Look-ahead bias
Look-ahead bias means the backtest used information it couldn’t have had at the time. Examples include using a bar’s close to decide an entry at that bar’s open, or the day’s high before the day was over. On charting platforms, a common version is an indicator that repaints, changing its past values once later bars arrive, or a higher-time-frame value read before that bar has closed. It’s often a small slip in the rules or the code, and it can make almost any idea look brilliant.
- The sign: results that look too good to be true, such as a very high win rate or a smooth equity curve with few losing weeks. Live, the edge is gone, not just smaller.
- Quick test: for every rule, ask “could I have known this at the moment of the trade?” Then delay every entry by one bar and re-run. If the edge came from peeking at the same bar, it usually collapses, while a real edge usually weakens a little. This won’t catch information from further ahead, such as the day’s high, so the “could I have known this?” question still matters.
4. Overfitting and luck
The strategy was tuned until it fit the noise in its history, or it was simply the luckiest of many versions. It fits the past because it was fitted to the past.
- The sign: live results look like random noise around zero. No edge, rather than a smaller one.
- Quick test: count how many versions you tried, and test the final version on data it never saw. Our guide on how to tell if your backtest is overfit walks through six checks.
5. Too few trades
A backtest of 40 trades can look brilliant by chance. As live trading adds more trades, the average drifts back toward what the strategy is really worth, and that may be nothing.
- The sign: a short backtest or a strategy that rarely trades, followed by live results that look ordinary.
- Quick test: work out how many trades your edge needs to stand out from luck with the calculator in our guide to how many trades a backtest needs.
6. The market changed
Every strategy depends on how the market behaves: how volatile it is, whether it trends or chops, how busy it is. A strategy built in one kind of market can stop working when that changes. Edges can also fade as more traders find them. In a 2016 study of 97 published patterns that predicted stock returns, McLean and Pontiff found returns were 58% lower once the research was published. Returns were already 26% lower before publication, a drop the authors treat as at most the original results fitting noise. They put the rest of the fall down to investors trading on the published findings.
- The sign: the strategy worked for years in the backtest, then stopped around a clear change in market conditions.
- Quick test: split the backtest by period and by conditions, such as calm against volatile and trending against choppy. If it only made money in one kind of market, ask whether that’s the market you’re trading now.
7. Live isn’t traded the way it was tested
The backtest takes every signal, on time, with exactly the same settings. Live trading often doesn’t:
- Skipped or late trades, especially after a few losses, for anyone trading by hand.
- Different data, such as regular trading hours in the test and the overnight session live, or a different time zone. Futures add another trap: a continuous contract, the long price history made by joining each expiring contract to the next, can be stitched together differently around rollovers.
- A different setting or rule between the tested version and the live one, or a bug in either.
Any one of these can turn a working strategy into a losing one.
- The sign: individual live trades don’t match what the backtest says it would have done on the same days.
- Quick test: run the backtest over the exact period you traded live and compare it trade by trade. Every mismatch points to its cause.
How costs eat an edge: the arithmetic
Costs are easiest to compare in R, the amount you risk on each trade (the distance to your stop). The same cost in ticks is a big share of a small stop and a tiny share of a large one.
Say three strategies each average +0.15R per trade before costs, and each pays 2 ticks per round trip in slippage and fees:
| Strategy | Risk per trade | Costs per round trip | Costs in R | Average per trade after costs |
|---|---|---|---|---|
| Scalp | 8 ticks | 2 ticks | 0.25R | −0.10R |
| Day trade | 20 ticks | 2 ticks | 0.10R | +0.05R |
| Swing trade | 80 ticks | 2 ticks | 0.025R | +0.125R |
Before costs, all three look equally good. After costs, the scalp loses money, the day trade keeps a third of its edge, and the swing trade keeps most of its edge.
A smaller edge is also harder to prove. Costs lower every trade by the same amount, so they shrink the edge without shrinking how much trades swing. An edge a third the size needs about nine times as many trades to stand out from luck. That’s why a strategy can look convincing before costs and unproven after them.
The 2 ticks is an example, not a quote. Your own costs depend on the market, your broker, the time of day and how you enter and exit.
Which cause is yours? Match what you see live
Find what you see live in the left column, then start with that check. Each cause links to its section above.
| What you see live | Most likely cause | Check first |
|---|---|---|
| Every trade a little worse than the backtest | Costs | Re-run with realistic costs, then double |
| Fewer winners, especially small, quick ones | Fills | Fill limits only when price trades through; stop first in a bar that hit both |
| No edge at all, after a backtest that looked too good | Look-ahead bias | Delay entries by one bar |
| No edge at all, after trying many versions | Overfitting or luck | Count versions; test on data the strategy never saw |
| Ordinary results after a short backtest | Too few trades | The trades calculator |
| Worked for years, then stopped | The market changed | Split results by period and conditions |
| Live trades differ from the backtest’s on the same days | Live not traded as tested | Compare trade by trade |
What to do once you’ve found it
- If the gap is in the test (costs, fills or look-ahead), fix the test and re-run it. If the edge survives realistic costs and fills, check it on data it hasn’t seen, or forward test it without changes.
- If the edge doesn’t survive, you’ve found out on history instead of with real money. Resist tweaking it until it survives again, because that’s how the next overfit strategy gets built.
- If you can’t tell yet, because there aren’t enough trades, say so and keep collecting evidence without changing the rules.
- Before calling a live losing stretch a failure, compare it with the worst losing stretches in the backtest after costs. Real edges have bad weeks too.
Kwaant is built to catch several of these gaps on history, before money is at risk. It counts every version you try, and when there aren’t enough trades to separate an edge from luck, its report says “Can’t tell yet” instead of guessing.
Sources and further reading
- Wiecki, Campbell, Lent and Stauth, All that Glitters Is Not Gold: Comparing Backtest and Out-of-Sample Performance on a Large Cohort of Trading Algorithms (Journal of Investing, 2016)
- Suhonen, Lennkh and Perez, Quantifying Backtest Overfitting in Alternative Beta Strategies (Journal of Portfolio Management, 2017)
- McLean and Pontiff, Does Academic Research Destroy Stock Return Predictability? (Journal of Finance, 2016)
Questions people ask
Why do backtested strategies fail live? What’s the most common culprit?
We don’t know of any study that ranks the causes for individual traders. Two large studies of backtests against later results both point at overfitting: the more backtests run on a strategy and the more complex it is, the bigger the gap. Costs, slippage and fills are the cheapest to check, though, so start there, then look at look-ahead bias, overfitting and too few trades.
Should live results match the backtest?
Not exactly. Costs, fills and timing always differ a little. What should match is the character: a similar win rate, a similar average trade after costs, and losing stretches no worse than the backtest’s. If those are far off, one of the seven causes is at work.
How much worse than the backtest is normal?
There’s no fixed number, but some drop is normal. In a 2017 study of 215 strategies marketed to investors, the typical strategy’s Sharpe ratio (return for the risk taken) was 73% lower live than in its backtest. A backtest that already includes realistic costs and fills, and was checked on data it never saw, has less room to fall.
Can a strategy that lost money live still have an edge?
Yes. A few weeks of live trading is a small sample, and real edges have losing stretches too. Compare the live losses with the worst stretches in the backtest after costs, and check that the live trades match the backtest’s. If both hold up, it may be a normal drawdown.
Is it my psychology or my strategy?
Compare your live trades with the backtest’s trades over the same days. If you skipped signals or exited early, the gap is in the execution, and the strategy may be fine. If you took every trade as tested and still lost, look at the strategy and the test.
General education about testing strategies, not investment advice. Figures are computer-drawn illustrations, not real market data.