Backtest overfitting explained
Updated November 9, 2026 · SignalPoint
A backtest is overfit when its rules have been shaped to the particular history it was tested on, so that it captures that history's noise rather than a pattern that will repeat. Overfit backtests look excellent and then fall apart in live trading, and they are the norm, not the exception.
How it happens (usually without anyone intending it)
- Parameter search. You try 10-, 20- and 50-day lookbacks, three stop levels and two filters: 18 combinations. The best of 18 random strategies will usually look profitable on its own history.
- Iterating on the same data. Every time you look at the result, change something and re-run, you use up some of the data's ability to surprise you. After enough rounds, the "out-of-sample" period isn't out of sample any more.
- Adding rules to remove bad trades. "Skip Mondays", "avoid this stock": each rule fixes past losses that may simply have been bad luck.
- Look-ahead bias. Using information not available at decision time: a day's close to decide a trade at that day's open, revised data, or today's index members tested over the past (survivorship bias).
Warning signs
- The Sharpe ratio or win rate is far better than credible published strategies.
- Performance depends on a narrow parameter value; neighbours of the best setting perform much worse.
- A few trades produce most of the profit.
- The equity curve is smoothest in exactly the period you spent the most time tuning on.
- You can't say how many variants you tried.
Practical defences
- Count your trials. Write down every variant you test. Then demand more evidence from the winner: a multiple-testing adjustment, or the deflated Sharpe ratio (Bailey and López de Prado), which discounts a Sharpe ratio for the number of trials and for non-normal returns.
- Hold data back and touch it once. Reserve a final period before you start, and test on it only when the rules are frozen. If it disappoints, resist "fixing" the strategy and re-testing on the same period.
- Walk forward. Re-fit parameters on a rolling window and trade the next unseen window, so every result comes from data the rules hadn't seen.
- Prefer robust over optimal. Pick parameters from a broad plateau of decent results rather than the single best point.
- Compare against random. If randomly chosen entries with the same holding period and exposure do about as well, the rules aren't adding much.
- Paper-trade with real timing. Execute exactly as the rules say, at the prices you'd really get, and compare to the backtest over the same dates.
The honest default
Treat any backtest as an upper bound. The more you searched, the bigger the gap between it and live results should be expected to be. A strategy that still looks reasonable after counting trials, adding costs and dropping its best trades is worth further paper testing; one that doesn't was probably fitted to noise.
SignalPoint Strategy Audit applies a multiple-testing adjustment for the number of variants you report, and labels tests the data can't support (such as look-ahead review without strategy code) as "not run". It is a statistical review, not investment advice.