Look-ahead bias is the use of information in a historical test that was not yet available when the simulated decision was made — a company figure read before its publication date, or an order filled at a price not yet printed. The test effectively sees the future, so its results flatter and cannot be repeated with real money.
Also seen as: Lookahead bias, information leakage, peeking
Look-ahead bias is a timing error in the data feeding the decision, not a flaw in the strategy's logic: the same rules, given only what was knowable at the time, would have produced a different and usually far worse result.
How does Fincanva handle it?
A Fincanva backtest replays your strategy's rules in chronological order — a walk-forward replay — so each decision uses only the data available up to that point in history. It runs to the latest available market close and never into the future, so a decision dated in 2015 cannot draw on 2016 data.
That removes the computation's opportunity to look ahead. It cannot remove a rule that reads a figure the market did not yet have on that date, which is why the verb here is reduce, not eliminate.
What causes look-ahead bias in a backtest?
Look-ahead bias appears whenever the date a value is stamped with differs from the date it became public, and the test uses the stamp. The recurring sources are:
- Publication lag on reported fundamentals. A quarterly figure describes a quarter that ended weeks or months before the filing appeared. Attaching that figure to the quarter-end date lets a decision act on it before anyone could have read it.
- Restatements and revisions. Many series are revised after first release. Using the final, revised value as though it had been known on the first-release date imports information that did not exist yet.
- Same-moment execution. Deciding on a day's closing price and then filling at that same day's open, or using a session's high or low before it had printed, gives the fill a price the decision could not have known. Which price a fill uses is set by the execution time.
- Today's membership applied to yesterday. Running a test on the constituents of an index as it stands now over a period when the membership was different mixes look-ahead with survivorship bias.
What happens when earnings are used before they were published?
A screen ranks companies on their latest reported earnings and rebalances on 1 February. Company A's fiscal quarter ended 31 December, but its results were only published on 20 February. A test that files the December figure under 31 December can see it on 1 February and buys on it; a test that files it under 20 February cannot see it yet and buys something else. Repeat that across every filing for ten years and the strategy has enjoyed a three-week head start on every earnings surprise — a systematic advantage no real account had. This is why a filter lag counted in Reports Ago rather than calendar months matters: filings, not the calendar, decide when a figure was knowable. See lag, period, and multiplier for how those units work.
How is look-ahead bias different from the other backtest biases?
Look-ahead bias is about when the information was available; its neighbours are about what you tested and how you read the result. Survivorship bias is a sample missing the names that did not last. Selection bias is a sample chosen with hindsight. Data-snooping bias is many tests with only the winner reported. Overfitting is a strategy shaped so tightly to past data that it captures noise. Data-quality bias is the nearest neighbour of all: a conclusion driven by the stored data itself being wrong, which is where restatements and revisions land when the corrected value is the only one you have. A test can be entirely free of look-ahead bias and still suffer every one of the others.