Strasmore Research
Deep dive investigation Matt ConnorBy Matt Connor · Updated 2026-07-25

NVDA May 2023 earnings: di AI gap wey open supercycle

May 25, 2023: NVIDIA guidance shock Wall Street after close and di stock open 26% higher. Di overnight gap wey start di AI supercycle trade.

For evening of May 24, 2023, NVIDIA guide di next quarter revenue roughly fifty percent above wetin Wall Street consensus talk — na di data-center figure wey turn "AI capex" to di main story for market. Di stock response happen almost entirely for where most investors no fit trade am: overnight. Dis page dey replay di gap wey open di AI supercycle era from di stored minute tape — di guidance figures demself, weda di rest of di semiconductor complex really move, wetin di options tape print, where di gap rank for NVDA own two-decade history, and di dated path to di trillion-dollar line. Every number na stored query; expand any panel for di SQL.

Wetin NVIDIA really talk

Di numbers wey pesin wey dey find dis event normally want na di guidance numbers demsef, so make I give una as dem report am for dat time. For dia April quarter (fiscal Q1 2024), NVIDIA report revenue of $7.19 billion against consensus wey near $6.52 billion, plus adjusted earnings of $1.09 per share versus roughly $0.92 wey dem expect — na solid beat, and e no be di story. Di story na di outlook: revenue guidance for di July quarter na $11.00 billion, plus or minus 2%, against Street consensus wey near $7.15 billion. Big companies normally dey guide within few percent of expectations; dis one pass fifty percent above dem, for di revenue line of company wey already dey among di world largest, as di company point to data-center demand for AI chips. Di guidance itsef later prove conservative — di July quarter come in at $13.51 billion wen NVIDIA report am dat August. Those consensus figures na press-reported context, no be warehouse data; everitin wey dey below na di market tape-recorded verdict on dem.

Di gap wey dem don receipt

QueryNVDA: May 24, 2023 official close vs May 25 open — di overnight repricing
The exact SQL behind every number
WITH
    (
        SELECT argMaxIf(toFloat64(close), window_start,
            (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'NVDA'
          AND window_start >= toDateTime('2023-05-24 00:00:00') AND window_start < toDateTime('2023-05-25 04:00:00')
    ) AS rth_close_524,
    (
        SELECT argMax(toFloat64(close), window_start)
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'NVDA'
          AND window_start >= toDateTime('2023-05-24 00:00:00') AND window_start < toDateTime('2023-05-25 04:00:00')
    ) AS last_extended_524
SELECT
    round(rth_close_524, 2) AS may24_official_close,
    round(last_extended_524, 2) AS may24_last_extended_print,
    round((last_extended_524 / rth_close_524 - 1) * 100, 1) AS after_hours_move_pct,
    round(toFloat64(argMinIf(open, window_start,
        (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)), 2) AS may25_rth_open,
    round((toFloat64(argMinIf(open, window_start,
        (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)) / rth_close_524 - 1) * 100, 1) AS overnight_gap_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'NVDA'
  AND window_start >= toDateTime('2023-05-25 04:00:00') AND window_start < toDateTime('2023-05-25 23:59:00')

Di official close for May 24 na: $305.41. Within hours, di after-hours tape don already carry di stock go $380.6 — dat one na +24.6% extended-session move on top di guidance. Di next morning regular open print $385.23: dat na overnight gap of +26.1% — roughly $197 billion of market value wey dem create between one closing bell and di next opening one, at di roughly 2.47 billion shares wey dey outstanding dat time. E still be di canonical modern example of why stocks dey gap: di information land wen di main market don close, and di extended sessions reprice am before most holders fit act.

Di day afta di gap

QueryNVDA on May 25, 2023 — trading di day after di guidance
The exact SQL behind every number
WITH
    (
        SELECT argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'NVDA'
          AND window_start >= toDateTime('2023-05-24 00:00:00') AND window_start < toDateTime('2023-05-25 04:00:00')
    ) AS prior_rth_close
SELECT
    round(prior_rth_close, 2) AS prior_close,
    round(toFloat64(argMinIf(open, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)), 2) AS rth_open,
    round((toFloat64(argMinIf(open, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)) / prior_rth_close - 1) * 100, 1) AS gap_pct,
    round(minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS rth_low,
    formatDateTime(toTimeZone(argMinIf(window_start, (toFloat64(low), toInt64(toUnixTimestamp(window_start))), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 'America/New_York'), '%H:%i') AS low_et,
    round(maxIf(toFloat64(high), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS rth_high,
    formatDateTime(toTimeZone(argMaxIf(window_start, (toFloat64(high), -toInt64(toUnixTimestamp(window_start))), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 'America/New_York'), '%H:%i') AS high_et,
    round(toFloat64(argMaxIf(close, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)), 2) AS rth_close,
    round((toFloat64(argMaxIf(close, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)) / prior_rth_close - 1) * 100, 1) AS day_change_pct,
    round((minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) / prior_rth_close - 1) * 100, 1) AS low_vs_prior_pct,
    round(toFloat64(sum(volume)) / 1e6, 1) AS day_shares_m,
    countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS rth_minute_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'NVDA'
  AND window_start >= toDateTime('2023-05-25 04:00:00') AND window_start < toDateTime('2023-05-25 23:59:00')

Na dis be di counter-intuitive receipt: afta one +26.1% gap, di regular session by itself no really go anywhere. Di open print $385.23; one shakeout low of $366.35 hit at 09:38 ET, minutes afta di bell — and even dat low stand +20% above di prior close, so di gap neva even near to fill. Di session high of $394.8 print at 11:27 ET, and di close, $379.79, land within couple percent of di open — on top colossal 151.4 million shares. Di day return belong entirely to whoever hold through di night. Buyers at di open effectively pay di full repriced level — and sellers at di open capture am. Di gap na di event; di session na di settlement.

Di whole complex move?

"AI boom" wey dey inside one ticker go just be earnings pop. Di claim wey make sense to test na whether di repricing spread pass NVIDIA for di same session — so na di same May 24-close to May 25-close measurement for one checked set of semiconductor and AI-adjacent names, with di index ETFs SPY and QQQ as market context.

QueryMay 25, 2023, close to close: di semiconductor complex around NVDA gap
The exact SQL behind every number
SELECT
    ticker,
    may24_close,
    may25_close,
    round((may25_close / may24_close - 1) * 100, 1) AS day_change_pct
FROM (
    SELECT
        ticker,
        round(argMaxIf(toFloat64(close), window_start,
            toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2023-05-24') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS may24_close,
        round(argMaxIf(toFloat64(close), window_start,
            toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2023-05-25') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS may25_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('NVDA', 'AMD', 'TSM', 'AVGO', 'MU', 'INTC', 'MSFT', 'SPY', 'QQQ')
      AND window_start >= toDateTime('2023-05-24 00:00:00') AND window_start < toDateTime('2023-05-26 00:00:00')
    GROUP BY ticker
)
ORDER BY day_change_pct DESC

E move — and e no even. Di two big chipmakers wey near di trade, TSM (+12%) and AMD (+11.2%), repriced double digits for di same session with no earnings of dia own dat evening, and AVGO add 7.3%. Di broad market barely register am: SPY close up just 0.9%, di Nasdaq-100 ETF QQQ +2.4%. And di dispersion inside di sector na di sign say di market dey re-sort winners instead of to lift everitin wey get chip for body: Intel finish di same session at -5.4%. Sector repricing wey get loser inside am na different animal from market-wide rally — and dat split, wey show for day one, remain di AI trade signature.

Di options tape: afta, no be bifor

If traders bin front-run di print, e for show for di listed options. Dis na NVDA full options tape — everi contract for everi NVDA strike and expiry — by session: five sessions bifor di report, di report session, and di gap day.

QueryNVDA options: contracts, trades, call share, and premium by session
The exact SQL behind every number
SELECT
    toString(toDate(toTimeZone(sip_timestamp, 'America/New_York'))) AS session,
    round(sum(size) / 1e6, 2) AS contracts_m,
    round(count() / 1e3, 0) AS trades_k,
    round(100.0 * sumIf(size, substring(ticker, 13, 1) = 'C') / sum(size), 1) AS call_share_pct,
    round(sum(size * price * 100) / 1e9, 2) AS premium_bn
FROM global_markets.options_trades
WHERE ticker LIKE 'O:NVDA2%'
  AND sip_timestamp >= toDateTime('2023-05-17 00:00:00') AND sip_timestamp < toDateTime('2023-05-26 00:00:00')
GROUP BY session
ORDER BY session

Di pre-print tape no show any stampede. Activity bin dey warm through opex week, e peak for 1.78 million contracts on 2023-05-18, di session bifor di May 19 monthly expiration; di two sessions wey just dey bifor earnings come be di quietest for di window — 0.37 and 0.42 million contracts. Di report session itself print 0.93 million. Den di guidance land: 2.75 million contracts for di gap day, di heaviest for di window, and $4.82 billion of option premium for just one session — against $0.77 billion for di report session and roughly $0.39–$0.4 billion for di quiet days. Calls take 59.8% of gap-day contract volume. One caution as you dey read dis: e be volume, not open interest — contracts wey dey change hand, no be net positioning — and by dis measure di explosion come afta di news, no be bifor am.

Where di May 2023 gap dey for NVDA history

Dis one na NVIDIA biggest overnight repricing for real, or just di one wey everybody dey talk about? Full-history record: every NVDA session on di minute tape since 2003, rank by how big di regular-session open be over di prior official close.

QueryNVDA ten largest overnight gaps up, 2003-present
The exact SQL behind every number
WITH daily AS (
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
        argMinIf(toFloat64(open), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS rth_open,
        argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS rth_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'NVDA'
    GROUP BY et_date
    HAVING countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) > 0
)
SELECT
    toString(et_date) AS session,
    round(prev_close, 2) AS prior_close,
    round(rth_open, 2) AS open_usd,
    round((rth_open / prev_close - 1) * 100, 1) AS overnight_gap_pct
FROM (
    SELECT et_date, rth_open, rth_close,
           lagInFrame(rth_close) OVER (ORDER BY et_date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
    FROM daily
)
WHERE prev_close > 0 AND isFinite(rth_open / prev_close)
ORDER BY overnight_gap_pct DESC
LIMIT 10

May 25, 2023 na di biggest overnight gap up for NVDA recorded minute-tape history: +26.1%, e clear di runner-up well well (2003-11-07, +19.1%, from prior close of $18.18). Di rest of di list mostly na mornings after earnings reports too — including 2023-02-23 and 2024-02-22, di February 2023 and February 2024 AI-era prints wey each one clear ten percent and still no near dis one at all.

Di road to one trillion dollars

Di gap no fade — e just dey compound. For di roughly 2.47 billion shares wey dey outstanding as NVIDIA report for dat quarter, one $1 trillion market value come out to about $404.86 per share, na im be di line wey financial press dey watch dat week. Dis na di dated path from di pre-gap close:

QueryNVDA daily closes from di pre-gap session through mid-June 2023
The exact SQL behind every number
WITH
    daily AS (
        SELECT
            toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
            argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS rth_close
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'NVDA'
          AND window_start >= toDateTime('2023-05-23 00:00:00') AND window_start < toDateTime('2023-06-17 00:00:00')
        GROUP BY et_date
    ),
    (SELECT any(rth_close) FROM daily WHERE et_date = toDate('2023-05-24')) AS pre_gap_close
SELECT
    toString(et_date) AS session,
    round(rth_close, 2) AS close_usd,
    round(if(prev_close = 0, NULL, (rth_close / prev_close - 1) * 100), 1) AS change_pct,
    round((rth_close / pre_gap_close - 1) * 100, 1) AS cum_vs_pregap_pct
FROM (
    SELECT et_date, rth_close,
           lagInFrame(rth_close) OVER (ORDER BY et_date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
    FROM daily
)
WHERE et_date >= toDate('2023-05-24')
ORDER BY et_date
QueryDi trillion-dollar crossing, receipted: first touch and first close above $404.86
The exact SQL behind every number
WITH
    daily AS (
        SELECT
            toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
            argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS rth_close,
            maxIf(toFloat64(high), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS rth_high
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'NVDA'
          AND window_start >= toDateTime('2023-05-24 00:00:00') AND window_start < toDateTime('2023-06-20 00:00:00')
        GROUP BY et_date
    ),
    firsts AS (
        SELECT
            minIf(et_date, rth_high >= 404.86) AS ft,
            minIf(et_date, rth_close >= 404.86) AS fc
        FROM daily
    ),
    (SELECT any(rth_close) FROM daily WHERE et_date = toDate('2023-05-24')) AS pre_close,
    (
        SELECT argMinIf(toFloat64(open), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'NVDA'
          AND window_start >= toDateTime('2023-05-25 04:00:00') AND window_start < toDateTime('2023-05-26 00:00:00')
    ) AS may25_open
SELECT
    round((may25_open - pre_close) * 2.47, 0) AS overnight_cap_added_bn,
    toString(any(f.ft)) AS first_touch_session,
    round(anyIf(d.rth_high, d.et_date = f.ft), 2) AS first_touch_high,
    round(anyIf(d.rth_close, d.et_date = f.ft), 2) AS first_touch_close,
    countIf(d.et_date > toDate('2023-05-24') AND d.et_date <= f.ft) AS sessions_to_first_touch,
    toString(any(f.fc)) AS first_close_session,
    round(anyIf(d.rth_close, d.et_date = f.fc), 2) AS first_close_usd,
    countIf(d.et_date > toDate('2023-05-24') AND d.et_date <= f.fc) AS sessions_to_first_close,
    round((anyIf(d.rth_close, d.et_date = f.fc) / pre_close - 1) * 100, 1) AS first_close_cum_pct
FROM daily AS d
CROSS JOIN firsts AS f

Di report day itself, May 24, bin close for -0.5% — na di market last price before AI boom start, and di "slightly down" session wey make di gap famous. Den e add +24.4% for di gap day and +2.5% di day after. 3 sessions after di guidance, for 2023-05-30, di intraday tape run go $419.38 — e cross di trillion line — and close back below am for $401.13; di next session give back -5.7%. Di first close above di line come for 2023-06-13, for $410.2313 trading sessions after di guidance, +34.3% above di pre-gap close. By 2023-06-14 di stock stand for $429.98, +40.8% inside three weeks. All prices here na as dem trade for 2023, before NVDA 2024 ten-for-one stock split. Within two years di AI-capex trade wey dis evening ignite don turn to di market dominant theme — di same complex wey im 2026 whipsaws dey fill our modern NVDA coverage.

Wetin dis day dey teach

Earnings gap na di purest form of overnight problem: di reaction window belong to extended session wey get thin, fast tape, and regular session mostly just dey confirm am. Di receipt wey worth remembering from dis one — di biggest single-name repricing for im era add almost nothing between im open and close. If your plan for events na "react for regular open," dis tape price exactly wetin dat plan worth.

Di episode also rewrite wetin earnings print fit be. Guidance surprises of a few percent dey move stocks; dis one na guidance surprise of roughly fifty percent on di revenue line of company wey already dey among di world largest — na category error for di consensus instead of beat, and di market treat am as new information about entire economy capital-spending direction instead of one company quarter. Na why di complex move with am, why competitor fit fall on di same news, and why dem remember di date as di AI trade starting gun instead of NVDA story alone.

NVDA AI-boom FAQ

How much NVDA gap up after May 2023 earnings?

Di regular session open +26.1% above di previous official close — $305.41 to $385.23 — after di after-hours tape don already move +24.6% on di guidance.

Wetin NVIDIA announce on May 24, 2023?

Fiscal Q1 2024 results — revenue of $7.19 billion against a consensus near $6.52 billion — plus di shock: July-quarter revenue guidance of $11.00 billion, plus or minus 2%, versus a Street consensus near $7.15 billion, on data-center demand for AI chips.

Dis na NVIDIA biggest earnings gap ever?

Yes, on di minute tape wey go back to 2003: di +26.1% overnight gap into May 25, 2023 na NVDA largest recorded gap up, ahead of di +19.1% runner-up from 2003-11-07.

When NVIDIA first reach a $1 trillion market cap?

Di tape first cross di widely watched $404.86 threshold intraday on 2023-05-30 (high $419.38) and first close above am on 2023-06-13 at $410.2313 trading sessions after di May 24 guidance.

Oda semiconductor stocks move with NVDA?

Yes — TSM add 12% and AMD +11.2% di same session, while SPY rise under one percent and Intel close lower. Na sector repricing, no be market-wide move.


Every panel above na stored, versioned query over di historical tape — expand di SQL to see each measurement. You wan feel dis day instead of reading am? E be one of di playable scenarios for di Strasmore Labs trading simulator.