The Impact of Survivorship Bias
The same Ichimoku strategy on Binance's top 20 coins: x3.1 when the 20 are picked today, x1.1 when they are picked month by month. How a historical universe removes survivorship bias from a backtest.
Once you have found a good strategy, you want to trade it on multiple assets, and here comes a crucial question: on which assets should I trade it?
A big mistake is to take today's top 20 cryptos and run the strategy on them to see if it is profitable. If you do that, there is a lookahead bias: you have selected the cryptos that performed, so of course your strategy will work on them...
So how should we do it? A very simple solution is to build a historical universe: a dynamic universe of the cryptos that were tradable at each point in time. For example, you can take the top 20 cryptos of each month. Another way is to use the historical listings of your favorite exchange (this is what we will do today, combined with a top 20 by volume).
So today, we will try to quantify the impact of this survivorship bias on a backtest.
1. The strategy we will use
We will use a trend-following strategy based on Ichimoku, with the classic 9/26/52 settings, on daily candles. The strategy is either long or in cash, never short.
Ichimoku is built from midpoints: the average of the highest high and the lowest low over a window. Let , and be the high, low and close of day .
The rules, evaluated on each daily close:
- Enter long when three conditions hold at once:
- the Tenkan-sen is above the Kijun-sen: ,
- the price is above the cloud: ,
- the future cloud is bullish: .
- Exit to cash as soon as the price falls back into the cloud: .
The order is filled at the same daily close.
Here is the backtest of the strategy on Bitcoin:
This is a classic trend-following strategy that gives a better Sharpe ratio and a smaller drawdown than buying and holding Bitcoin. Of course, the next step is to deploy it on other cryptos. To do that, we need to choose a universe.
2. Two universes
In the first universe, we use Binance's top 20 cryptos (highest volume over the last 30 days) on October 24, 2026. We allocate 1/20 of the portfolio to the strategy applied to each crypto, rebalanced each month to this weight to match the behavior of the second universe.
Of course, there is a big lookahead bias here: we select the cryptos today, while the backtest starts in January 2022. This universe only contains the cryptos that survived; the ones that collapsed in the meantime are missing. For example, LUNA (now LUNC) was in Binance's top 20 in January 2022, and collapsed in May 2022.
The second universe is the same top 20 (highest volume over the last 30 days), but computed at the end of each month, with only the data available at that time. If at the end of a month we hold a crypto that is no longer in the universe, we sell it.
This is probably not the best way to build a portfolio, but we will keep it simple: each month, we reallocate 1/20 of the portfolio to the strategy applied to each crypto. In both universes, when a crypto is not listed yet or doesn't have enough history to compute Ichimoku, its 1/20 stays in cash.
To simplify the calculations, and not to penalize the second universe too much (it has a bigger turnover), we assume zero fees. The goal here is to show survivorship bias, not to find or backtest a strategy.
3. Results
| Metric | Today's top 20 (fixed) | Top 20 of each month (historical) |
|---|---|---|
| Final multiple | x3.1 | x1.1 |
| Annualized return | 26% | 2% |
| Annualized volatility | 30% | 30% |
| Sharpe ratio | 0.92 | 0.22 |
| Max drawdown | -29% | -42% |
| Average exposure | 27% | 30% |
| Coins in the universe | 20 | 154 |
| Coins traded | 20 | 88 |
As you can see, with survivorship bias the strategy made x3, while without it we barely break even... The drawdown is bigger and the Sharpe ratio is much worse, with the same volatility and about the same time in the market.
So survivorship bias has a real impact on performance: we can think we have a good strategy when it is just a bias.
This is a simplified backtest, shared to illustrate a bias. Past performance doesn't predict future returns.
Conclusion
Survivorship bias is only one of the many biases, or invisible mistakes, we can make while creating or backtesting a strategy. It is essential to remove them if you want your live performance to follow your backtest performance.
Rerun it yourself
Both the historical universe and its candles are available on Angolin. The historical universe tells you which pairs Binance listed at any point in time, delisted pairs included, and an OHLCV download by universe gives you the daily candles of every pair that was listed, which is the data used for this backtest.
Angolin serves the full BTC history at 1d, 1h and 1m granularity, and the historical universe of each exchange, delisted pairs included, to avoid survivorship bias.


