The close landed inside the expected range 80% of the time.
Every expected-move reading this site publishes is stored and, after the expiry, scored against that day's close. So far that is 2825 readings on 249 tickers across 9 expiries, from 2026-08-31 to 2026-09-11. A one-standard-deviation range should catch the close about 68% of the time; a higher number means options were priced for more movement than arrived.
Share of settled readings where the expiry-day close sat between the lower and upper bound published at the time.
The average absolute move at expiry was 3.39% against an average expected move of ±5.15%. Below 100% means the options were rich on average.
When the close did escape the range, this is which side it left through. A lopsided count says the period trended.
By days to expiry
A reading taken the day before expiry and one taken a month out are different forecasts, so they are scored separately. The bucket is the number of calendar days between the reading and the expiry.
| Reading taken | Readings | Inside | Expected | Realised | Realised / expected |
|---|---|---|---|---|---|
| Next day before expiry | 723 | 89% | ±2.22% | 1.06% | 48% |
| 2 to 7 days before expiry | 1295 | 79% | ±5.23% | 3.35% | 64% |
| 8 to 14 days before expiry | 807 | 74% | ±7.66% | 5.53% | 72% |
Where options ran richest, and cheapest
Tickers with at least 10 settled readings, ranked by realised move as a share of the expected move. Low means the stock moved much less than its options implied; near or above 100% means the options were fairly priced or cheap. 132 tickers qualify so far.
How the scoring works
The prefetch loop stores one reading per ticker, expiry and trading day: the last price, the expected move, the lower and upper bound, max pain and the put/call ratio. After an expiry passes, the closing price for that day is fetched once and every stored reading for that expiry is scored against it: was the close inside the bound, and how large was the move from the reading's price to the close.
- The range is one standard deviation, the same definition used everywhere on the site. It is not the straddle price, which would sit around 0.8 standard deviations and score differently.
- Realised move is measured from the price at the time of the reading, not from the previous close, so a reading taken mid-session is judged on what happened after it.
- Only tickers with at least 10 settled readings show a track record on their own page. Two readings say nothing.
- The window is short and grows daily. A calm month makes options look rich; a shock makes them look cheap. Judge the numbers with the period in mind.
- Closes come from the same delayed public data as the chains. Nothing here is a trade recommendation.
The same figures are available as JSON at /api/track-record, and per ticker at /api/history/SYMBOL. The formulas are on the methodology page; the guide to implied versus actual moves explains why the gap is usually positive.