Before an earnings report, option prices carry a rough estimate of how big a move the market expects. This post walks through a simple way to compute it, the traps in comparing it with what actually happened, and the figures for next week's reports. It describes measurement, not a prediction of any stock.
The approximation
Take the at-the-money strike, meaning the strike nearest the current price. Add the call mid price and the put mid price at that same strike. That sum is the straddle. Divide by the share price:
expected move ≈ (call mid + put mid) / spot Use the nearest expiry that comes after the report. If the market is closed, use the closing mid prices of the last session and record which session that was.
Worked examples from the Nov. 13 close, expiry Nov. 20
- WMT: straddle 8.00, spot 128.09, which gives 6.2%
- TJX: straddle 7.95, spot 134.37, which gives 5.9%
- PANW: straddle 35.82, spot 322.24, which gives 11.1%
NVDA uses the nearer Nov. 18 weekly expiry and comes out at 8.6%. Expiry choice changes the figure, so it belongs in the record next to the number.
Reports in the window, in U.S. Eastern time: NVDA Nov. 17 after close, TJX Nov. 18 before open, PANW Nov. 18 after close, WMT Nov. 19 before open.
What the number is not
It is a size, so the plus-or-minus carries no direction. It also is not a boundary. Nothing stops a stock from closing outside it, and a straddle price includes time value for every day until expiry, not only the report day.
Scoring it against the actual move
We score with one regular-session close-to-close reaction, kept as an absolute value. Before-open reports use the previous trading close to the report-day close. After-close reports use the report-day close to the next trading close. The expected range runs through expiry while the actual is one session, so the horizons differ and the score is a comparison record, not a hit rate for a forecast.
Records that are missing stay missing. An absent row is not a zero move. We keep the pre-report observation with its date, expiry and capture time so the number cannot be edited after the fact.
Last week's scorecard, week of Nov. 9
- CEG: expected ±7.5%, actual 10.5%, outside
- OXY: expected ±4.6%, actual 2.0%, inside
- RKLB: expected ±12.8%, actual 6.5%, inside
- LUNR: expected ±12.9%, actual 7.0%, inside
Three of four were inside the range, with a median expected move of 10.15% and a median actual of 6.76%. Four records is a small sample, so treat it as an example of the method.
Both the calendar and the per-ticker expected moves are in SIGNUM, a U.S. stocks app, here: https://www.signumhq.com/earnings
This is information, not investment advice.
