OptionSpace.ai
OptionSpace / Research / NVDA Separate the event. Understand the exposure. Test an idea.

What is the market
charging for earnings?

Start with NVDA volatility. Separate the event contribution, compare the last eight reports, and follow expectations into each announcement. Then test a defined-risk trade using actual stored contracts.

NVDAAs of 16 September 2026Historical research
01 / Separate event risk

The same volatility.
A different question.

Compare 30-day ATM volatility with and without the estimated event contribution. Earnings dates make the difference visible; both curves retain the same maturity and observation dates.

NVDA ATM volatility with and without event varianceNVDA ATM volatility with and without event variance
Open interactive chart ↗
Use the Python toolkit
history = client.clean_atm_history(
    "NVDA", "2024-01-02", "2026-09-16", tenor_days=30, granularity="5m"
)
charts.clean_atm_chart(history).show()
Replay the Claude Code answer · Opus 5

Recorded in an isolated Opus 5 session and rendered as text. Waiting shortened; setup and intermediate tool output omitted; local paths shortened. Close and reopen to replay. The chart above remains available to explore.

02 / Compare past reports

What was priced.
What followed.

Each report has the average move priced at the last close before it, and the move that followed. Compare them directly, with the estimate date and announcement timing preserved.

NVDA implied move (the average move priced) and actual move size for eight earningsNVDA implied move (the average move priced) and actual move size for eight earnings
Open interactive chart ↗
Use the Python toolkit
earnings = client.earnings_history(
    "NVDA", "2026-09-16", count=8, granularity="5m"
)
charts.earnings_comparison_chart(earnings).show()
Replay the Claude Code answer · Opus 5

Recorded in an isolated Opus 5 session and rendered as text. Waiting shortened; setup and intermediate tool output omitted; local paths shortened. Close and reopen to replay. The chart above remains available to explore.

03 / Follow expectations

Eight reports.
One comparable timeline.

Overlay the five-minute implied move leading into each report. Session zero is the last market close before the announcement, so before-open and after-close reports align correctly.

Eight five-minute NVDA implied-move run-ups aligned by exchange trading sessionEight five-minute NVDA implied-move run-ups aligned by exchange trading session
Open interactive chart ↗

The darkest blue is the most recent report; earlier reports become progressively lighter. Each line uses five-minute stored estimates. Gaps mark unavailable estimates or quality exclusions; no values are interpolated.

Use the Python toolkit
charts.earnings_runup_chart(earnings).show()
Replay the Claude Code answer · Opus 5

Recorded in an isolated Opus 5 session and rendered as text. Waiting shortened; setup and intermediate tool output omitted; local paths shortened. Close and reopen to replay. The chart above remains available to explore.

04 / Test an idea

From a view
to a testable trade.

Sell a put credit spread before earnings, then close it after the report. Select actual contracts using stored deltas, keep the strikes fixed, and account for both execution prices and fees.

Net simulated P&L for NVDA earnings put credit spreads after feesNet simulated P&L for NVDA earnings put credit spreads after fees
Open interactive chart ↗
Use the Python toolkit
test = client.earnings_backtest(
    "NVDA", "2026-09-16", count=8,
    entry_offset=-5, exit_offset=1,
    fill_model="quote_side", fee_per_contract=0.65, granularity="1m"
)
charts.earnings_backtest_chart(test).show()
Replay the Claude Code answer · Opus 5

Recorded in an isolated Opus 5 session and rendered as text. Waiting shortened; setup and intermediate tool output omitted; local paths shortened. Close and reopen to replay. The chart above remains available to explore.

05 / Follow the trade

One simulated trade,
from entry to exit.

This is the last trade from the backtest above: sell one NVDA $200 put and buy one $185 put, both expiring 18 September 2026. The spread opens on 19 August and closes on 27 August, after the earnings report on 26 August after the close.

Opening credit after entry fees$208.70
Lowest minute mark · 24 Aug, 15:54 ET−$166.96
Closing profit after all fees+$156.40

Top panel · How the trade is doing. Blue tracks P&L from one-minute fitted option marks while the spread is open. It falls to a marked loss of $166.96 before the trade closes at a $156.40 profit. The final point uses simulated closing fills and all $2.60 of fees. There are 2,317 observed minutes between entry and exit. The entry and exit rules are unchanged; nights and weekends have zero width on the chart.

Bottom panel · How much stock-price exposure remains. Green shows position delta in share-equivalents. Positive delta is bullish exposure; +19 is roughly the sensitivity of 19 shares to a small stock-price move. Both option legs close on 27 August, so the remaining delta becomes zero. Delta does not capture volatility exposure or time decay.

Two panels follow the simulated NVDA 200/185 put spread: minute-by-minute P&L above and stock-price exposure below; both legs close on August 27Two panels follow the simulated NVDA 200/185 put spread: minute-by-minute P&L above and stock-price exposure below; both legs close on August 27
One spread, using 100-share option contracts. Fitted marks are valuations, not executable closeout quotes. Explore the observations ↗

Use this view to inspect interim losses and changing exposure before a trade closes. The small opening loss reflects quote-side execution, entry fees and the fitted valuation mark.

Simulation scope. 8 of 8 events traded. One put spread per event; short stored 20–30 delta put, long stored 5–15 delta put, same monthly expiry after exit. Enter five trading sessions before the last pre-report close and exit one session after it. Quote-side fills buy at the ask and sell at the bid, with $0.65 per contract per side. No compounding or capital-return assumption.

Historical simulation using the current earnings calendar. No queue, market-impact, early-assignment, margin, financing or hedge model. Missing fills exclude a trade; missing marks or Greeks remain unavailable. Fitted marks are valuation observations, not executable quotes.

Event measures. Event volatility is a one-standard-deviation move as a percentage of spot, not annualized ATM IV. Realized moves run from the close before the announcement to the close after it. Event adjustment is calculated server-side from the same fitted product data. No data API calls run when this page loads.

Your question comes next

Bring your research workflow.

Explore what the data and tools could support for your team.

Talk to us ↗
Compare volatility across markets →
See the Python toolkit examples →