HomeBlogNVDA Earnings Options Replay: What the Chain, Quotes, and IV Actually Said
Deep DiveMay 24, 2026·16 min read

NVDA Earnings Options Replay: What the Chain, Quotes, and IV Actually Said

CuteMarkets

CuteMarkets Team

Research

Quick answer

NVDA Earnings Options Replay: What the Chain, Quotes, and IV Actually Said

A serious NVDA earnings options replay should start with the listed chain, measure implied move from executable bid/ask data, replay exact contracts through quote windows, and report IV crush beside spread quality, quote freshness, and reject reasons.

NVDA Earnings Options Replay: What the Chain, Quotes, and IV Actually Said

NVIDIA's May 20, 2026 earnings release was exactly the kind of event that makes options data useful and dangerous at the same time. The company reported record first-quarter fiscal 2027 revenue of $81.6 billion and record Data Center revenue of $75.2 billion, according to NVIDIA investor relations. That is the news headline. It is not the research object.

For an options researcher, the better question is narrower: what did the option surface imply before the print, what did the market actually do after it, and which contracts were tradable enough to make the answer meaningful?

This post walks through a quote-aware earnings replay. The goal is not to declare whether NVDA calls or puts were "right." The goal is to show the workflow a developer should use when turning a major earnings event into an auditable options study.

The earnings headline is only the timestamp

Earnings events are tempting because they create a clean before-and-after story. There is a known announcement window, an obvious underlying ticker, a front-week expiration, visible pre-event implied volatility, and a post-event volatility collapse to measure. That structure makes the event easy to narrate.

It does not make the trade easy to measure.

The first mistake is treating the earnings result as the start of the backtest. In a real replay, the earnings release is only one timestamp in a larger event record. A good study needs at least these fields:

FieldWhy it matters
event_timestampThe moment the release or call became available to the market.
pre_event_snapshot_timeThe last market state the strategy could observe before the announcement.
post_event_open_timeThe first regular-session window where most equity-option execution can be evaluated.
underlying_price_beforeThe stock reference used to identify ATM contracts and implied move.
underlying_price_afterThe realized move anchor for the replay.
selected_contractsThe exact OCC symbols studied, not only "NVDA calls."
quote_windowsBid/ask evidence around every hypothetical entry and exit.
reject_reasonsWhy contracts or fills were excluded.

Without that event record, the post becomes a story about NVIDIA. With it, the post becomes a reproducible options-data study.

Build the chain before choosing a contract

An earnings replay should begin with the chain, not with a chart. The chain tells you which contracts were visible, which expirations were listed, where the market concentrated activity, and how implied volatility was distributed across strikes and dates.

For a front-week earnings study, the minimum request sequence is:

curl "https://api.cutemarkets.com/v1/tickers/expirations/NVDA/" \
  -H "Authorization: Bearer YOUR_API_KEY"

curl "https://api.cutemarkets.com/v1/options/chain/NVDA/?expiration_date=2026-05-22&limit=100" \
  -H "Authorization: Bearer YOUR_API_KEY"

The first request protects the workflow from a calendar assumption. The second request gives the chain for the chosen expiration. In production code, the chain response should be paginated until all relevant strikes are loaded, then filtered locally by moneyness, spread, open interest, volume, and IV availability.

The important thing is the order. You do not start with a made-up OCC symbol. You discover the listed dates, load the chain, then select contracts from the actual response.

Measure the implied move from the ATM straddle

The simplest earnings benchmark is the at-the-money straddle. Find the call and put closest to the underlying reference price, add their premiums, then divide by the underlying price:

implied_move_dollars = call_mid + put_mid
implied_move_percent = implied_move_dollars / underlying_price_before

That formula is only useful if the premiums are measured honestly. A last price can be stale. A midpoint can be theoretical. A wide market can make the implied move look precise when the executable range is not precise at all.

For a serious replay, compute at least three implied-move estimates:

EstimateFormulaInterpretation
Mid straddlecall_mid + put_midClean theoretical reference when markets are tight.
Buy straddlecall_ask + put_askCost to enter long vol aggressively.
Sell straddlecall_bid + put_bidProceeds available to sell vol aggressively.

If the mid straddle implies a 6% move but the buy-side straddle costs 6.8% and the sell-side straddle yields 5.3%, the useful conclusion is not "the implied move was 6%." The useful conclusion is that the execution interval was wide enough to matter.

Compare front-week and next-week IV

Earnings risk usually concentrates in the nearest expiration that captures the event. For NVDA, a replay should compare the May 22, 2026 expiration against later expirations such as May 29 or June 5, assuming those dates appear in the listed expiration response.

The question is not only which IV was highest. The better questions are:

  • How much extra IV did the event week carry over the next weekly?
  • Did IV concentrate near the money or stay elevated across a wide strike range?
  • Were deep out-of-the-money contracts liquid enough to study, or were they mostly lottery tickets?
  • Did volume concentrate in one side of the chain, or did both calls and puts trade actively?
  • Did open interest reflect existing positioning, or did same-day volume dominate the picture?

Those answers help separate event premium from generic single-name volatility. They also keep the backtest from pretending that the cheapest far-out-of-the-money contract was a clean expression of the earnings thesis.

Do not let volume choose the trade by itself

Earnings weeks create noisy leaderboards. A contract can rank near the top by volume because it was a hedge roll, a closing trade, a cheap far-out-of-the-money flyer, or a retail favorite. High volume is evidence of attention. It is not evidence of edge.

A better contract shortlist combines activity with execution quality:

FilterWhy it belongs in the shortlist
Moneyness bandKeeps the study focused on contracts that plausibly express the event.
Minimum open interestAvoids contracts with no established market.
Minimum same-day volumeConfirms the line is active during the event window.
Maximum spread percentagePrevents tiny-premium contracts from dominating with untradable spreads.
Quote freshnessRejects stale bid/ask rows.
Minimum bidAvoids zero-bid or near-zero-bid exits.
IV presentAllows the study to measure crush instead of only price change.

The output should not be one magical contract. It should be a small panel: ATM call, ATM put, one near-out-of-the-money call, one near-out-of-the-money put, and optionally the front-week ATM straddle. That is enough to understand the event without overfitting the replay to the best post-hoc winner.

Replay exact contracts, not ticker-level ideas

Once the shortlist exists, every replay row should name the exact contract ticker. The following examples are placeholders. In a real study, replace them with tickers returned by the chain response.

curl "https://api.cutemarkets.com/v1/options/quotes/O:NVDA260522C00180000/?timestamp.gte=2026-05-20T19:30:00Z&timestamp.lt=2026-05-20T20:00:00Z&limit=1000" \
  -H "Authorization: Bearer YOUR_API_KEY"

curl "https://api.cutemarkets.com/v1/options/quotes/O:NVDA260522P00180000/?timestamp.gte=2026-05-20T19:30:00Z&timestamp.lt=2026-05-20T20:00:00Z&limit=1000" \
  -H "Authorization: Bearer YOUR_API_KEY"

curl "https://api.cutemarkets.com/v1/options/trades/O:NVDA260522C00180000/?timestamp.gte=2026-05-20T19:30:00Z&timestamp.lt=2026-05-21T20:00:00Z&limit=1000" \
  -H "Authorization: Bearer YOUR_API_KEY"

There are two separate windows in that example:

  1. A pre-event quote window, used to estimate what could have been entered before the print.
  2. A post-event trade or quote window, used to inspect what happened after the event.

For fills, quotes are the primary evidence. Trades are supporting context. If a contract printed at a price but the bid/ask market was nowhere near that price when your strategy needed to exit, the trade print does not rescue the backtest.

The IV crush needs a tradable denominator

Most earnings options posts talk about IV crush as if it were a simple before-and-after chart. That hides the hard part. The IV drop only matters if the contract was tradable before and after the event.

A good replay should report IV crush next to executable pricing:

MetricPre-eventPost-eventWhy it matters
implied_volatilityChain IV before releaseChain IV after releaseMeasures volatility repricing.
bid / askQuote window before releaseQuote window after releaseShows whether the contract could be entered/exited.
midpointDerived from bid/askDerived from bid/askUseful but not enough by itself.
spread_percentSpread divided by midpointSpread divided by midpointCaptures execution drag.
quote_age_msAge at decision timeAge at exit timeRejects stale markets.
volumeActivity before eventActivity after eventConfirms market participation.

The key is to avoid reporting IV crush in isolation. A contract can show a dramatic IV decline and still be a bad replay candidate if the pre-event spread was too wide or the post-event bid disappeared.

Realized move is not the same as option PnL

The underlying realized move is the cleanest summary statistic. If NVDA moved less than the straddle implied, long premium likely had a difficult setup. If it moved more, short premium likely had a difficult setup. That framing is useful, but it is still incomplete.

Option PnL depends on:

  • direction
  • magnitude
  • time to expiration
  • IV change
  • moneyness
  • spread paid at entry
  • spread paid at exit
  • whether the contract had a real bid after the event
  • whether execution happened before or after the market repriced

This is why a call can be directionally correct and still disappoint. It can pay too much event premium, lose too much IV, or enter a contract whose spread consumes the realized move. It is also why a put can be wrong directionally but not go to zero immediately if the option was long enough dated and the IV surface moved differently than expected.

The replay should therefore avoid binary language like "calls won" or "puts lost." It should report the chain state, the realized move, and the fill-aware result for each selected contract.

A simple replay table

For a long-form post, the most useful table is not a massive chain dump. It is a compact panel that readers can audit:

Contract roleEntry sideExit sideEntry quoteExit quoteIV changeSpread reject?Result
ATM callAskBidPre-event quotePost-event quoteDown/upYes/noPnL after spread
ATM putAskBidPre-event quotePost-event quoteDown/upYes/noPnL after spread
ATM straddleAsk+askBid+bidPre-event quotesPost-event quotesDown/upYes/noCombined PnL
OTM callAskBidPre-event quotePost-event quoteDown/upYes/noPnL after spread
OTM putAskBidPre-event quotePost-event quoteDown/upYes/noPnL after spread

That table is intentionally strict. Long option entries buy at ask and exit at bid. Short option entries sell at bid and buy back at ask. You can add midpoint marks as a sensitivity column, but they should not be the headline result unless the post is explicitly about theoretical marks rather than executable replay.

What to reject

The most important rows in an earnings replay may be the rejected rows. Earnings weeks produce a lot of data, but not all of it is fit for a research claim.

Reject a contract or fill when:

  • the option was not listed at the decision time
  • the quote is missing near the decision timestamp
  • the quote is older than the allowed freshness threshold
  • the spread exceeds the maximum allowed spread percentage
  • the bid is zero or below the minimum exit threshold
  • the chain row lacks IV or Greeks needed by the study
  • the selected strike is outside the intended moneyness band
  • the contract has too little volume or open interest for the claim being made
  • the response is paginated and the workflow did not load all needed pages

These rejections make the post less flashy. They also make it more useful. A replay that can explain why it did not trade is much more credible than a replay that silently drops inconvenient contracts.

The developer workflow

A full NVDA earnings replay should be a pipeline, not a notebook full of isolated requests:

  1. Create an event record for the May 20, 2026 release.
  2. Fetch listed expirations for NVDA.
  3. Load the front-week and comparison-week chains.
  4. Identify ATM, near-OTM, and high-activity contracts from the chain.
  5. Fetch pre-event quote windows for selected contracts.
  6. Fetch post-event quote windows for the same contracts.
  7. Fetch trades for tape context and activity validation.
  8. Compute implied move, realized move, IV change, spread cost, and fill-aware PnL.
  9. Record rejects with exact reasons.
  10. Publish the table with enough fields for another developer to reproduce it.

The CuteMarkets endpoints map cleanly to that flow:

  • Expirations find the listed dates before the study assumes a weekly exists.
  • Option Chain Snapshot loads strikes, IV, Greeks, open interest, latest quotes, and latest trades.
  • Contracts verifies exact contract identity and historical reference data.
  • Quotes provide bid/ask evidence for fill realism.
  • Trades validate printed activity and event tape context.

This is also the workflow behind Earnings Options Plays, Scientifically. The difference here is that NVDA gives the framework a fresh, high-attention event where the cost of sloppy assumptions is easy to see.

Why last price is especially bad around earnings

Last price is risky in ordinary options research. It is worse around earnings.

The reason is simple: the market can reprice faster than trades print evenly across the chain. A contract's last sale may come from before the release, from a brief liquidity pocket, from a small retail execution, or from a moment when the NBBO had already moved. If the replay uses that last price as the exit, it may accidentally fill at a market that was not available to the strategy.

This is why the companion post Why Option Quotes Matter More Than Last Price is not just a general principle. It is the rule that keeps an earnings replay from becoming a hindsight chart.

What the post should conclude

The right conclusion for an NVDA earnings replay is not a trade recommendation. It is a research standard:

  • The earnings release is the event timestamp, not the full study.
  • The implied move should be measured from executable bid/ask data, not stale last sales.
  • The exact contracts matter more than the ticker-level story.
  • IV crush should be reported beside spreads, quote freshness, and bid availability.
  • Rejected contracts should stay visible in the artifact.

Major earnings events are useful because they force every part of the options-data stack to work at once. If the chain, quotes, trades, timestamps, and rejects all agree, the replay becomes evidence. If they do not, the right answer is to publish the mismatch instead of smoothing it away.

Sources and next reads

FAQ

Related questions

How should developers study NVDA earnings options?

Start from listed expirations and the option chain, shortlist exact contracts, measure the ATM straddle from bid/ask quotes, then replay entries and exits with quote-aware fills and explicit reject reasons.

Why is last price weak for earnings options?

Last price can be stale around earnings because the chain reprices quickly and trades do not print evenly across every strike. Bid/ask quotes show what market was actually available near the decision timestamp.