Earnings VRP Harvesting: 70 Events of Selling the Implied Move | FlashAlpha

Earnings VRP Harvesting: 70 Events of Selling the Implied Move

Across all 70 unique earnings events in FlashAlpha's covered universe (2025-2026), the median event harvested 32% of the implied move with a 67.1% win rate and a fat left tail. The striking result is the gradient: the largest implied moves were overpriced 93% of the time, while small implied moves on megacaps were breached repeatedly. Every number traces to downloadable artifacts.

T
Tomasz Dobrowolski Quant Engineer
Jul 24, 2026
7 min read
EarningsTrading VRP IVCrush ShortStraddle Backtesting DataStudy

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

BucketNMean hMedian hWin rate5th percentile h
All events70+0.02+0.320.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 quintileRangeNMean hMedian hWin rate
Q1 (smallest)2.4-4.1%14-0.65-0.230.43
Q24.2-6.8%14-0.18+0.160.57
Q36.9-8.4%14+0.18+0.510.71
Q48.5-13.6%14+0.16+0.440.71
Q5 (largest)13.8%+14+0.59+0.690.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:

EventImpliedActualh
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.

Live Market Pulse

Get fast visibility into market shifts with full-chain analytics over low-latency REST and MCP polling.

Intelligent Screening

Screen millions of option pairs per second using your custom EV rules, filters, and setups.

Export-Ready

Export structured signals to your own execution stack or broker integration - FlashAlpha delivers the analytics, you keep control of order routing.

Join the Community

Discord

Engage in real time conversations with us!

Twitter / X

Follow us for real-time updates and insights!

GitHub

Explore our open-source SDK, examples, and analytics resources!