Insights
How to Filter a Tradeable Options Universe Point-in-Time
Alphanume Team · April 13, 2026
Avoiding survivorship bias in options backtests — what the universe filter actually needs to do.
Filtering an options universe point-in-time means producing, for each historical date in a backtest, the set of optionable securities that met the strategy's criteria as of that date — using only information that was actually available on that date. The discipline is the same as for equity universe construction, with the additional complexity that options characteristics (listing status, available expirations, available strikes, liquidity) are themselves time-varying.
The core inputs
For each (date, ticker) pair, the universe filter needs to know:
- Was the ticker optionable on this date? (Listing add/remove history)
- What expirations were available? (Monthly, weekly, 0-DTE, LEAPS)
- What strikes were available within each expiration?
- What were the volume and open interest levels?
- What were the bid-ask spreads at the strikes of interest?
- What was the underlying liquidity?
Each of these is itself time-varying. Point-in-time discipline requires that each is read with knowledge-date awareness.
Common filter criteria
Typical filters applied to construct a tradeable options universe:
| Filter | Threshold (typical) |
|---|---|
| Underlying market cap | > $500M |
| Underlying ADV | > $5M |
| Underlying price | > $5 |
| Options volume (front-month) | > 1,000 contracts/day |
| Open interest (front-month) | > 5,000 contracts |
| Strike availability | ≥ 5 ITM and 5 OTM strikes |
| Bid-ask spread (front-month ATM) | < 10% of mid |
These thresholds depend on strategy specifics. Higher thresholds produce more tradeable but smaller universes.
The point-in-time discipline
For each criterion, the value used must be the value known on the filter date:
- Market cap: Point-in-time market cap as of the filter date. Not current. See point-in-time market cap.
- ADV: Trailing N-day average volume as of the filter date.
- Options volume: Trailing average of options volume as of the filter date.
- Open interest: Open interest as of the filter date.
- Spread: Snapshot of options chain spreads as of the filter date.
- Listing status: Optionable status as of the filter date — accounts for additions and removals.
The "tradeable" component
Being optionable is not the same as being practically tradeable. Several considerations beyond raw listing status:
- Strike granularity. Some names have wide strike intervals that preclude precise position construction.
- Expiration granularity. Strategies requiring specific timing need sufficient expiration density.
- Open interest persistence. Strikes with thin open interest are often unrolled — open positions in expiring options without a roll target.
- Market-maker activity. Names with active market-maker quoting have tighter spreads; names without may have wide spreads at any size.
Survivorship bias in options
The options-equivalent of survivorship bias is structurally similar to equity survivorship bias but has additional dimensions:
- Names that had options listings that were later removed disappear from current snapshots.
- Names with reverse splits, ticker changes, or corporate actions can have option listings discontinued and re-listed under different identifiers.
- Failed listings (names that briefly had options before being delisted) are particularly easy to lose track of.
See avoiding survivorship bias in options backtests for the full treatment.
Operational steps
To filter a tradeable options universe point-in-time:
- Start with the universe of US-listed common stocks as of the filter date — see universe construction.
- Apply equity-side filters (market cap, ADV, price) using point-in-time values.
- Filter on optionable status as of the date.
- Filter on options-side criteria (expirations, volume, OI, spreads) using point-in-time values.
- Apply strategy-specific filters (e.g., specific event-date proximity).
Validation
To verify the filter is producing reasonable output:
- Universe size by date should be smooth — no large unexplained jumps.
- The universe at any historical date should be a subset of optionable names known to have existed.
- Spot-check known-to-have-been-optionable names: they should appear at appropriate dates.
- Compare to vendor-provided historical universes where available.
Related reading
Avoiding survivorship bias in options backtests; which stocks have options; finding optionable stocks via API; expiration density; universe construction; best options data providers.
Alphanume's Optionable Universe dataset provides the point-in-time optionable status and listing-event history needed for the filtering pipeline.