I’ve been working with historical data and ran into a few delisted tickers that aren’t behaving as expected. Sometimes they return partial data, or none at all.
Just wondering — how do you usually handle delisted symbols in your workflow?
Do you use any specific flags or parameters to filter them out or identify them in advance?
Appreciate any advice or examples. Trying to clean up my backtest results.
Hey, yeah I’ve hit this issue too. What I usually do is include &delisted=1 in my symbol requests when pulling from the Exchanges API — helps catch them early.
Also, if a ticker is missing recent data but still shows up in listings, I double-check if it was renamed or merged — sometimes they get a _old suffix.
From what I’ve seen, you usually only find out after the delisting happens — there’s no early warning in the data itself.
Sometimes, if you keep an eye on press releases or filings (like 8-Ks for US stocks), you can spot signs early, but it’s not automated. Would be cool if the API had something like a “scheduled to be delisted” flag!
Thanks for raising this — handling delisted tickers properly is essential, especially for backtesting and avoiding survivorship bias.
In my case, I usually fetch the full exchange list with &delisted=1 and store that separately. Then, before requesting historical data, I cross-reference tickers against that list to catch anything no longer active.
Also worth noting: some tickers get reused over time, so if you’re pulling long-range history, it’s good practice to check for symbol reassignments (e.g., gaps or sudden jumps in volume/price might flag reused symbols).
Would be curious to hear how others handle ETFs or foreign tickers that get delisted and replaced under slightly different names — that’s where things can get messy fast.
we ran into this too — some tickers just go missing from the results unless you add delisted=1.
right now we save the ticker list weekly and compare it later if something comes back empty.
also noticed the _old tickers show up sometimes — without them the history gets messed up.