If you searched for earnings volatility risk premium or selling earnings volatility, most of what you will find is either marketing for premium-selling services or single-name anecdotes. This is neither: it is every event in a fixed universe across five reporting quarters (2025-06 through 2026-07), with the dataset downloadable and the collection script included.
70
Unique earnings events, 26 symbols, 2025-2026
+32%
Median share of the implied move harvested
67.1%
Win rate (implied > realized)
93%
Win rate in the largest implied-move quintile
Method
One endpoint call per symbol: GET /v1/earnings/history/{symbol}?limit=40 returns each past event with the pre-event implied move (the earnings-dated straddle), the actual move, the realized IV crush, and pre/post ATM IV. Per event we compute the harvest ratio:
h = (implied_move - |actual_move|) / implied_move
h = +1 means the underlying did not move at all (the whole implied move was premium); h = 0 means implied exactly matched realized; negative h means the move breached the implied. This is an implied-vs-realized decomposition, not a strategy P&L: no fills, no crush timing, no delta hedging - for the fill haircut that would apply, see the fill-model reference. Universe: every symbol on the platform with earnings history - 70 unique events across 26 single-stock names (JPM, BAC, GM, LMT and other live-universe names included; this is a different set from the 26 symbols in the replay archive), no exclusions beyond deduplicating one double-listed JPM event. Artifacts: events.csv, pnl_by_bucket.csv, artifacts.zip.
Headline distribution
| Bucket | N | Mean h | Median h | Win rate | 5th percentile h |
| All events | 70 | +0.02 | +0.32 | 0.671 | -1.92 |
Read those four numbers together and you have the whole asset class: the median event pays the seller a third of the implied move, two-thirds of events pay something - and the 5th percentile event costs nearly TWO implied moves. The mean is dragged to almost zero by the tail. Selling every earnings straddle equally sized is a coin-flip business with occasional amputations; the premium is real but it is compensation, not free money.
The gradient: size of the implied move predicts who wins
| Implied-move quintile | Range | N | Mean h | Median h | Win rate |
| Q1 (smallest) | 2.4-4.1% | 14 | -0.65 | -0.23 | 0.43 |
| Q2 | 4.2-6.8% | 14 | -0.18 | +0.16 | 0.57 |
| Q3 | 6.9-8.4% | 14 | +0.18 | +0.51 | 0.71 |
| Q4 | 8.5-13.6% | 14 | +0.16 | +0.44 | 0.71 |
| Q5 (largest) | 13.8%+ | 14 | +0.59 | +0.69 | 0.93 |
The pattern is monotone in win rate, near-monotone in harvest, and it inverts the naive instinct. The scariest-looking events - the largest implied moves, the high-IV mid-caps and crypto-adjacent names - were overpriced in 13 of 14 cases, with the sellers keeping a mean 59% of the implied move. The "safe" events - megacaps priced at 2-4% - were where sellers got hurt: negative mean harvest, sub-coin-flip win rate. In this sample the market paid too much for scary and too little for calm.
The left tail, by name
The ten worst events for a seller, from events.csv:
| Event | Implied | Actual | h |
| MSFT 2025-12-31 (Q2 FY26) | 2.98% | -9.99% | -2.35 |
| META 2025-12-31 (Q4 FY25) | 3.53% | +10.40% | -1.95 |
| META 2025-09-30 (Q3 FY25) | 3.88% | -11.33% | -1.92 |
| INTC 2026-03-31 (Q1 FY26) | 8.73% | +23.60% | -1.70 |
| AMZN 2025-06-30 (Q2 FY25) | 3.15% | -8.27% | -1.63 |
| META 2025-06-30 (Q2 FY25) | 4.41% | +11.25% | -1.55 |
| NFLX 2025-09-30 (Q3 FY25) | 4.24% | -10.07% | -1.38 |
| AMZN 2025-09-30 (Q3 FY25) | 4.13% | +9.58% | -1.32 |
| AMD 2025-12-31 (Q4 FY25) | 7.94% | -17.31% | -1.18 |
| NFLX 2026-03-31 (Q1 FY26) | 4.51% | -9.72% | -1.16 |
Eight of the ten are megacap names whose options priced a small, polite move - and META appears three times. What they had in common was not high uncertainty; it was underpriced uncertainty. That is the Q1-quintile story told with tickers.
Limitations, stated plainly
- N = 70, five reporting quarters, one universe. The earnings-history endpoint currently reaches back about a year across the covered single-stock names. This is a complete census of what the platform covers, stated as such - not an 8-year panel. The gradient needs re-testing as history accumulates; treat Q5's 93% as promising, not proven.
- No fills, no structure. h is a decomposition of the straddle-implied move, not P&L of a tradeable structure. Spreads at T-1 on high-IV names are material; apply the fill ladder before believing any of this compounds.
- 2025-2026 was a megacap-volatility regime. The Q1 breaches cluster in names and quarters where mega-cap earnings repriced violently. A regime where calm names stay calm flips Q1's sign.
- Do not confuse the two 26s: the earnings event universe (26 single stocks, banks and industrials included) is not the same set as the 26-symbol historical replay archive, which contains ETFs and indexes that report nothing.
Doing it live
The forward-looking versions of every column here ship as live endpoints: /v1/earnings/calendar (what reports next), /v1/earnings/expected-move/{symbol} (the implied move, decomposed), /v1/earnings/iv-crush/{symbol} (expected crush vs the historical distribution), /v1/earnings/vrp/{symbol} (this study's h, computed per upcoming event), and /v1/earnings/screener ranked by VRP across the board (full reference on the API docs). History endpoints are Growth tier; vrp, dealer-positioning, and the screener are Alpha.
Earnings premium selling in this sample is a real but skewed edge: a third of the implied move at the median, coin-flip-with-amputations at the mean, and a strong size gradient - big implied moves were the safe sales, small implied moves the dangerous ones. All 70 events, the buckets, and the collection script are downloadable above; the study reruns in minutes as new quarters accumulate. Related: the earnings volatility guide, IV crush explained, and single-stock vs index VRP.