Skip to content
All library documents

Historical Equity Universes for Survivorship-Bias-Free Backtests

Article Quant Q&A · Author: Kevin Roche

Summary

The document addresses how to construct a historical US stock universe that includes delisted firms, so a backtest does not rely only on companies that survived to the present. Replies describe datasets with point-in-time listing information, delisted securities, and identifiers that can help link records across vendors. One suggested workflow is to define universe rules dynamically and run the backtest on historical constituents, rather than building a current list and trying to append delisted names afterward.

Another reply recommends using historical index membership when the research question concerns stocks selected for institutional relevance, rather than treating exchange listing alone as a meaningful filter. The answers mention that data coverage and exchange-status histories differ by provider. They also flag difficult joins for fundamental data when mergers, spin-offs, and other capital changes affect whether historical company data remains comparable. Some recommendations come from providers affiliated with the respondents, and the document does not independently assess dataset completeness or accuracy.

Key ideas

  • A historical universe should include securities that later delisted to reduce survivorship bias.
  • Point-in-time datasets can define eligible securities dynamically throughout a backtest.
  • Historical index constituents may better represent an investable universe than exchange membership alone.
  • Cross-provider identifiers can help link price and fundamental records.
  • Corporate actions can make historical fundamental data difficult to match and interpret.

Tags

Full text
# Where can I find complete historical lists of companies on major US exchanges for backtesting?


# Where can I find complete historical lists of companies on major US exchanges for backtesting?












I am backtesting a trading strategy on historical US stock data. I'm currently sourcing data from S&P's Capital IQ. I have no trouble getting stock price data for a specific company. I also have no trouble getting a list of companies currently traded on major US exchanges (which I am defining as NYSE, Nasdaq, or AMEX).

However, to avoid survivorship bias, I would like to know what companies have been delisted from these exchanges. Basically, I want a list of all the companies which have ever traded on these exchanges over the past 20-30 years and the dates which they traded there. (Ideally this should include CUSIP or some other universal identifier so that I can match up the stock data to other financial data from Capital IQ.)

Capital IQ does tell me for some delisted companies what exchange they traded on, but in many cases, when a company is delisted, it moves to being traded over-the-counter (as Enron and the original General Motors did before going bankrupt). Filtering by exchange here is not helpful as it will filter out the companies which moved to over-the-counter.

Is there anywhere I can get an accurate universe of stocks for survivorship bias-free backtesting? I'm aware that this will likely cost money, which I'm fine with, but I have so far been unable to find any database with this information.

## Answer by Brian from QuantRocket (score 1)

https://quant.stackexchange.com/a/64124

QuantRocket's Data Library offers survivorship bias-free US equities data from multiple data providers.

The securities include CIKs and FIGIs which would allow you to link to your other providers. Some datasets would also allow you to link based on ticker symbol and date, if your other data providers give you point-in-time ticker symbols. (More info here on linking custom data.) Some of the datasets go back to 2007 while one goes back to the 1990s.

You seem to be starting with a list of listed companies and wondering how best to get a list of delisted companies to include in backtesting. But if you have a survivorship bias-free dataset, you don't really need to ask this question. A typical QuantRocket backtest starts by dynamically defining the criteria for your universe (for example, exclude ETFs, ADRs, preferred shares, whatever your requirements are), then you simply run the backtest against the survivorship-bias free data. If a particular security was listed during a particular time period (and meets your other criteria), it will be included in that part of the backtest; if not, not. (See examples in QuantRocket's Code Library.)

Disclaimer: I'm affiliated with QuantRocket.

## Answer by nbbo2 (score 1)

https://quant.stackexchange.com/a/65616

Do not use a list of all NYSE, Amex and Nasdaq stocks for your backtesting. Exchange membership is of little significance in the US. All three exchanges include some very inactive and illiquid stocks. Instead use the historical membership list for an index (such as S&P 500, Russell 1000, Wilshire, CRSP Index family) so you get a list of stocks which have gone through a selection process to ensure they are worthy of institutional investor interest.

## Answer by Richard at NorgateData (score 1)

https://quant.stackexchange.com/a/68022

Norgate Data offers US stock data inclusive of delisted stocks.

Whilst we don't provide all of the information you require, we do provide a time series indicator (back to 2000) called Major Exchange Listed which provides a daily true/false indication of whether the stock was listed on a major exchange (NYSE, NYSE Arca, Nasdaq, NYSE American, Cboe BZX).

We also retain the OTC trading periods (so a company like Enron shows major exchange listed = true until they move to OTC, then false thereafter). There are major companies that have periods of OTC trading within them (typically due to a listing rule violation).

We also provide historical index constituents for many indices also on the same timeseries basis.

I assume you're attempting to do the matching for fundamental data. This is particularly problematic for companies that have complex capital changes due to events such as mergers, demergers etc., making prior data inconsistent with the price data (e.g. a company spins off 70% of their operations into a new company - is the prior data even relevant?).

Best regards, Richard.

Full Disclosure: I am a co-owner of Norgate Data.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.