S&P 500 0-DTE Strike Band
Get the strike range the S&P 500 is expected to hold through the same-day 0-DTE close, as two levels that already sit on the listed board. Every band is published once and never revised, so containment can be measured against exactly what was known that morning.
Pick strikes without guessing.
lower_strike and upper_strike come back rounded to listed SPX increments, so the short legs of a condor read straight off the row.
Size the day's expected travel.
The distance between upper_strike and lower_strike is the model's expected range for that date, published before the day plays out.
Test containment yourself.
Pull a date range and check how often the index stayed inside the band it was handed that morning, on your own definition of a breach.
How far is the S&P 500 likely to travel today, and where should the short strikes go on a same-day options trade? Show me the range and how reliable it has been.
Your agent reads today's band, then replays the historical bands against realized index ranges to report how often the level actually held.
Two strikes that describe the day's expected range.
0-DTE means an option that expires the same day it is traded. SPX lists an expiration every trading day, so traders are constantly picking strikes for a contract with hours left to live. This dataset answers the question that has to come first: how far is the index likely to go before the close.
Each row is one trading date with a lower strike and an upper strike. Together they mark the range the model expects the index to hold through the same-day close, rounded to strikes that actually exist on the board.
Each row includes:
- The trading date the band applies to.
- lower_strike, the bottom of the expected range, rounded to a listed SPX increment.
- upper_strike, the top of that same range.
- instrument, the underlying index the band is quoted on.
- A fixed record: a published band is never revised after the close.
A band is a probability, not a fence. In the published study the predicted width covered the day's realized range 91.5% of the time, which still leaves roughly one session in twelve where the range a trade was built around turned out to be too small.
Put a number on how far the index travels today.
The published market-effect study ran 622 trading days and found band width correlates 0.80 with the day's realized range. The width is doing real work: when the model prints a wide band, the index tends to travel further, which is more useful than a containment rate on its own.
That makes the band a strike-selection input first and a sizing input second. Short strikes go outside it, spreads get structured around it, and on a day it prints unusually wide the honest response is often smaller size rather than wider wings.
- Place the short legs of condors and credit spreads outside upper_strike and lower_strike.
- Rank days by band width to separate quiet sessions from ones the model expects to move.
- Backtest containment on your own definition of a breach: any touch, or the close only.
- Compare the morning band against the realized high and low to build your own calibration curve.
- Use band width as an intraday sizing input rather than as a trade signal on its own.
Set in the morning, never revised after the close.
The band is derived from forward-looking implied probability distributions, realized volatility data, and broader market risk factors, and published each trading morning at 10:30 in New York. It reflects only what was available at calculation time.
Once published, a band is fixed. That is what makes containment testable: a study over the history scores the same two numbers a trader had at 10:30, not a range fitted after the day was over. Pro includes full history and the latest session.
The band, and the filters that pull it.
The headline fields below are a subset. Every field, with exact types and semantics, is documented in the API reference.
| Field | Type | What it tells you |
|---|---|---|
| date | string | Trading date the band applies to (YYYY-MM-DD) |
| lower_strike | integer | Lower strike boundary of the expected intraday range |
| upper_strike | integer | Upper strike boundary of the expected intraday range |
| instrument | string | Underlying index the band is quoted on |
| count | integer | Number of rows returned in the response envelope |
| date_gte | query param | Start of a trading-date range, inclusive |
| date_lte | query param | End of a trading-date range, inclusive |
| date_gt | query param | Start of a trading-date range, exclusive |
| date_lt | query param | End of a trading-date range, exclusive |
One call returns today's band, or years of them.
One key works across the REST API, the hosted MCP server, and this dashboard. Every response is JSON with a { count, data } envelope.
import requests
url = "https://api.alphanume.com/v1/spx-0dte-strike-band"
params = {
"date_gte": "2026-08-01",
"date_lte": "2026-08-25",
"api_key": "alp_abc123"
}
r = requests.get(url, params=params)
print(r.json())curl "https://api.alphanume.com/v1/spx-0dte-strike-band?date_gte=2026-08-01&date_lte=2026-08-25&api_key=alp_abc123"{
"count": 1,
"data": [
{
"date": "2026-08-25",
"lower_strike": 6740,
"upper_strike": 6880,
"instrument": "SPX"
}
]
}What this data does not claim.
- Containment in the published study was measured with SPX proxied by SPY times ten. The tests are run basis free, but the proxy is a rough edge and it is stated rather than hidden.
- Strikes are rounded to listed SPX increments, so the band is a tradable level, not a price forecast to the point.
- One row per trading day, with no intraday update. A band published at 10:30 does not react to a shock at 2 PM.
- The row gives a range, not a direction and not an option price. Whether selling that range pays depends on the premium, which is not in this dataset.
- Containment says nothing about path. The index can breach the band midday and close back inside it, which is why width and close containment are reported separately.
Asked by researchers, answered plainly.
Why does the study report two different containment numbers?
Width containment (91.5%) asks whether the band was wide enough for the day's realized range. Close containment (80%) asks whether the index actually finished between the two strikes. The gap between them is placement: a band can be the right size and still sit off center, and a short-strike position cares about both.
Can I use the SPX strike band to trade SPY or ES?
The band is quoted on the index named in instrument. SPY trades near one tenth of SPX, so dividing both levels by ten gives a usable SPY reference, and that relationship is how the published study measured containment. Futures carry a basis to the cash index, so treat any ES translation as approximate.
Is the strike band a directional forecast?
No. It describes where the index is expected to stay, with no view on where inside the range it finishes. A band that sits unevenly around spot reflects the shape of the implied distribution, not a call on direction.
Can I backtest a 0-DTE iron condor with this dataset?
You can backtest the range half of it. The dataset supplies the dated strike levels without lookahead, which is the part that is hard to reconstruct honestly. You still need an options price source for the credit received, because containment without premium is not a profit and loss statement.
Available with Pro. Enterprise for teams.
New REST API and MCP access requires Pro or Enterprise. Public dashboard previews are separate from a subscription. Pro includes the available historical record, current updates, REST, MCP, dashboard exports, and every standard dataset as it launches. Explore the dashboard preview before subscribing; its existing limits still apply.