AutomateWorkflows
All articles
Sep 27, 20267 min read

What Backtesting Actually Tells You (and What It Hides)

A clean backtest is not evidence of future returns. Here's how to read one honestly — and which failure modes almost always slip through.

BacktestingStrategyRisk

Every trader who writes a bot eventually sees a beautiful equity curve on their screen. Smooth, up and to the right, drawdowns under 5%, Sharpe above 2. It feels like proof. It usually isn't. A backtest is a model of your strategy against the past — nothing more. Treating it as a forecast is one of the fastest ways to lose money.

What a backtest can tell you

  • Whether your rules can be expressed precisely enough to run on data at all.
  • Rough magnitudes: typical trade duration, number of trades per month, approximate win rate.
  • Behavior across regimes — how the strategy would have handled 2020, 2022, or a sideways year.
  • Whether the edge survives small perturbations in parameters, or vanishes the moment you nudge a threshold.

What it quietly hides

The gap between a backtest and live trading is where most strategies die. These are the usual suspects:

Look-ahead bias

Using information in a bar that you wouldn't actually have had when the bar opened — a close price to decide an open, a next-day high to decide today's exit. This is almost always accidental and almost always inflates returns.

Survivorship bias

Backtesting on the current index constituents instead of the historical ones. The companies that failed are gone from your dataset, so your strategy only ever buys winners.

Slippage and fees

A model that assumes you fill at the exact close price is a model of a world that doesn't exist. Add realistic slippage, commissions and funding costs. If the edge disappears, it was never there.

Overfitting

Tuning parameters until the curve looks great on in-sample data. Any sufficiently flexible strategy can be made to look brilliant on history. The honest test is out-of-sample performance on data the strategy has never seen.

How to run a backtest you can trust

  • Split your data: train on the first 70%, hold out the rest and only touch it once.
  • Always include a cost model — fees, slippage, borrow costs where relevant.
  • Report drawdowns, not just returns. A 60% drawdown is a career-ender even if the CAGR looks great.
  • Walk forward. Re-fit periodically on expanding windows to see whether the edge decays.
  • Compare against a dumb benchmark. If your strategy underperforms buy-and-hold after costs, it is not an edge.
A backtest is a hypothesis, not a conclusion. Live trading is the experiment.

The honest takeaway

A clean backtest moves a strategy from 'maybe' to 'worth paper trading'. Nothing more. The real test is a few months on a testnet or in a small live account, with the same cost assumptions you backtested with. If the live equity curve roughly matches the backtest shape — not the numbers, the shape — you have something worth scaling. If it doesn't, you have a lesson, which is still better than a loss.

Workshop

Build the real thing.

Articles help with the ideas. The live workshop walks you through building, backtesting and deploying a bot end-to-end.

Join the workshop