US equity reference data rebuilt daily: which ticker used to be called something else, which one reverse-split, and every trading halt since 2019. The boring layer that quietly ruins backtests when it is wrong.
- 69,256 halts reconciled across NYSE, Nasdaq and Cboe — one event per row, with the feeds that saw it
- Daily date-tagged releases: a backtest can pin the exact snapshot it used
- Renames resolved by CIK and splits the sources missed
- Halts that never resume. The feeds keep returning the open ones — some names have been halted since 2023 — and every run re-routes them to their year. It works, but the model bothers me: an event with no close is not the same thing as a closed one, and today they live in the same table.
- Retroactive corrections leave no trace. If a source fixes a 2021 event, the 2021 CSV changes with no record of what changed or when. For a dataset used in backtests that is serious: two runs of the same test may not be comparable and there is no way to tell.