Weekend and Holiday Adjustments and Macro-Moves
See which days the options market is pricing for bigger moves, and how much bigger.
Updated every hour for SPX, NDX, RUT, and their ETFs, with history back to 2022.
SPX, the next 13 sessions
Example update: Example: Jun 26, 2024, 3:00 PM ET
6 event days in the next 13 sessions. The biggest is CPI on Thu Jul 11, priced at 1.79 times a normal day. Point at any day, or tab to the chart and use the arrow keys.
An economic calendar lists every release. WHAM shows you which days options are pricing for bigger moves, and how much bigger. Here are the 13 sessions after the update at 3:00 PM ET on Wed Jun 26, 2024.
Jun 24 to Jul 19, 2024
31 releases marked high importance
In the 13 sessions after the update, the economic calendar listed 31 releases marked high importance, on 10 of the 13 days. The list doesn't tell you which of them options are pricing for a bigger move.
Six of the 13 days were priced as event days. CPI on Jul 11 was priced at 1.79 times a normal day, ±56 SPX points against ±31, and the jobs report on Jul 5 at 1.60.
Five other days had releases marked high importance, 16 in all, including JOLTS, ISM services, and retail sales. None of those days was priced as an event day. Powell's testimony on Jul 9 had no high-importance tag, and options priced that day at 1.22 times a normal day.
The market was closed on Jul 4 for Independence Day, and closed at 1:00 PM on Jul 3. WHAM counts each closed day as a small part of a trading day, so the multiples on either side of the holiday mean the same as in any other week.
Three readings from the same update, Wed Jun 26, 2024 at 3:00 PM ET.
Priced move, SPX pointsSPX 5,468.6
WHAM gives the move options are pricing for each event day. On CPI day that was ±56 SPX points, against ±31 on a normal day, so you can set strikes, stops, and position size for it.
Mon Jul 15 straddle
100.7 pts
+20.0 for the event days
Of the 100.7 points in the Jul 15 SPX straddle, about 20.0 were the extra priced for the six event days, 7.6 of them for CPI. Over the next 10 sessions, the extra priced for the event days was 32% of all the variance priced.
Rest of today, from 3:00 PM
±9 pts to the close
Next session, Thu Jun 27
±28 pts
Every hour, WHAM compares the rest of today and the next session with the usual pace for that time of day. At 3:00 PM on Jun 26, the rest of the day was priced a little above its usual pace, 0.83 against 0.79, and the next session a little below its usual, 1.00 against 1.02.
From May 2022 to October 2026, the sessions WHAM listed as event days at 3:46 PM the session before were 26% of all 1,086 sessions, and 32 of the 64 in which SPX moved more than 2%.
Sessions WHAM listed as event days at 3:46 PM the session before
32 of 285 moved more than 2%
Sessions WHAM did not list
32 of 801 moved more than 2%
The sessions WHAM listed, grouped by release, and every session it didn't list.
JOLTS and Powell days are left out, with fewer than 15 sessions each. The number beside each name is its sessions.
Each session's move is SPX from the 3:46 PM ET update to the next session's 3:46 PM ET update. The event list is the one WHAM published at 3:46 PM the session before. WHAM's history is computed with its current method, which was developed on this same history, so read this as a description of the past. Past results don't guarantee future ones.
Test it on your own strategyThe chart at the top of this page is one WHAM update, and the request below returns it. GET /datav2/wham returns the latest update in the same format, for any of the six tickers.
In each update
GET https://api.orats.io/datav2/hist/wham?token=my-token
{ "data": [ { "ticker": "SPX", "tradeDate": "2024-06-26", "quoteDate": "2024-06-26T18:57:20Z", "spot": 5468.6, "iv": { "d1": 0.0944, "d3": 0.1114, "d5": 0.1043, "d10": 0.1194, "d15": 0.1226 }, "ivExMacro": { "d1": 0.0944, "d3": 0.1007, "d5": 0.0968, "d10": 0.0985, "d15": 0.1016 }, "macroShare10d": 0.3194, "contango10d": -0.0218, "exMacroCurveR2": { "line": 0.2624, "quadratic": 0.2878 }, "today": { "restOfDayMovePct": 0.0016, "moveMultiple": 0.83, "moveMultipleMedian": 0.79, "moveMultipleSide": "high" }, "nextSession": { "date": "2024-06-27", "impliedMovePct": 0.0051, "moveMultiple": 1, "moveMultipleMedian": 1.02, "moveMultipleSide": "low", "event": "Initial Jobless Claims" }, "eventDays": [ { "date": "2024-06-28", "daysAhead": 2, "label": "PCE", "eventType": "PCE", "impliedMovePct": 0.0065, "priced": 1.19, "typicalMovePct": 0.0054, "relevance": "High" }, { "date": "2024-07-01", "daysAhead": 3, "label": "ISM", "eventType": "ISM", "impliedMovePct": 0.0061, "priced": 1.12, "typicalMovePct": 0.0055, "relevance": "High" }, { "date": "2024-07-05", "daysAhead": 6, "label": "Jobs (NFP)", "eventType": "Jobs (NFP)", "impliedMovePct": 0.0089, "priced": 1.6, "typicalMovePct": 0.0056, "relevance": "Very high" }, { "date": "2024-07-09", "daysAhead": 8, "label": "Powell", "eventType": "Powell", "impliedMovePct": 0.0069, "priced": 1.22, "typicalMovePct": 0.0057, "relevance": "Moderate" }, { "date": "2024-07-11", "daysAhead": 10, "label": "CPI", "eventType": "CPI", "impliedMovePct": 0.0102, "priced": 1.79, "typicalMovePct": 0.0057, "relevance": "Very high" }, { "date": "2024-07-15", "daysAhead": 12, "label": "Powell", "eventType": "Powell", "impliedMovePct": 0.008, "priced": 1.37, "typicalMovePct": 0.0058, "relevance": "Moderate" } ], "hv": null, "impliedVsRealized": { "d5": null, "d10": null }, "calendar": [ { "date": "2024-06-26", "dow": "Wed", "label": "New Home Sales", "timeEt": null, "eventType": "other", "priced": null, "typical": 1, "tail": null, "relevance": "Low" }, { "date": "2024-06-27", "dow": "Thu", "label": "Initial Jobless Claims", "timeEt": null, "eventType": "other", "priced": null, "typical": 1, "tail": null, "relevance": "Low" }, { "date": "2024-06-28", "dow": "Fri", "label": "PCE", "timeEt": null, "eventType": "PCE", "priced": 1.19, "typical": 1, "tail": null, "recent": null, "relevance": "High" }, ... ] } ]}This update is from before Aug 26, 2026, when WHAM began storing realized volatility and each release type's history. So hv and impliedVsRealized are null here, the calendar's timeEt, tail, and recent are null, and typical is 1. Updates since then have them, though hv and impliedVsRealized can be null when realized volatility wasn't available.
Three indexes and their ETFs, updated through the trading day, with every update kept back to each one's first.
SPX
S&P 500 index
SPY
S&P 500 ETF
NDX
Nasdaq-100 index
QQQ
Nasdaq-100 ETF
RUT
Russell 2000 index
IWM
Russell 2000 ETF
Update times, Eastern
Each update is published about five minutes after its quote time. The 9:34 AM update is in the history only. On early-close days the updates are 9:34, 10:00, 11:00, 12:00, and 12:46.
Delayed Data API
Perfect for getting started
$199
/ month
Add Tools APIs:
NEWIncludes:
20,000 requests per month
WHAM + HistoryNEW
Tickers
Strikes + Near EOD History
Strikes by OPRA + Near EOD History
Monies Implied + Near EOD History
Monies Forecast + Near EOD History
SMV Summaries + Near EOD History
Core Data + Near EOD History
Daily Price
Historical Volatility
Earnings History
Stock Split History
IV Rank + History
Live Data API
Best for active traders
$299
/ month
Add Tools APIs:
NEWEverything in Delayed Data API, plus:
100,000 requests per month
Live Strikes
Live Strikes by Expiry
Live Strikes by OPRA
Live Monies Implied
Live Monies Forecast
Live SMV Summaries
Expiration Dates
Note that to access the live endpoints, you must first sign the live data agreements (available after signup).
View API docsLive Intraday API
Every data endpoint, down to the minute
$599
/ month
Add Tools APIs:
NEWEverything in Live Data API, plus:
1,000,000 requests per month
Intraday Strikes Chain
Intraday Strikes Chain History
Intraday Strikes by OPRA
Intraday Strikes by OPRA History
Intraday Monies Implied
Intraday Monies Implied History
Intraday SMV Summaries
Intraday SMV Summaries History
Note that to access the live endpoints, you must first sign the live data agreements (available after signup).
View API docsAll-In API
Access to all ORATS endpoints
$1,395Save $496 / month
$899
/ month
Tools APIs included:
NEWEvery ORATS API in one subscription:
1,000,000 requests per month
WHAM + HistoryNEW
Tickers
Strikes + Near EOD History
Strikes by OPRA + Near EOD History
Monies Implied + Near EOD History
Monies Forecast + Near EOD History
SMV Summaries + Near EOD History
Core Data + Near EOD History
Daily Price, Earnings, and Split History
Historical Volatility and IV Rank + History
Live Strikes, by Expiry, and by OPRA
Live Monies Implied and Forecast
Live SMV Summaries and Expiration Dates
Intraday Strikes Chain + History
Intraday Strikes by OPRA + History
Intraday Monies Implied + History
Intraday SMV Summaries + History
End-of-day history back to 2007
One-minute history back to August 2020
Option Scanner API: ranked trade candidatesNEW
Backtest Finder API: 300M+ precomputed backtestsNEW
Intraday Backtester API: custom one-minute backtestsNEW
Time & Sales API: tick-level prints with greeksNEW
Note that to access the live endpoints, you must first sign the live data agreements (available after signup).
View API docsFAQ