Backtesting FoundationsBeginner· 9 min read· Last reviewed 15 Jun 2026

Common backtesting mistakes

The handful of mistakes that quietly inflate almost every amateur backtest, with a red-flag checklist.

Educational only. Nothing in this note is investment advice, a recommendation, a trading call, a tip, a signal, or a price target. Examples are illustrative — never live market guidance.

Key takeaways

  • Most failed backtests fail in a small number of repeatable ways.
  • Lookahead, survivorship, cost omission, and parameter mining account for almost all of them.
  • A clean equity curve with no out-of-sample window is a warning, not a result.
  • Indian options data has specific pitfalls around liquidity, lot-size changes, and expiry microstructure.

Why most published backtests look good

Backtests fail predictably. They use information the rule could not have had. They ignore costs. They optimise on the same window they report on. They survive only because losing instruments quietly fell out of the dataset. Each of these flaws inflates headline metrics in the same direction — upward — which is why almost every amateur backtest looks attractive.

Once you know the failure modes, you can scan any published study in five minutes and rank how much of the result is method and how much is artefact.

Lookahead bias

Lookahead is the use of information that the rule would not have had at the moment of decision. The textbook case is reading a bar's close to decide an action 'at' that close — in reality the close is the moment the bar ends, and the order goes on the next bar.

Subtler versions include using adjusted prices that fold in future corporate actions, using revised macro data that was not yet published at the historical date, and using indicators whose calculation window includes the current bar when the rule fires intrabar.

Survivorship bias

Survivorship bias arises when the universe used in the backtest is the set of instruments that exist today, instead of the set that existed at each historical point. Delisted stocks, expired contracts, and brands that vanished after a corporate event quietly disappear, biasing the surviving sample upward.

For Indian markets, this also covers index reconstitutions: NIFTY 50 and NIFTY Bank constituents change over time, and using today's constituents to backtest historical signals produces an unrealistic universe.

Cost omission

An honest Indian options backtest models brokerage, STT, exchange transaction charges, SEBI turnover fees, GST on charges, and stamp duty separately, and applies a slippage assumption that scales with strike liquidity and timeframe. Modelling only brokerage is the most common shortcut and the most expensive one — STT alone can flip the sign of a high-turnover study.

Optimisation bias

Optimisation bias appears when parameters are chosen on the same window used to report results. Given enough free parameters, any window can be made to look excellent. The fix is to choose parameters on one window (in-sample) and report on a different window the author has never looked at (out-of-sample), then to disclose both.

Red-flag checklist

When you scan a published backtest, look for: a single equity curve presented as proof, no assumptions section, no slippage model, no out-of-sample window, no parameter-sensitivity panel, no limitations section, and no comparison to a relevant passive benchmark. The more of these are missing, the more likely the headline is artefact.

Common mistakes

  • Lookahead bias: using bar-close data to make a bar-close decision.
  • Survivorship bias: ignoring instruments delisted from the dataset.
  • Optimisation bias: tuning parameters and reporting in the same window.
  • Cost omission: ignoring brokerage, STT, GST, exchange, and SEBI charges.
  • Slippage denial: assuming mid-quote fills on illiquid weekly strikes.
  • Universe drift: using today's index constituents for historical signals.

How this appears in OptionScience reports

OptionScience reports document costs, the execution model, and the data window explicitly, and include a 'What can go wrong' section that the author writes against their own study.

Practical educational example

A learner reports a 70% historical win rate using daily closes, but the entry rule depends on the close itself. In live execution, the decision cannot be made until the bar has closed — so the realistic fill is the next bar's open. Re-running the same rule with that shift collapses the apparent edge.

Checklist

  • Did decisions use only information available before the bar closed?
  • Are all charges modelled, including STT and exchange fees?
  • Are parameters chosen on one window and tested on a different window?
  • Is the universe constant across the backtest period?
  • Is a relevant passive benchmark included for comparison?
Apply the method

Read a full historical study using this discipline.

Browse the Strategy List →
Educational only. Nothing in this note is investment advice, a recommendation, a trading call, a tip, a signal, or a price target. Examples are illustrative — never live market guidance. OptionScience publishes historical research material for independent study. We do not offer investment advice, trading advice, recommendations, signals, calls, tips, or price targets.