Learn › Survivorship bias in backtesting
Survivorship bias in backtesting happens when a test includes only the stocks that still exist, or are still in an index, today. The companies that failed, were taken over or were removed drop out of the test, so a strategy can look better than it would have on the stocks available at the time.
The usual illustration comes from the Second World War, in the form it is often retold. Engineers studied the bullet holes on bombers that came back and proposed armouring the places with the most holes. The statistician Abraham Wald pointed out that those were the places a plane could be hit and still return; the planes hit elsewhere had not come back to be counted.
A stock backtest has the same problem when it starts from today’s list of companies. Every company on that list survived the period being tested. The ones that went bankrupt, were taken over at a low price or shrank out of the index are not on it, so the test never meets them.
From September 2006 to September 2026, 885 tickers were in the S&P 500 at some point (a ticker is a list entry: a renamed company or a second share class counts separately, so there were fewer companies). 382 of them were no longer in it at the end. Over the same years there were 415 removals, more than 382, because a ticker can leave more than once, including ones that later returned. Some are the same company under a new ticker; the rest were taken over, merged, demoted to a smaller index or failed. A test that uses only the 503 tickers in the latest list leaves all of them out. (Our moving-average and RSI studies use 483 of those 503: the ones with usable data that passed the studies' screens.)
8 ticker entries in the list end in Q, the suffix US markets have given the shares of many companies in bankruptcy proceedings (not every bankrupt company gets one). The list records them under that later ticker: most of these companies had already left the index when they filed. Among them are Lehman Brothers, Washington Mutual and the old General Motors.
It also hides a quieter effect. Today’s index includes companies that joined after years of growth. A test that holds them from the start buys future winners before they were large enough to qualify, a form of look-ahead bias.
Our study that reruns a moving-average backtest and an RSI dip-buying backtest on the S&P 500 as it was at each date, delisted companies included, is in preparation.
Testing a strategy only on the companies that exist, or are in an index, today. The companies that failed, were taken over or were removed are left out, so the test sees a history with fewer disasters than the real one.
It can make a strategy look better than it was. A rule that buys falling stocks never meets the falls that ended in bankruptcy, and a test of buying and holding today’s members excludes the companies that failed along the way.
Not always. It removes the worst outcomes, which flatters rules that would have held those stocks. A rule that sells a falling stock early may be affected differently, because the stocks it would have sold before a collapse are also missing.
Test on the stocks that were in the index at each date (point-in-time membership), with price data for the companies that later left, and decide in advance what happens to a position when its stock is delisted.
The list of stocks a strategy could actually have chosen from on each date: for the S&P 500, the members on that day. A stock enters the test when it joins the index and leaves when it is removed.
They are related. Survivorship bias is the selection problem: the failures are missing. Choosing the historical universe from today’s index members also brings in look-ahead information: the test knows which companies would survive and grow large enough to join the index.
Often not, or only partly. Many free price feeds drop a ticker once it stops trading, and some reuse old tickers for new companies, so a delisted stock’s history can be missing or attached to the wrong company.
Test a strategy on your own stocks
GU Analyser backtests a rule on daily bars with costs and a buy-and-hold comparison, and its event studies show what followed a signal — built visually, no code.
Create a free account → or start with the courses →