← Quantery Blog

How should a backtest handle delisted stocks?

October 3, 2026 · 8 min readbacktestingdelistingssurvivorship-bias

A backtest should keep delisted stocks in its historical universe, close each affected position using the best terminal value available, and mark any substituted value as an assumption. When the final outcome is missing, rerun the test under a harsher treatment. If the conclusion changes, the thesis depends on how vanished companies were handled.

This is more than a database cleanup problem. Delisting means a security has left an exchange. It can follow an acquisition, a voluntary withdrawal, a failure to meet listing requirements, or a distressed corporate event. Those paths don't deliver the same shareholder outcome. A backtest that deletes every vanished name flatters the past. One that treats every delisting as a total loss can distort it in the other direction.

What does a delisting mean in a backtest?

A delisting ends a security's admission to a particular exchange. The SEC's Form 25 is the formal notice used to remove a security from listing or withdraw its exchange registration. The form records a legal market event. It doesn't, by itself, tell you what happened to an investor's position.

The reason matters. Nasdaq's guide to continued listing describes several routes out, including unresolved listing deficiencies, bankruptcy concerns, voluntary withdrawal, and broader investor-protection grounds. A merger can remove a healthy company because its shares were converted into cash or the acquirer's stock. A distressed company can leave the exchange and continue trading elsewhere. Another can stop producing a usable market price at all.

So a backtest needs two separate records:

Answering the second question doesn't repair the first. You can calculate a careful terminal return for a company that your historical universe excluded throughout the test and still carry survivorship bias. Start with the membership record, then settle the position.

Why does dropping delisted stocks flatter a result?

Suppose a cheap-stock thesis selected a struggling company. Its price fell, its listing ended, and the data vendor stopped returning bars. If the backtest responds by removing the row and averaging the companies that remain, the loss never reaches the portfolio. The thesis gets credit for selecting the company and avoids paying for the outcome.

That error has a direction. Tyler Shumway's study of delisting bias in CRSP data found that valid terminal returns were unavailable for most adverse delistings in the sample period he studied and that the missing returns were economically substantial. The missing observations weren't random. They clustered among companies removed after bad outcomes, which is exactly where a fragile value or distress thesis is likely to reach.

There are two common versions of the mistake. The obvious one removes delisted companies from the historical universe. The sneakier one admits them at entry, then ends their return series at the last available quote and carries on as if the position ceased to exist. The second version has included the dead company in name only. Its terminal loss is still absent.

Survivorship bias and point-in-time data set the floor: vanished companies must remain available to be selected on dates when they actually existed. A complete test also needs a rule for what happens after selection.

Why can't the last quoted price finish the trade?

A last close is an observed price on a date. It isn't proof that a simulated investor could exit there after the listing ended. Trading may have been halted before removal. A vendor may have stopped carrying the symbol. The security may have moved to another venue under the same or a different ticker. A merger may have delivered consideration that doesn't appear as a final ordinary close.

Freezing the position at its last quote creates a phantom asset. The backtest keeps value that may no longer have been realizable, and the phantom can remain in the portfolio while every other position continues to move. Silently dropping the position is worse because it changes the portfolio weights as well as the return.

A missing bar also isn't enough evidence to declare a delisting. Market holidays, temporary halts, symbol changes, and provider gaps can all interrupt a series. Require a recorded delisting or a deliberate stale-price rule before applying terminal treatment. Then report how often that rule fired. Coverage checks before a backtest matter here because a thin price history can resemble corporate failure if the engine can't tell the difference.

The cleanest hierarchy is straightforward:

That hierarchy won't make imperfect data complete. It keeps the imperfection visible and stops one convenient fallback from pretending to cover every route off an exchange.

How should you stress-test a missing terminal return?

A delisting haircut reduces the last reliable value when the actual terminal proceeds are unavailable. It is an assumption about the unobserved loss. Treat it like any other consequential backtest setting: declare it before reading the result, preserve the baseline run, then change only that treatment.

The research note can be plain. This is a test plan, separate from Quantery thesis DSL:

delisting_test:
  known_outcome: use_documented_value
  missing_adverse_outcome:
    baseline: predefined_haircut
    stress: total_loss
  unknown_cause: flag_for_review

hold_fixed:
  - thesis_version
  - universe
  - dates
  - benchmark
  - rebalance
  - entry_and_exit_rules

Start with the engine's declared baseline. Run a severe version for missing adverse outcomes. If you have a defensible alternative estimate, run that as a separate version too. Don't apply the harsh case to documented acquisitions, since doing so would turn ordinary merger consideration into a fictional loss.

Compare more than ending wealth. Read excess return against the same benchmark, maximum drawdown, affected positions, and the event study at matching horizons. Backtest returns remain hypothetical and exclude trading costs. A delisted position can influence the naive portfolio through both its loss and the capital that no longer participates afterward. The event study asks whether qualification events had useful forward outcomes, but it also needs a defensible terminal value when an event window crosses a delisting.

Stress-testing an exit rule uses the same discipline. Hold the entry thesis still and move one exit assumption. Here, the changed assumption is forced by missing evidence rather than by an economic selling rule. Keep those ideas separate in the run notes.

Which theses are most exposed to delisting assumptions?

Start with the screen's mechanism. A thesis seeking weak balance sheets, very low valuations, or severe price declines will encounter more companies near the boundary between recovery and failure. Delisting treatment sits close to its economic claim. A broad quality screen may encounter fewer affected positions, though even one concentrated holding can matter.

Deep-value tests deserve particular suspicion. A net-current-asset-value thesis deliberately searches among companies priced as if the operating business has little worth. The arithmetic behind net-nets can identify real discounts, but the same population contains stale assets, financing pressure, and businesses approaching an exit from public markets. Deleting failed cases would preserve the recoveries and erase part of the risk the discount was paying you to bear.

Inspect the affected names as a group. Ask when they qualified, which gate admitted them, whether their final filings were already stale, and whether one market episode produced most of the exits. Don't use today's survivor list for this audit. The relevant population is the set the historical rules actually admitted.

Universe reconstruction can compound the problem. If early history was assembled from companies still known to the provider, an incomplete delisting archive may prevent some failed names from entering the test at all. A severe terminal-loss assumption can't penalize companies that never made it into the historical frame. Read the reconstructed-universe warning beside the delisted-exit record. Choosing a historical screening universe explains why membership itself is a backtest input.

What can a robust delisting test establish?

If the thesis keeps the same broad direction under documented outcomes, the baseline missing-data treatment, and a severe adverse case, you've learned that the conclusion doesn't rest on a forgiving terminal assumption. The exact return can still move. Keep the stable direction and distrust the portable precision of the headline figure.

If the result collapses under the severe case, don't average the runs into a compromise. Find out which positions caused the change. The thesis may genuinely be a wager on recoveries among companies near failure. The data may be too incomplete to judge it. Or the original result may have borrowed its edge from losses that never entered the ledger.

Quantery's first-backtest workflow keeps delisted companies in the historical test and applies a pessimistic treatment when a held company stops trading. That baseline is a starting rule. Your job is to read how often it mattered, challenge the missing outcomes, and keep the conclusion only if it survives. The companies that vanish are part of the test. Make them finish it.

Want to try this on your own rules? Quantery is free for 14 days: the full app, no card required.

← All articles