- Home
- Community
- Experienced Traders
- Why Backtests Fail Live (3 things beginners underestimate)
Why Backtests Fail Live (3 things beginners underestimate)
A backtest can look profitable and still fail the moment you go live. Most of the time it’s not the “strategy idea” — it’s the gap between a clean simulation and messy execution + changing market conditions.
Here are the three biggest reasons.
1) Costs — the invisible taxBacktests often understate real trading friction.
What gets simplified or ignored:
spreads (often widen during the worst moments)commissions / feesslippageimperfect fillsIf your edge is small (most are), costs can erase it completely.
Practical check
Compare gross vs net equity.If net performance collapses, the edge was never robust.[Insert image: Gross vs Net / friction chart]
2) Overfitting — “winning the past”With enough tweaking, almost any ruleset can be made to fit history.
Common pattern:
strong performance during the tuned period (in-sample)performance drops hard when conditions change (out-of-sample)Practical check
Always include a clean out-of-sample segment (or walk-forward).Watch for “optimization decay” after the point you optimized.[Insert image: In-sample vs Out-of-sample / optimization decay chart]
3) Regimes — conditional edgesMarkets rotate through regimes (trend, range, volatility, liquidity). A strategy can work for months and then do nothing for weeks — because the conditions it relies on are gone.
Practical check
Track performance in rolling windows (30D / 90D / 12M).Ask “when does it work?” not just “does it work?”[Insert image: Regime shift / same rules different outcome]
Quick checklist before you trust a backtestnet results (fees/spreads/slippage included)out-of-sample validationrolling stability (not one lucky stretch)drawdown path (not only Sharpe/avg return)regime sensitivity



This is a good breakdown. One thing that’s helped me is treating a backtest as a rough filter, not a green light, and then forward testing slowly with small size. How a system behaves when you’re not watching every tick usually tells you more than any extra round of optimization.