Key takeaways
- Lookahead is the use of information not yet available at the moment of decision.
- It is the single most common reason a great-looking backtest fails in paper trading.
- Adjusted prices, revised macro data, and same-bar close decisions are the usual culprits.
- A written execution model is the simplest defence.
What lookahead actually means
Lookahead bias is the use of information in a backtest that the rule would not have had at the moment of decision. It is rarely intentional. It usually slips in because the dataset and the rule sit in the same code, and it is easy to forget that the historical row containing today's close was not actually available at the start of today.
The result is a backtest that looks excellent and disintegrates the moment the rule is run forward. The metric inflation is large because the rule is, in effect, cheating — looking at the answer key before answering the question.
The four classic sources
Same-bar close decisions: a rule reads 'enter when today's close is above a moving average'. The decision is recorded as if executed at today's close, but at the close, the order has not yet been placed. The realistic fill is the next bar.
Daily high or low as an input: using today's high or low to decide an entry on today ignores the fact that the high and low are only known at the end of the day.
Adjusted price series: dividend- and split-adjusted series fold future corporate actions into past prices. A rule that compares today's adjusted close to a historical adjusted close is using future information about adjustments.
Revised macro and reference data: many official data series are revised. A backtest that uses the revised value as if it were the value known at the time is using future information.
Options-specific lookahead
Options data introduces its own variants. Settlement prices are stamped end-of-day and may not match any tradeable print during the day. Greeks computed from end-of-day implied volatility may not match the intraday surface. Option chain snapshots taken at the close are not what was visible at the decision moment if the decision was supposed to be intraday.
In Indian markets, weekly expiry contracts can also be subject to special settlement conventions on expiry day; reading the settlement value as a tradeable fill is a lookahead in disguise.
Prevention
The simplest defence is a written execution model. The model says exactly when the rule fires, what information it can read at that moment, and when the simulated fill is recorded. With the model written down, any reader can audit whether the rule respects it.
Practical hygiene: shift indicator inputs by one bar relative to the decision; use unadjusted prices for the decision and apply adjustments only to performance accounting; record macro inputs by publication timestamp, not by date.
Common mistakes
- Using close-of-bar values to decide entry on the same bar.
- Using adjusted prices that fold in future corporate actions.
- Using settlement values as if they were tradeable intraday prints.
- Using revised macro data as if it were available at the original publication.
How this appears in OptionScience reports
Each OptionScience report states the execution model explicitly — typically 'signal at bar close, fill at next available print' — so readers can spot lookahead instantly.
Practical educational example
Checklist
- Is the execution model written down?
- Are indicator inputs shifted by one bar relative to the decision?
- Are adjusted prices used carefully, with the adjustment date noted?
- Are macro and reference inputs recorded by publication time?
