Periscøpe
// Guide

Look-ahead bias and survivorship bias in backtests

Two biases that quietly inflate backtest results, using future data, and testing only on survivors. What they are, how they sneak in, and how to avoid them.

June 19, 2026

Two of the most damaging backtesting biases are damaging precisely because they make results better. You won’t go looking for a bug that boosted your returns, which is exactly why look-ahead and survivorship bias survive in so many backtests.

Look-ahead bias

Look-ahead bias is using information the strategy could not have known at the moment it acted.

It sneaks in through:

  • Same-bar peeking. Acting on a bar’s close while assuming you traded at its open, or using the close to decide a trade that supposedly happened earlier in the bar.
  • Full-series computation. Calculating an indicator, a normalization, or a signal across the entire dataset at once, so each point implicitly “sees” the future.
  • Careless joins. Merging data, fundamentals, news, corporate actions, by date without respecting when it was actually available.

The result is a strategy that performed beautifully on data it secretly had advance knowledge of, and that falls apart live where the future is genuinely unknown.

How to avoid it: compute signals using only data available up to the decision point, be precise about which price you could actually have traded at, and prefer an event-driven engine, it hands the strategy events in sequence, so future data simply isn’t available to peek at.

Survivorship bias

Survivorship bias is testing only on instruments that still exist today.

Stocks that went to zero, got delisted, or were acquired drop out of a naive dataset. A strategy backtested only on today’s survivors never has to face those failures, so it looks safer and more profitable than it would have been in real time, when you couldn’t have known which names would survive.

It shows up most in:

  • Equity universes built from today’s index membership applied to the past.
  • “Buy the dip” style logic that looks brilliant when the only companies in the data are the ones that recovered.

How to avoid it: use data that includes delisted and dead instruments, and build your historical universe from what was actually tradable at the time, not from today’s roster.

Why these matter together

Both biases push results in the same direction, up, and both are invisible unless you look for them. A strategy can clear every other check and still be a mirage built on future knowledge or a survivor-only universe. Treat a too-good backtest as a prompt to audit for these two before anything else.

How Periscøpe helps

Periscøpe’s backtester is event-driven: the strategy reacts to market events one at a time and is never handed data from the future, which removes the most common sources of look-ahead bias by construction. Survivorship bias is a property of your data and universe selection, so it stays your responsibility, but the diagnostics let you inspect exactly which instruments and events drove a result, so a suspiciously clean backtest is easier to interrogate.

Related
// Access

Run one strategy through Periscøpe.

We onboard in focused cohorts. Tell us what you trade and how you work. Live access is rolled out to select users on request.

We only use your email to contact you about access.

Read the docs →