Insights
Measuring 0-DTE Strike-Band Containment Rates
Alphanume Team · July 18, 2026
Measure a 0-DTE strike band's post-publication containment with point-in-time boundaries, SPX intraday bars after 10:30 AM Eastern, and explicit breach-size distributions.
A tradable 0-DTE strike-band containment rate is the share of sessions whose SPX path after the band's 10:30 AM Eastern publication stayed between the lower and upper boundaries. Alphanume's S&P 500 0-DTE Strike Band dataset provides one model-derived lower strike and upper strike for each trading date. Join those boundaries to independently sourced intraday SPX bars from 10:30 AM through the cash close.
The S&P 500 strike-band guide explains the range, and Alphanume's proof material provides broader evaluation context. 0-DTE Income ETFs Are a Disaster... Sort Of. examines an options-product outcome, which is downstream of and distinct from grading the published index band. The band is an expected range, not a guaranteed boundary and not a personalized strike recommendation.
Define containment before calculating it
Post-publication containment requires the SPX low from 10:30 AM through the close to remain at or above the lower strike and the corresponding high to remain at or below the upper strike. Close containment asks only whether the closing value lies inside the band. A full-session statistic can also be reported for descriptive continuity, but it includes the 9:30 to 10:30 path that occurred before publication and is not a tradable score.
Statistic | Rule | What it captures |
|---|---|---|
post_publication_contained | post_1030_low >= lower and post_1030_high <= upper | Observable path after publication stayed inside |
full_session_contained | daily low >= lower and daily high <= upper | Descriptive only because the first hour precedes publication |
close_contained | lower <= close <= upper | Closing location only |
upper_breach | max(0, post_1030_high minus upper) | Post-publication points above upper boundary |
lower_breach | max(0, lower minus post_1030_low) | Post-publication points below lower boundary |
band_width | upper minus lower | Daily range width in points |
Decide how an exact touch is treated. The inclusive rule above counts a high equal to the upper strike as contained. Preserve unrounded market data and the integer strike boundaries so the convention is auditable.
Join bands to post-publication paths
Retrieve a completed date range from the band endpoint. The served schema contains date, lower strike, upper strike, and instrument. It does not contain intraday SPX bars, the realized high, low, or close. Source those outcomes separately, align timestamps to America/New_York, and verify one band row per date before calculating statistics.
GET /v1/spx-0dte-strike-band
date_gte=2024-01-01
date_lte=2025-12-31
post_1030 = spx_intraday_bars where local_time >= 10:30
post_1030_high = max(high by date)
post_1030_low = min(low by date)
joined = band LEFT JOIN post_1030 ON date
post_publication_contained = post_1030_low >= lower_strike
AND post_1030_high <= upper_strike
close_contained = close >= lower_strike AND close <= upper_strike
upper_breach_points = max(0, post_1030_high - upper_strike)
lower_breach_points = max(0, lower_strike - post_1030_low)
width_points = upper_strike - lower_strikeKeep dates with missing market outcomes in an exclusion table rather than counting them as failures or successes. Confirm that holiday calendars and early closes are aligned. If an underlying proxy is used instead of the stated instrument, label the statistic as a proxy result.
Report the distribution of misses
A single containment percentage hides the economics of failure. Report upper and lower breach rates separately, median and tail breach size, band width, and breach size divided by band width. A few large misses can matter more than several small boundary crossings for risk management.
- Show post-publication, full-session descriptive, and close containment separately.
- Split upper and lower breaches.
- Report breach-size quantiles and worst observations.
- Keep the daily band width beside every score.
Use confidence intervals or rolling windows when comparing periods. Sessions are not independent in a simple economic sense because volatility clusters. A long-run percentage should be accompanied by yearly results and event counts. Keep regime and width conditioning for a separate calibration backtest so this page remains a direct containment and breach-distribution audit.
Band width also affects the headline rate. A model can contain more sessions simply by publishing a wider interval. Pair every containment result with the average and median width, preferably normalized by a same-time index reference. Compare containment inside prespecified width buckets rather than interpreting hit rate alone. This makes clear whether apparent improvement came from calibration or a less selective range.
For breach distributions, retain the maximum excursion beyond either boundary and the closing location. A session that briefly crossed by one point differs from one that trended far outside. Report both raw points and width-normalized breach size so different index levels and forecast widths can be compared without hiding the actual dollar-index scale.
Avoid option-PnL shortcuts
The main failure mode is translating index containment directly into a profitable short-options strategy. Option PnL depends on selected strikes, premiums, spread, path, early risk controls, settlement, commissions, and slippage. A boundary breach does not itself equal maximum loss, and containment does not guarantee a net profit after costs.
The second failure is scoring the 10:30 AM band against the full day's high and low as though every outcome happened afterward. Preserve the source observation as published, use post-10:30 bars for the primary statistic, and label any full-session result as descriptive and nontradable. Never rebuild a historical band from revised inputs and mix it with the published series.
Create a containment and breach table
As a concrete next action, retrieve a completed year of published bands and join verified SPX bars from 10:30 AM through the close. Export every date with boundaries, width, post-publication high and low, close, upper and lower breach points, and exclusion reason. Add full-session containment only as a clearly labeled descriptive comparison. Summarize post-publication rates and breach-size quantiles without claiming the band was guaranteed or that a particular options trade was suitable.