Backtesting basics
How backtests work, why they over-promise, and how to read one critically.
A backtest replays a strategy against historical data and reports what would have happened. It is the cheapest, fastest way to falsify an idea — and the easiest way to fool yourself.
A clean backtest has three properties: it uses only data the strategy could plausibly have known at the time (no look-ahead bias), it reflects realistic execution (spreads, slippage, partial fills), and it is evaluated on a period the model never saw during development (out-of-sample).
Most marketing-grade backtests fail at least one of those tests. The most common offences are over-fitting (the model is tuned until it looks brilliant on the same data it was fitted to), survivorship bias (the universe excludes assets that delisted or collapsed), and zero-cost execution (no spread, no commission, no slippage).
When you read a backtest, glance past the equity curve and look at four numbers: the maximum drawdown, the longest losing streak, the Sharpe ratio (or Sortino), and the trade count. A strategy with a 30% drawdown and 20 trades over five years has barely been tested. Statistical confidence requires hundreds of trades — and even then, market conditions change.
A strong workflow runs three layers: in-sample fitting on the oldest data, out-of-sample validation on a middle slice, and a final walk-forward test that re-fits the model on a rolling window before stepping forward in time. Anything weaker risks producing a beautiful curve that has no predictive value.
The hardest discipline is killing a beloved strategy. If your backtest only looks good on one parameter set, it is not a strategy — it is a coincidence.
Quick self-check
1. Look-ahead bias means…
2. Which is the strongest validation?
3. A 20-trade backtest is…
