NVDA earnings maio 2023 gap da IA
O guidance da NVIDIA em maio de 2023 causou um gap de vinte e seis por cento no ticker após o fechamento, dando início ao superciclo de IA no mercado.
Na noite de 24 de maio de 2023, a NVIDIA projetou a receita para o próximo trimestre cerca de cinquenta por cento acima do consenso de Wall Street — o número do data-center que transformou o "AI capex" no tema central do mercado. A reação da ação ocorreu quase inteiramente onde a maioria dos investidores não consegue operar: overnight. Esta página reproduz o gap que iniciou a era do superciclo de IA a partir do registro minuto a minuto — os próprios números do guidance, se o restante do setor de semicondutores realmente se moveu, o que o mercado de opções registrou, a posição deste gap na história de duas décadas da NVDA e o caminho datado até a marca de um trilhão de dólares. Cada número é uma consulta armazenada; expanda qualquer painel para ver o SQL.
O que a NVIDIA realmente projetou
Os números que um investidor busca para este evento são as projeções de guidance, apresentadas aqui conforme relatado na época. Para o trimestre de abril (fiscal Q1 2024), a NVIDIA reportou receita de $7,19 bilhões contra um consenso de quase $6,52 bilhões, com lucro ajustado de $1,09 por ação contra aproximadamente $0,92 esperado — um resultado acima do esperado, mas este não era o foco. O foco era a perspectiva: guidance de receita para o trimestre de julho de $11,00 bilhões, mais ou menos 2%, contra um consenso do mercado de quase $7,15 bilhões. Grandes empresas costumam projetar valores próximos às expectativas; este valor ficou mais de cinquenta por cento acima delas, na linha de receita de uma empresa que já está entre as maiores do mundo, com a companhia apontando para a demanda de data centers por chips de IA. O guidance em si provou ser conservador posteriormente — o trimestre de julho fechou em $13,51 bilhões quando a NVIDIA reportou em agosto. Esses números de consenso são contextos reportados pela imprensa, não dados internos; tudo abaixo é o veredito do mercado sobre eles.
O gap, registrado
O SQL exato por trás de cada número
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')O fechamento oficial de 24 de maio: $305.41. Em poucas horas, o pregão after-hours já havia levado a ação para $380.6 — uma alta de +24.6% na sessão estendida após o guidance. A abertura regular da manhã seguinte registrou $385.23: um gap de overnight de +26.1% — aproximadamente $197 bilhões de valor de mercado criados entre o fechamento e a abertura seguinte, considerando as cerca de 2,47 bilhões de ações em circulação na época. Este continua sendo o exemplo clássico moderno de por que as ações dão gap: a informação foi divulgada enquanto o mercado principal estava fechado, e as sessões estendidas precificaram o fato antes que a maioria dos detentores pudesse agir.
O dia após o gap
O SQL exato por trás de cada número
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')O resultado foi contraintuitivo: após um gap de +26.1%, a sessão regular praticamente não se moveu. A abertura registrou $385.23; uma mínima de shakeout de $366.35 ocorreu às 09:38 ET, minutos após o pregão — e mesmo essa mínima ficou 20% acima do fechamento anterior, portanto o gap não chegou perto de ser preenchido. A máxima da sessão de $394.8 foi registrada às 11:27 ET, e o fechamento, $379.79, ficou a poucos pontos percentuais da abertura — com um volume colossal de 151.4 milhões de ações. O retorno do dia pertenceu inteiramente a quem manteve a posição durante a noite. Compradores na abertura pagaram efetivamente o nível totalmente reajustado — e vendedores na abertura capturaram esse valor. O gap foi o evento; a sessão foi apenas o ajuste.
Todo o setor se moveu?
Um "boom de IA" concentrado em apenas um ticker seria apenas um salto nos resultados. A hipótese a ser testada é se o repricing se estendeu além da NVIDIA na mesma sessão — por isso, apresentamos a mesma medição do fechamento de 24 de maio ao fechamento de 25 de maio para um conjunto selecionado de nomes de semicondutores e setores adjacentes à IA, utilizando os ETFs SPY e QQQ como contexto de mercado.
O SQL exato por trás de cada número
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 DESCHouve movimento — e de forma desigual. As duas grandes fabricantes de chips mais próximas da operação, TSM (+12%) e AMD (+11.2%), tiveram repricing de dois dígitos na mesma sessão, sem terem divulgado resultados naquela noite, e a AVGO somou 7.3%. O mercado amplo mal registrou o movimento: o SPY fechou com alta de apenas 0.9%, e o ETF Nasdaq-100, QQQ, subiu 2.4%. A dispersão dentro do setor indica que o mercado estava reordenando os vencedores, em vez de elevar todos os ativos do setor: a Intel terminou a mesma sessão com -5.4%. Um repricing setorial com um perdedor no meio é um fenômeno diferente de um rali generalizado no mercado — e essa divisão, visível logo no primeiro dia, tornou-se a marca registrada do trade de IA.
O tape de opções: depois, não antes
Se os traders tivessem feito front-running antes do print, isso apareceria nas opções listadas. Aqui está o tape completo de opções da NVDA — cada contrato em cada strike e vencimento da NVDA — por sessão: cinco sessões antes do relatório, a sessão do relatório e o dia do gap.
O SQL exato por trás de cada número
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 sessionO tape pré-relatório não mostra uma corrida de compra. A atividade manteve um ritmo constante durante a semana de opex, atingindo o pico de 1.78 milhões de contratos em 2023-05-18, a sessão antes do vencimento mensal de 19 de maio; as duas sessões imediatamente anteriores ao earnings foram as mais quietas do período — 0.37 e 0.42 milhões de contratos. A sessão do relatório registrou 0.93 milhões. Em seguida, veio o guidance: 2.75 milhões de contratos no dia do gap, o maior do período, e $4.82 bilhões de prêmio de opção em uma única sessão — contra $0.77 bilhões na sessão do relatório e aproximadamente $0.39–$0.4 bilhões nos dias de baixa atividade. As calls representaram 59.8% do volume de contratos do dia do gap. Um aviso sobre a leitura destes dados: trata-se de volume, não open interest — contratos sendo negociados, não posicionamento líquido — e, por essa métrica, a explosão ocorreu depois da notícia, não antes dela.
Onde o gap de maio de 2023 se posiciona na história da NVDA
Este foi realmente o maior repricing noturno da NVIDIA ou apenas o mais famoso? Histórico completo: cada sessão da NVDA no registro de minutos desde 2003, classificada pelo tamanho da abertura da sessão regular em relação ao fechamento oficial anterior.
O SQL exato por trás de cada número
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 1025 de maio de 2023 é o maior gap de alta noturno no histórico de registros de minutos da NVDA: +26.1%, bem acima do segundo colocado (2003-11-07, +19.1%, a partir de um fechamento anterior de $18.18). O restante da lista consiste majoritariamente em manhãs após relatórios de resultados — incluindo 2023-02-23 e 2024-02-22, os resultados da era de IA de fevereiro de 2023 e fevereiro de 2024, que superaram dez por cento e ainda não chegam perto deste.
O caminho para um trilhão de dólares
O gap não desapareceu — ele se ampliou. Com aproximadamente 2,47 bilhões de ações em circulação, a NVIDIA reportou naquele trimestre que um valor de mercado de US$ 1 trilhão equivalia a cerca de US$ 404,86 por ação, o patamar que a imprensa financeira monitorou naquela semana. Abaixo, o histórico desde o fechamento anterior ao gap:
O SQL exato por trás de cada número
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_dateO SQL exato por trás de cada número
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 fO dia do relatório, 24 de maio, havia fechado em -0.5% — o último preço do mercado antes do boom de IA, e a sessão de "leve queda" que tornou o gap famoso. Depois, houve um ganho de +24.4% no dia do gap e +2.5% no dia seguinte. 3 sessões após o guidance, em 2023-05-30, o pregão atingiu US$ 419.38 — ultrapassando a linha do trilhão — e fechou novamente abaixo dela, em US$ 401.13; a sessão seguinte devolveu -5.7%. O primeiro fechamento acima da linha ocorreu em 2023-06-13, a US$ 410.23 — 13 sessões de negociação após o guidance, +34.3% acima do fechamento pré-gap. Em 2023-06-14, a ação estava em US$ 429.98, uma alta de +40.8% em três semanas. Todos os preços aqui referem-se ao negociado em 2023, antes do stock split de dez para um da NVDA em 2024. Em dois anos, a tese de capex em IA que iniciou esta noite tornou-se o tema dominante do mercado — o mesmo complexo cujas volatilidades de 2026 preenchem nossa cobertura moderna da NVDA.
O que este dia ensina
Gaps de earnings são a forma mais pura do problema do overnight: a janela de reação pertence à baixa liquidez e alta velocidade do tape na sessão estendida, enquanto a sessão regular apenas ratifica o movimento. A lição importante deste caso — a maior reprecificação de um único ativo em sua era — não adicionou quase nada entre a abertura e o fechamento. Se o seu plano para eventos é "reagir na abertura regular", este tape mostra exatamente o valor desse plano.
O episódio também redefiniu o que um reporte de earnings pode ser. Surpresas de guidance de poucos por cento movem ações; este foi um choque de guidance de aproximadamente cinquenta por cento na linha de receita de uma empresa que já está entre as maiores do mundo — um erro de categoria no consenso, e não apenas um beat. O mercado tratou isso como nova informação sobre a direção dos gastos de capital de toda uma economia, em vez de apenas o trimestre de uma única empresa. É por isso que o setor complexo se moveu junto, por que um concorrente pode cair com a mesma notícia e por que esta data é lembrada como o sinal de partida do trade de IA, e não apenas como uma história da NVDA.
FAQ sobre o boom de IA da NVDA
Quanto a NVDA subiu no gap após os resultados de maio de 2023?
A sessão regular abriu +26.1% acima do fechamento oficial anterior — $305.41 a $385.23 — após o pregão after-hours já ter subido +24.6% devido ao guidance.
O que a NVIDIA anunciou em 24 de maio de 2023?
Resultados do primeiro trimestre fiscal de 2024 — receita de $7,19 bilhões contra o consenso de quase $6,52 bilhões — além do choque: guidance de receita para o trimestre de julho de $11,00 bilhões, com margem de erro de 2%, contra o consenso do Street de quase $7,15 bilhões, impulsionado pela demanda de data centers por chips de IA.
Este foi o maior gap de resultados da NVIDIA?
Sim, considerando o histórico desde 2003: o gap de +26.1% durante o overnight para 25 de maio de 2023 é o maior gap de alta registrado pela NVDA, superando o segundo colocado de +19.1% em 2003-11-07.
Quando a NVIDIA atingiu um market cap de $1 trilhão pela primeira vez?
O ticker cruzou pela primeira vez o patamar amplamente acompanhado de $404,86 durante o intraday em 2023-05-30 (máxima de $419.38) e fechou acima dele pela primeira vez em 2023-06-13 a $410.23 — 13 sessões de negociação após o guidance de 24 de maio.
Outras ações de semicondutores acompanharam a NVDA?
Sim — TSM somou 12% e AMD +11.2% na mesma sessão, enquanto o SPY subiu menos de um por cento e a Intel fechou em queda. Foi uma reprificação do setor, não um movimento de todo o mercado.
Cada painel acima é uma consulta SQL armazenada e versionada sobre o histórico — expanda o SQL para ver cada medição. Quer vivenciar este dia em vez de apenas ler? É um dos cenários jogáveis no simulador de trading da Strasmore Labs.