I would've guessed this question would have been answered somewhere on here before, but I have been going down rabbit holes for days trying to figure it out with no luck...
I want to backtest different value investing strategies, and I'm trying to find a high quality source for historical ticker symbols to create a tradable universe from.
For example, if I wanted to test the performance of a strategy that buys the lowest P/E stocks on Jan 1st and rebalances annually from 2010-2020, I would need to know the universe of ticker symbols available to purchase on Jan 1st for each year. Then, I would have to remove all the tickers that are not relevant like ETFs, warrants, preferred shares, SPACs, etc.
The only data provider I have been able to find that allows you to travel back in time and get retroactive ticker data is Alpha Vantage under their 'Listing and Delisting Status' endpoint. It lets you enter a date as a URL parameter and pulls the active tickers listed on various exchanges at that point in time.
However, the data is a mess. When you pull the data from that endpoint it lists essentially everything as having an asset type of 'stock' or 'ETF'. I have tried running the tickers it outputs through other endpoints like 'company overview' that I thought might classify the asset type/industry of each ticker more accurately but have been unsuccessful.
So for now, I'm stuck with trying to filter everything by the company name. Like if it has 'Warrant' in the name I exclude it, etc. But writing the logic to do that correctly for >10k tickers is basically impossible.
Has anyone found a good solution for this? Thanks in advance!!!