O que é o leilão de abertura das ações
Entenda como o cruzamento de ordens às nove e meia define o preço oficial de abertura de cada ticker e por que ele pode divergir da primeira negociação.
O leilão de abertura é uma negociação cruzada única às 9:30 a.m. Eastern que define o preço oficial de abertura de cada ação. Antes da abertura, a bolsa de listagem coleta todas as ordens marcadas para o leilão, calcula o preço único que pareia o maior número de ações e executa todo o lote em um único registro — o reflexo matinal do leilão de fechamento que encerra o dia. Todos os números abaixo vêm do consolidated tape — o registro público de cada negociação de ações nos EUA — com o SQL exato anexado a cada painel.
O que é o leilão de abertura? Uma definição simples
As bolsas não apenas iniciam as operações às 9:30 e executam ordens uma a uma. Durante a noite e no pré-market, a bolsa de listagem acumula ordens destinadas à abertura — além de ordens limitadas elegíveis no book — e, ao soar do sino, cruza todo o volume em uma única transação por um único preço. Esse registro possui seu próprio rótulo de condição de venda (código 17, "Market Center Opening Trade" — recibos no último painel), e seu preço torna-se a abertura oficial: o "open" no registro de preços do dia, a referência para termos como "gapped up" ou "gapped down". O leilão e o mercado contínuo fazem parte da mesma fita; o que muda ao soar do sino é o mecanismo.
O leilão de abertura no tape real: SPY, AAPL, NVDA
A tabela abaixo utiliza o dia 2 de julho de 2026 — uma sessão completa verificada (comprovante no próximo painel) — e dimensiona o opening cross de SPY, AAPL e NVDA em relação ao restante do dia. O "volume negociado" considera apenas as ações que o tape adiciona ao volume consolidado; mensagens administrativas (condições de venda 15, 16, 38) são excluídas de todos os denominadores.
O SQL exato por trás de cada número
SELECT
ticker,
round(toFloat64(maxIf(size, has(conditions, 17))) / 1e3, 1) AS auction_shares_k,
toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 17))) AS auction_price,
formatDateTime(toTimeZone(argMaxIf(sip_timestamp, (size, sip_timestamp), has(conditions, 17)), 'America/New_York'), '%H:%i:%S') AS auction_time_et,
countIf(has(conditions, 17)) AS opening_print_count,
countIf(has(conditions, 17) AND formatDateTime(toTimeZone(sip_timestamp, 'America/New_York'), '%H:%i:%S') = '09:30:00') AS open_prints_at_0930,
minIf(size, has(conditions, 17)) AS smallest_open_print_shares,
round(toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]) AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) >= 570 AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) < 575)) / 1e3) AS first5_shares_k,
round(100 * toFloat64(maxIf(size, has(conditions, 17))) / toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]) AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) >= 570 AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) < 575)), 1) AS auction_pct_of_first5,
round(100 * toFloat64(maxIf(size, has(conditions, 17))) / toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]))), 2) AS auction_pct_of_day,
round(toFloat64(maxIf(size, has(conditions, 8))) / 1e6, 2) AS closing_auction_shares_m,
round(toFloat64(maxIf(size, has(conditions, 8))) / toFloat64(maxIf(size, has(conditions, 17))), 1) AS close_vs_open_x
FROM global_markets.stocks_trades
WHERE ticker IN ('SPY', 'AAPL', 'NVDA')
AND sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
GROUP BY ticker
ORDER BY indexOf(['SPY', 'AAPL', 'NVDA'], ticker)Leia primeiro a linha da AAPL: um opening cross de 323.3 mil ações a $294.1, registrado às 09:30:00 ET. O cross da NVDA foi de 690 mil ações e o da SPY de 122 mil. O cross sozinho representou 17.4% de todas as ações da AAPL negociadas nos primeiros cinco minutos da sessão (1856 mil ações), 13.8% para NVDA e 9.4% para SPY — contudo, o volume total do dia foi de apenas 0.43%, 0.48% e 0.21%: menos de meio por cento.
As duas últimas colunas mostram o fechamento: o closing cross da AAPL no mesmo dia negociou 10.89 milhões de ações — 33.7 vezes o seu valor de abertura; o da NVDA foi 25.2 vezes e o da SPY 13.5 vezes. Fundos de índice e mesas de benchmark operam aos preços oficiais de fechamento, e esse fluxo se concentra no cross das 16h; o período da manhã não possui equivalente. O leilão de fechamento é a maior operação do dia — o leilão de abertura é onde o dia oficial começa.
Por que o preço de abertura oficial pode ser diferente da primeira negociação do dia?
No momento em que o leilão ocorre, a ação geralmente já está sendo negociada há horas — o pre-market trading começa às 4:00 ET, e nenhuma dessas negociações define a abertura oficial. O registro abaixo detalha o AAPL entre 1 e 2 de julho de 2026, iniciando com uma verificação de sessão: o SPY registrou exatamente 390 barras de minutos de sessão regular em 2 de julho — uma sessão completa, verificada em vez de presumida.
O SQL exato por trás de cada número
WITH
(
SELECT countIf(window_start >= toDateTime('2026-07-02 09:30:00', 'America/New_York') AND window_start < toDateTime('2026-07-02 16:00:00', 'America/New_York'))
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-07-02 00:00:00', 'America/New_York') AND window_start < toDateTime('2026-07-03 00:00:00', 'America/New_York')
) AS bars_jul02,
(
SELECT argMax(sip_timestamp, (size, sip_timestamp))
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL' AND sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00' AND has(conditions, 17)
) AS auction_ts,
(
SELECT argMax(exchange, (size, sip_timestamp))
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL' AND sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00' AND has(conditions, 17)
) AS listing_exchange
SELECT
bars_jul02 AS spy_session_bars_jul02,
countIf(has(conditions, 8) AND sip_timestamp < '2026-07-02 00:00:00') AS jul01_close_print_count,
toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 8) AND sip_timestamp < '2026-07-02 00:00:00')) AS prior_close_price,
countIf(has(conditions, 17) AND sip_timestamp >= '2026-07-02 00:00:00') AS opening_print_count,
toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 17) AND sip_timestamp >= '2026-07-02 00:00:00')) AS auction_price,
formatDateTime(toTimeZone(auction_ts, 'America/New_York'), '%H:%i:%S.%f') AS auction_et,
round(100 * (toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 17) AND sip_timestamp >= '2026-07-02 00:00:00')) - toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 8) AND sip_timestamp < '2026-07-02 00:00:00'))) / toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 8) AND sip_timestamp < '2026-07-02 00:00:00')), 2) AS overnight_gap_pct,
formatDateTime(toTimeZone(minIf(sip_timestamp, sip_timestamp >= '2026-07-02 00:00:00' AND NOT hasAny(conditions, [15, 16, 38])), 'America/New_York'), '%H:%i:%S') AS first_trade_et,
toFloat64(argMinIf(price, (sip_timestamp, sequence_number), sip_timestamp >= '2026-07-02 00:00:00' AND NOT hasAny(conditions, [15, 16, 38]))) AS first_trade_price,
countIf(sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < auction_ts AND NOT hasAny(conditions, [15, 16, 38])) AS trades_before_official_open,
countIf(sip_timestamp >= toDateTime('2026-07-02 09:30:00', 'America/New_York') AND sip_timestamp < auction_ts AND NOT hasAny(conditions, [15, 16, 38])) AS bell_to_cross_trades,
countIf(has(conditions, 16) AND sip_timestamp >= '2026-07-02 00:00:00') AS official_open_msgs,
countIf(has(conditions, 16) AND sip_timestamp >= '2026-07-02 00:00:00' AND exchange = listing_exchange) AS listing_venue_open_msgs,
round(toFloat64(anyIf(price, has(conditions, 16) AND sip_timestamp >= '2026-07-02 00:00:00' AND exchange = listing_exchange)) - toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 17) AND sip_timestamp >= '2026-07-02 00:00:00')), 4) AS listing_open_msg_price_difference
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL' AND sip_timestamp >= '2026-07-01 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'A primeira negociação de volume do AAPL em 2 de julho ocorreu às 04:00:00 ET a $296.1. A abertura oficial só existiu às 09:30:00.491313 ET, quando o cruzamento foi registrado a $294.1 — até lá, 15832 negociações do AAPL já haviam sido registradas, incluindo 173 na fração de segundo entre 9:30:00.000 e o cruzamento — negociações contínuas em outros venues que começam o matching na abertura. Momentos depois, surgiram 2 mensagens "Market Center Official Open" (condição de venda 16) — o registro da própria abertura oficial de cada market center, que não adiciona volume; a bolsa de listagem repete exatamente o preço do leilão (diferença: 0).
O registro também mede o gap de overnight. O último fechamento oficial do AAPL — exatamente a negociação de fechamento de 1 em 1 de julho — foi $294.38; o leilão da manhã seguinte registrou $294.1, uma variação de overnight de -0.1%. Noite calma, gap pequeno. Quando resultados ou notícias saem durante a noite, o pre-market reajusta o preço primeiro; o leilão consolida o movimento no registro oficial.
Como funciona o leilão de abertura? Ordens market-on-open e limit-on-open
Dois tipos específicos de ordens alimentam a abertura, espelhando seus equivalentes no fechamento:
- Uma ordem market-on-open (MOO) é executada pelo preço definido pelo leilão — sem proteção de preço, com participação quase garantida na abertura oficial.
- Uma ordem limit-on-open (LOO) entra no leilão apenas se o preço de abertura for igual ou melhor que o seu limite — com proteção de preço, mas com o risco de não ser executada no cruzamento.
Ambas permanecem na bolsa até o cruzamento e nunca são negociadas no pre-market durante o processo. As bolsas param de aceitar ou modificar ordens de abertura pouco antes das 9:30 (os prazos variam por bolsa), e muitas corretoras estabelecem horários de corte mais cedo.
O que é um desequilíbrio no leilão de abertura?
No período que antecede o sino, as bolsas publicam dados de desequilíbrio (imbalance) para a abertura: a quantidade de ações na fila de compra versus venda, além de um preço indicativo onde o cruzamento ocorreria naquele momento. Um desequilíbrio de compra de um milhão de ações significa que um milhão de ações de compra estão sem par até o momento. Traders do pre-market acompanham esses dados e montam posições com base neles.
O candle de 9:30 também não é a abertura oficial
A maioria das plataformas de gráfico consolida a abertura no primeiro candle de um minuto: tudo o que foi registrado de 9:30:00.000 até 9:30:59.999, de todas as bolsas — o leilão somado a quase um minuto de negociação contínua. A "abertura" do gráfico é o primeiro preço registrado nesse intervalo — não necessariamente o do leilão.
O SQL exato por trás de cada número
WITH auctions AS (
SELECT ticker, toFloat64(argMax(price, (size, sip_timestamp))) AS official_open
FROM global_markets.stocks_trades
WHERE ticker IN ('SPY', 'AAPL', 'NVDA')
AND sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
AND has(conditions, 17)
GROUP BY ticker
)
SELECT
b.ticker AS ticker,
toFloat64(anyIf(b.open, b.window_start = toDateTime('2026-07-02 09:30:00', 'America/New_York'))) AS bar_0930_open,
a.official_open AS official_open,
round(100 * (toFloat64(anyIf(b.open, b.window_start = toDateTime('2026-07-02 09:30:00', 'America/New_York'))) - a.official_open), 0) AS bar_open_minus_official_cents,
round(sumIf(b.volume, b.window_start = toDateTime('2026-07-02 09:30:00', 'America/New_York')) / 1e3) AS bar_0930_vol_k,
anyIf(b.transactions, b.window_start = toDateTime('2026-07-02 09:30:00', 'America/New_York')) AS bar_0930_trades,
round(sumIf(b.volume, b.window_start = toDateTime('2026-07-02 12:30:00', 'America/New_York')) / 1e3) AS bar_1230_vol_k,
round(sumIf(b.volume, b.window_start = toDateTime('2026-07-02 09:30:00', 'America/New_York')) / sumIf(b.volume, b.window_start = toDateTime('2026-07-02 12:30:00', 'America/New_York')), 1) AS x_0930_vs_1230
FROM global_markets.delayed_stocks_minute_aggs AS b
INNER JOIN auctions AS a ON a.ticker = b.ticker
WHERE b.ticker IN ('SPY', 'AAPL', 'NVDA')
AND b.window_start >= toDateTime('2026-07-02 00:00:00', 'America/New_York')
AND b.window_start < toDateTime('2026-07-03 00:00:00', 'America/New_York')
GROUP BY b.ticker, a.official_open
ORDER BY indexOf(['SPY', 'AAPL', 'NVDA'], b.ticker)Em 2 de julho, os três candles de 9:30 abriram acima da abertura oficial: o candle da AAPL mostra $294.12 contra os $294.1 oficiais — 2 centavos de diferença — com SPY 18 centavos e NVDA 2 centavos acima de seus cruzamentos. Um registro pré-cross em outra bolsa entrou primeiro em cada candle; quando a abertura de um gráfico diverge da abertura oficial por alguns centavos, este costuma ser o motivo.
As colunas de volume mostram o peso do primeiro minuto. O candle de 9:30 da AAPL registrou 743 mil ações em 14662 trades — 6.1 vezes o seu candle de almoço das 12:30, de 121 mil; o ratio da NVDA foi de 7.5 vezes, e o da SPY de 3.6 vezes. Minutos com esse volume têm peso real no VWAP, o preço médio ponderado pelo volume.
Como se comporta o volume ao longo do dia próximo à abertura?
Ao dividir o tape completo de AAPL de julho em intervalos de quinze minutos 64, das 4:00 às 20:00, o pico de volume na abertura ganha contexto: os intervalos do pre-market são irrelevantes, o volume aumenta drasticamente às 9:30, diminui próximo ao almoço e cresce em direção ao fechamento — onde o dia termina como começou, com um cruzamento de 10.89 milhões de ações de AAPL.
O SQL exato por trás de cada número
SELECT
formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 15 MINUTE), '%H:%i') AS et_time,
round(sum(volume) / 1e6, 2) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'AAPL'
AND window_start >= toDateTime('2026-07-02 00:00:00', 'America/New_York')
AND window_start < toDateTime('2026-07-03 00:00:00', 'America/New_York')
GROUP BY et_time
ORDER BY et_timeComo identificar o print do leilão de abertura? Códigos de condição de venda
Qual print é o leilão? O tape responde; o dicionário de códigos acompanha o mesmo conjunto, e o recibo abaixo é uma consulta, não uma afirmação.
O SQL exato por trás de cada número
SELECT
name,
id,
toUInt8(JSONExtractBool(update_rules, 'consolidated', 'updates_volume')) AS counts_toward_volume
FROM global_markets.stocks_condition_codes
WHERE asset_class = 'stocks' AND type = 'sale_condition' AND id IN (8, 15, 16, 17, 38)
ORDER BY idUma assimetria é relevante. O fechamento recebe um rótulo consolidado (código 8, "Closing Prints"); o rótulo da abertura é por venue: o código 17, "Market Center Opening Trade", sinaliza a operação de abertura de cada centro de mercado, sendo que a da bolsa de listagem é o leilão. O tape de julho do SPY traz 2 desses prints — o cross de mil ações 122 somado a um print de 4 ações de outro venue — enquanto AAPL e NVDA mostram exatamente um cada (1 e 1), todos dentro do segundo 9:30:00 (a coluna open_prints_at_0930 confirma). Cada número de leilão acima é o maior print desse tipo da sessão. O código 16, "Market Center Official Open", é o eco administrativo sem volume (0 na coluna de volume), excluído de todos os denominadores com os códigos 15 e 38.
FAQ do leilão de abertura
Qual é o horário do leilão de abertura?
Às 9:30 ET, quando começa a sessão regular; ativos menos líquidos podem cruzar momentos depois. Em 2 de julho de 2026, os cruzamentos de SPY, AAPL e NVDA ocorreram exatamente às 09:30:00 ET. Dias com fechamento antecipado encurtam a tarde, não a manhã — o leilão de fechamento passa para as 13:00; veja feriados e fechamentos antecipados.
Qual é o preço oficial de abertura?
É o preço do leilão de abertura na bolsa onde o ativo é listado. Em 2 de julho de 2026, o cruzamento da AAPL registrou $294.1 — a abertura oficial do dia, embora 15832 ações da AAPL tenham sido negociadas mais cedo naquela manhã.
Posso negociar no leilão de abertura?
Sim. Ordens Market-on-open (MOO) e limit-on-open (LOO) são padrão na maioria das corretoras: MOO é executada ao preço definido pelo leilão, LOO só é executada no seu limite ou melhor. O envio de ordens é interrompido pouco antes das 9:30, sendo mais cedo em muitas corretoras.
Por que uma ação abriu muito longe do fechamento de ontem?
As ordens se acumulam durante toda a noite enquanto a bolsa está fechada, e o leilão cruza esse interesse acumulado em um único registro. Em uma noite calma, o gap é pequeno: a variação overnight da AAPL em 2 de julho de 2026 foi de -0.1%.
O leilão de abertura é maior que o leilão de fechamento?
Não — o fechamento é muito maior. Em 2 de julho de 2026, o cruzamento de fechamento da AAPL foi 33.7 vezes o seu cruzamento de abertura, o da NVDA foi 25.2 vezes, e o do SPY foi 13.5 vezes. O fluxo que segue o benchmark transaciona no fechamento oficial — o leilão de fechamento cobre esse período.
Cada valor acima é gerado a partir de uma query armazenada e auditável — expanda o SQL abaixo de qualquer painel para auditá-lo. Para analisar o cruzamento de abertura de um ticker que você acompanha, faça as mesmas perguntas em inglês no terminal Strasmore.