Qué es la subasta de apertura bursátil
Entienda cómo el cruce de órdenes a las nueve y media establece el precio oficial de cada ticker y por qué puede variar frente a la primera operación del día.
La subasta de apertura es una operación cruzada única a las 9:30 a.m. hora del Este que establece el precio oficial de apertura de cada acción. Antes de la campana, la bolsa de cotización recopila todas las órdenes marcadas para la apertura, calcula el precio único en el que se empareja la mayor cantidad de acciones y ejecuta todo el conjunto en una sola operación; es el reflejo matutino de la subasta de cierre que finaliza la jornada. Cada cifra presentada proviene de la cinta consolidada —el registro público de cada operación de acciones en EE. UU.— con la consulta SQL exacta adjunta a cada panel.
¿Qué es la subasta de apertura? Una definición clara
Las bolsas no se limitan a activarse a las 9:30 y emparejar órdenes una por una. Durante la noche y el pre-market, la bolsa de cotización acumula las órdenes destinadas a la apertura, además de las órdenes límite elegibles que permanecen en su libro. Al sonar la campana, cruza todo el conjunto en una sola transacción a un único precio. Ese registro lleva su propia etiqueta de condición de venta (código 17, "Market Center Opening Trade" — recibos en el último panel), y su precio se convierte en la apertura oficial: el "open" en el registro de precios del día, la referencia detrás de los términos "gapped up" y "gapped down". La subasta y el mercado continuo forman una sola cinta; lo que cambia al sonar la campana es el mecanismo.
La subasta de apertura en el tape real: SPY, AAPL, NVDA
El panel a continuación utiliza el 2 de julio de 2026 —una sesión completa verificada (comprobante en el siguiente panel)— y compara el opening cross de SPY, AAPL y NVDA con el resto de su jornada. El "volumen negociado" solo contabiliza las acciones que el tape suma al volumen consolidado; los mensajes administrativos (condiciones de venta 15, 16, 38) se excluyen de todos los denominadores.
El SQL exacto detrás de cada cifra
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)Lea primero la fila de AAPL: un opening cross de 323.3 mil acciones a $294.1, registrado a las 09:30:00 ET. El cross de NVDA fue de 690 mil acciones y el de SPY de 122 mil. El cross por sí solo representó el 17.4% de todas las acciones de AAPL negociadas en los primeros cinco minutos de la sesión (1856 mil acciones), el 13.8% para NVDA y el 9.4% para SPY; sin embargo, el volumen total del día fue de apenas el 0.43%, 0.48% y 0.21%: menos de medio punto porcentual.
Las últimas dos columnas marcan el cierre: el closing cross de AAPL ese mismo día negoció 10.89 millones de acciones, lo que equivale a 33.7 veces su apertura; el de NVDA fue de 25.2 veces y el de SPY de 13.5 veces. Los fondos indexados y las mesas de referencia operan a precios oficiales de cierre, y ese flujo se concentra en el cross de las 4 p.m.; la mañana no tiene un equivalente. La subasta de cierre es la operación más grande del día; la subasta de apertura es donde comienza oficialmente la jornada.
¿Por qué el precio de apertura oficial puede diferir de la primera operación del día?
Para cuando se ejecuta la subasta, la acción generalmente ha estado negociando durante horas; el pre-market trading comienza desde las 4:00 a.m. ET, y ninguna de esas transacciones establece la apertura oficial. El registro de una sola fila a continuación cubre AAPL durante el periodo del 1 al 2 de julio de 2026, iniciando con una verificación de sesión: SPY registró exactamente 390 barras de un minuto de sesión regular el 2 de julio; una sesión completa, verificada en lugar de asumida.
El SQL exacto detrás de cada cifra
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'La primera impresión de volumen de AAPL el 2 de julio se registró a las 04:00:00 ET a $296.1. La apertura oficial no existía hasta las 09:30:00.491313 ET, cuando la subasta se ejecutó a $294.1; para ese momento, ya había 15832 impresiones de AAPL en el tape, incluyendo 173 en la fracción de segundo entre las 9:30:00.000 y la subasta — operaciones continuas en otros venues que comienzan a emparejarse al toque de campana. Momentos después llegaron 2 mensajes "Market Center Official Open" (condición de venta 16) — el registro de la apertura oficial de cada centro de mercado, que no añade volumen; la bolsa de cotización repite el precio de la subasta exactamente (diferencia: 0).
El registro también mide el gap nocturno. El cierre oficial previo de AAPL — exactamente la impresión de cierre 1 del 1 de julio — fue de $294.38; la subasta de la mañana siguiente se ejecutó a $294.1, un cambio nocturno de -0.1%. Noche tranquila, gap pequeño. Cuando los resultados de ganancias o las noticias surgen durante la noche, el pre-market ajusta el precio primero; la subasta asienta el movimiento en el registro oficial.
¿Cómo funciona la subasta de apertura? Órdenes market-on-open y limit-on-open
Dos tipos de órdenes dedicadas alimentan la apertura, replicando sus contrapartes del cierre:
- Una orden market-on-open (MOO) se ejecuta al precio que determine la subasta; no tiene protección de precio y garantiza casi por completo la participación en la apertura oficial.
- Una orden limit-on-open (LOO) se une a la subasta solo si el precio de apertura es igual o mejor que su límite; ofrece protección de precio, pero con el riesgo de no ejecutarse en el cruce.
Ambas permanecen en la bolsa hasta el cruce y nunca operan en el pre-market durante el proceso. Las bolsas dejan de aceptar o modificar órdenes de apertura poco antes de las 9:30 (los límites varían según la bolsa) y muchos brokers establecen plazos más tempranos.
¿Qué es un desequilibrio en la subasta de apertura?
Antes de la campana, las bolsas publican datos de desequilibrio para la apertura: cuántas acciones hay en fila para comprar frente a las de vender, además de un precio indicativo donde se liquidaría el cruce en ese momento. Un desequilibrio de compra de un millón de acciones significa que un millón de acciones de compra abiertas no tienen pareja hasta el momento. Los operadores del pre-market monitorean estos datos y posicionan sus operaciones en torno a ellos.
La vela de los 9:30 tampoco es la apertura oficial
La mayoría de las plataformas de gráficos integran la apertura en la primera vela de un minuto: todo lo registrado desde las 9:30:00.000 hasta las 9:30:59.999 en todas las sedes, incluyendo la subasta más casi un minuto de negociación continua. Su "apertura" es la primera operación capturada en ese intervalo, no necesariamente la subasta.
El SQL exacto detrás de cada cifra
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)El 2 de julio, las tres velas de las 9:30 abrieron por encima de la apertura oficial: la vela de AAPL muestra $294.12 frente a los $294.1 oficiales — con una diferencia de 2 centavos — mientras que SPY y NVDA están 18 y 2 centavos por encima de sus cruces, respectivamente. Una operación previa al cruce en otra sede entró primero en cada vela; cuando la apertura de un gráfico difiere de la apertura oficial por unos pocos centavos, este suele ser el motivo.
Las columnas de volumen muestran el peso del primer minuto. La vela de las 9:30 de AAPL registró 743 mil acciones en 14662 operaciones — 6.1 veces su vela de almuerzo de las 12:30 de 121 mil; la proporción de NVDA fue de 7.5 veces y la de SPY de 3.6 veces. Los minutos con este nivel de volumen tienen un peso real en el VWAP, el precio promedio ponderado por volumen.
¿Cómo se desarrolla la jornada alrededor de la apertura?
Al dividir la cinta completa de AAPL de julio en intervalos de un cuarto de hora 64, desde las 4:00 a.m. hasta las 8:00 p.m., se contextualiza el impulso de la apertura: los intervalos del pre-market apenas registran actividad, el volumen aumenta drásticamente a las 9:30, disminuye hacia el almuerzo y vuelve a subir hacia el cierre, donde el día termina como empezó, con un cruce de 10.89 millones de acciones de AAPL.
El SQL exacto detrás de cada cifra
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_timeHow do you identify the opening auction print? Sale condition codes
Which print is the auction? The tape itself answers; the code dictionary ships in the same warehouse, and the receipt below is a query, not an assertion.
El SQL exacto detrás de cada cifra
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 idOne asymmetry matters. The close gets one consolidated label (code 8, "Closing Prints"); the open's label is per venue: code 17, "Market Center Opening Trade", flags each market center's own opening trade, and the listing exchange's is the auction. SPY's July 2 tape carries 2 such prints — the 122 thousand-share cross plus a 4-share print from another venue — while AAPL and NVDA each show exactly one (1 and 1), all inside the 9:30:00 second (the open_prints_at_0930 column pins it). Every auction number above is the session's largest such print. Code 16, "Market Center Official Open", is the volume-free administrative echo (0 in the volume column), excluded from every denominator with codes 15 and 38.
Preguntas frecuentes sobre la subasta de apertura
¿A qué hora es la subasta de apertura?
A las 9:30 a.m. ET, cuando comienza la sesión regular; los activos con menor liquidez pueden realizar el cruce momentos después. El 2 de julio de 2026, los cruces de SPY, AAPL y NVDA se registraron exactamente a las 09:30:00 ET. Los días con cierre temprano acortan la sesión de la tarde, no la de la mañana; la subasta de cierre se traslada a la 1:00 p.m.; consulte días festivos y cierres tempranos.
¿Cuál es el precio oficial de apertura?
Es el precio de la subasta de apertura en la bolsa donde cotiza la acción. El 2 de julio de 2026, el cruce de AAPL se fijó en $294.1 — el precio de apertura oficial del día, a pesar de que 15832 acciones de AAPL se negociaron antes esa mañana.
¿Puedo operar en la subasta de apertura?
Sí. Las órdenes Market-on-open (MOO) y limit-on-open (LOO) son estándar en la mayoría de los brokers: las MOO se ejecutan al precio que determine la subasta, las LOO solo se ejecutan en su límite o uno mejor. El plazo para ingresar órdenes termina poco antes de las 9:30, y en muchos brokers ocurre antes.
¿Por qué una acción abrió lejos del cierre de ayer?
Las órdenes se acumulan durante toda la noche mientras la bolsa está cerrada, y la subasta cruza ese interés acumulado en una sola operación. En una noche tranquila, la brecha es pequeña: el cambio nocturno de AAPL el 2 de julio de 2026 fue de -0.1%.
¿Es la subasta de apertura más grande que la subasta de cierre?
No — el cierre es mucho mayor. El 2 de julio de 2026, el cruce de cierre de AAPL fue 33.7 veces su cruce de apertura, el de NVDA fue 25.2 veces, y el de SPY fue 13.5 veces. El flujo que sigue los índices transacciona en el cierre oficial — la subasta de cierre cubre ese extremo.
Cada cifra anterior se genera a partir de una consulta almacenada e inspectable; expanda el SQL bajo cualquier panel para auditarlo. Para analizar el cruce de apertura de un ticker que siga, haga las mismas preguntas en inglés simple en la terminal de Strasmore.