backte.st

Survivorship bias: why the markets you choose matter

How testing on today’s winners inflates backtests, why delisted assets disappear from data, and practical ways to choose markets more fairly.

Survivorship bias is what happens when you only look at the things that survived. In backtesting, it usually means testing a strategy on assets that are still around and successful today, while ignoring the ones that went bankrupt, were delisted or faded away.

How it inflates results

Suppose you test a buy-the-dip strategy on today’s largest tech companies over the last ten years. Those companies are on the list because they went up. Many companies that looked similar a decade ago fell, were acquired cheaply or stopped trading, and they aren’t in your test. Of course buying their dips looks good: you picked the ones that recovered.

The same applies to:

Why the data itself hides the problem

Most free price data, including the sources Backte.st uses, provides history for symbols that exist today. Delisted symbols are often simply missing. Backte.st can’t correct for that, so the choice of markets is up to you, and it is worth making deliberately.

Practical ways to reduce it

  1. Choose markets for reasons unrelated to their past returns. For example, broad index ETFs, major currency pairs or the largest crypto pairs, not the best performers you remember.
  2. Include markets that did badly. If a rule only works on winners, it may just be measuring hindsight.
  3. Prefer broad instruments. An index ETF already includes companies that were later removed, up to the point they were removed.
  4. Be suspicious of long lookbacks on hand-picked names.
  5. Test the same rules on several unrelated markets. Backte.st runs up to 10 at once, with a combined view.

Try a mixed set of markets in the lab, including some you would not have chosen, and see whether your strategy still holds up.

Try it in the lab

Build a strategy from indicators, no code needed, run it on a few markets and see this check on your own rules. It’s free and runs in your browser.

Open the lab