Biases in Backtesting
9 min read
Avoid survivorship bias, overfitting, and lookahead bias that make backtest results lie to you before you go live.
9 min read
Avoid survivorship bias, overfitting, and lookahead bias that make backtest results lie to you before you go live.
Your backtest results might be lying to you — here’s how to spot it and fix it before going live.
Backtesting is critical.
But bad backtesting?
It’s worse than no testing at all — because it gives you false confidence.
Most traders don’t lose because they’re lazy. They lose because they over-trusted a strategy that looked great in hindsight — but was built on invisible flaws.
This post exposes the most dangerous backtest biases and shows you how to eliminate them.
Using future information that wasn’t actually available at the time of trade.
Examples:
Why it's dangerous: Your entries and exits appear “accurate,” but they’re unrealistically perfect — because you’re cheating time.
How to fix it:
Creating a strategy that performs well only on past data — but fails in real-time.
Symptoms:
Why it's dangerous: You’re not discovering an edge — you’re memorizing noise.
How to fix it:
Only testing systems or assets that still exist — ignoring those that failed or changed drastically.
Examples:
Why it’s dangerous: You’re assuming the conditions that created your edge will always exist.
How to fix it:
| Bias Type | Description | Fix |
|---|---|---|
| Selection bias | Only testing your “favorite” trades | Include every trade in your data sample |
| Cherry picking | Manually excluding ugly outcomes | Log every result, good or bad |
| Optimism bias | Assuming you’ll always get filled at ideal prices | Simulate slippage and order book depth realistically |
| Anchoring bias | Refusing to retest or abandon old systems | Let data guide decisions, not nostalgia |
“A system is only as good as its worst assumption.”
Fewer moving parts = less overfitting risk The simpler it is, the easier it is to test, improve, and trust
Most failed traders didn’t skip testing. They trusted flawed testing.
Your system’s performance is only as reliable as the integrity of your backtest.
Don’t fall in love with the curve. Fall in love with clean process, honest data, and stress-tested logic.