SPCX: Primeiro mês da SpaceX no mercado
Análise do debut da SPCX em junho de 2026: do opening cross ao volume de negociação, passando pelo spread e a dinâmica de opções e shorts no mercado americano.
A SpaceX abriu capital em 12 de junho de 2026 sob o ticker SPCX — quatro letras que, em abril, ainda negociavam como uma empresa diferente. Com preço de emissão de $135, a ação abriu a $150 (11.1% acima da emissão), atingiu a máxima de fechamento de $201.99 em 2026-06-16, registrou mínima de $146.88 no pre-market e encerrou a $170.72 — 26.5% acima da emissão e 15.5% abaixo do pico — enquanto ocupou a quarta posição em volume financeiro em horário regular em todo o mercado dos EUA, à frente de NVDA. Cada número aqui é o resultado de uma consulta armazenada; expanda qualquer painel para ver o SQL exato.
O SQL exato por trás de cada número
WITH
(
SELECT toFloat64(final_issue_price)
FROM global_markets.stocks_ipos
WHERE ticker = 'SPCX'
ORDER BY listing_date DESC LIMIT 1
) AS issue_px,
(
SELECT count() FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX'
AND window_start >= toDateTime('2026-05-01 00:00:00') AND window_start < toDateTime('2026-06-01 00:00:00')
) AS may_bars,
(
SELECT count() FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2026-06-19 00:00:00') AND window_start < toDateTime('2026-06-20 00:00:00')
) AS spy_jun19,
(
SELECT (toString(argMax(et_date, c)), max(c), argMax(c, et_date))
FROM (
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
argMax(toFloat64(close), window_start) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX'
AND window_start >= toDateTime('2026-06-12 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY et_date
)
) AS closes,
(
SELECT max(toFloat64(high)) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX'
AND window_start >= toDateTime('2026-06-12 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
) AS hi,
(
SELECT min(toFloat64(low)) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX'
AND window_start >= toDateTime('2026-06-12 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
) AS lo
SELECT
round(issue_px, 2) AS issue_price_usd,
round(toFloat64(argMin(open, window_start)), 2) AS opening_cross_price,
round((toFloat64(argMin(open, window_start)) / issue_px - 1) * 100, 1) AS open_pop_vs_issue_pct,
closes.1 AS peak_close_date,
round(closes.2, 2) AS peak_close,
round(closes.3, 2) AS final_close,
round((closes.3 / issue_px - 1) * 100, 1) AS final_vs_issue_pct,
round((1 - closes.3 / closes.2) * 100, 1) AS final_below_peak_pct,
round(hi, 2) AS month_high,
formatDateTime(toTimeZone(minIf(window_start, toFloat64(high) >= hi - 0.011), 'America/New_York'), '%Y-%m-%d %H:%i') AS month_high_first_bar_et,
countIf(toFloat64(high) >= hi - 0.011) AS bars_within_cent_of_high,
argMinIf(transactions, window_start, toFloat64(high) >= hi - 0.011) AS high_minute_trades,
round(lo, 2) AS month_low_extended,
formatDateTime(toTimeZone(argMin(window_start, toFloat64(low)), 'America/New_York'), '%Y-%m-%d %H:%i') AS month_low_bar_et,
countIf(toFloat64(low) <= lo + 0.011) AS bars_within_cent_of_low,
argMin(transactions, toFloat64(low)) AS low_minute_trades,
round(minIf(toFloat64(low), (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS month_low_regular_hours,
round(minIf(toFloat64(low), (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) - lo, 2) AS rth_minus_extended_low,
round(toFloat64(sum(volume)) / 1e9, 2) AS month_shares_bn,
uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions,
may_bars AS may_2026_bars,
spy_jun19 AS spy_bars_june19
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX'
AND window_start >= toDateTime('2026-06-12 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')Um ticker, duas empresas
O SPCX é um símbolo reutilizado, portanto, os comprovantes de verificação vêm primeiro. Até abril de 2026, o ticker operava como um fundo de baixa liquidez — 13 barras de um minuto em seu último mês de atividade, entre $21.92 e $23.64. Em maio de 2026, não houve registro algum (0 barras). Em 12 de junho, ele foi reatribuído à Space Exploration Technologies Corp.:
O SQL exato por trás de cada número
WITH
(
SELECT (toString(listing_date), toFloat64(final_issue_price), round(toFloat64(total_offer_size) / 1e9, 1),
primary_exchange, issuer_name, security_description, toFloat64(max_shares_offered))
FROM global_markets.stocks_ipos
WHERE ticker = 'SPCX'
ORDER BY listing_date DESC LIMIT 1
) AS ipo,
(SELECT count() FROM global_markets.stocks_balance_sheets WHERE cik = '0001181412' OR has(tickers, 'SPCX')) AS bs_rows,
(SELECT count() FROM global_markets.stocks_cash_flow_statements WHERE cik = '0001181412' OR has(tickers, 'SPCX')) AS cf_rows,
(SELECT count() FROM global_markets.stocks_income_statements WHERE cik = '0001181412' OR has(tickers, 'SPCX')) AS is_rows
SELECT
ipo.1 AS listing_date,
ipo.5 AS issuer,
round(ipo.2, 2) AS final_issue_price_usd,
ipo.3 AS offer_size_busd,
round(ipo.7 / 1e6, 1) AS max_shares_offered_m,
ipo.4 AS listing_exchange,
ipo.6 AS security,
bs_rows + cf_rows + is_rows AS fundamentals_rowsO SQL exato por trás de cada número
SELECT
toStartOfMonth(window_start) AS month,
count() AS minute_bars,
round(min(toFloat64(low)), 2) AS low_usd,
round(max(toFloat64(high)), 2) AS high_usd,
round(toFloat64(sum(volume)) / 1e6, 2) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX'
AND window_start >= toDateTime('2025-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY month
ORDER BY monthUma consulta de "histórico do SPCX" sem filtragem de janela une duas empresas não relacionadas — portanto, cada janela aqui começa em 12 de junho de 2026. O feed de notícias mostra a mesma queda (0 artigos com a tag SPCX nos últimos doze meses), assim como o interesse de venda a descoberto (short interest): um salto de aproximadamente 11461x durante o intervalo.
O rastro documental veio primeiro
O SQL exato por trás de cada número
SELECT
form_type,
uniqExact(accession_number) AS filings,
toString(min(filing_date)) AS first_filed,
toString(max(filing_date)) AS last_filed
FROM global_markets.stocks_sec_edgar_index
WHERE cik = '0001181412'
AND filing_date >= toDate('2026-01-01') AND filing_date <= toDate('2026-06-30')
GROUP BY form_type
ORDER BY min(filing_date), form_typeLendo de cima para baixo, o IPO se monta: uma emenda confidencial (DRS/A) em 2026-05-07, o S-1 público em 2026-05-20, emendas 2 a este, seguidas por 7 FWP prospectos de escrita livre — material de roadshow — entre 2026-06-04 e 2026-06-11. O registro e a certificação na exchange ocorreram em 2026-06-10; o aviso de eficácia e o primeiro de 10 formulários Form 3 de insiders em 2026-06-11; o prospecto 424B4 final e um S-8 no próprio dia da listagem. Depois, o ritmo mudou para os 8-Ks:
O SQL exato por trás de cada número
SELECT
toString(filing_date) AS filed,
form_type,
replaceAll(substring(items_text, 1, 170), '\n', ' · ') AS opening_lines
FROM global_markets.stocks_8k_text
WHERE cik = '0001181412'
AND filing_date >= toDate('2026-06-01') AND filing_date <= toDate('2026-06-30')
ORDER BY filing_date6 deles em menos de duas semanas: vendas de ações não registradas no fechamento do IPO (Item 3.02); um contrato relevante com a X67 Inc., uma subsidiária integral (1.01); mudanças na diretoria e executivos (5.02); um aviso de Regulation FD (7.01); e avisos do Item 8.01 sobre uma oferta de notas seniores não garantidas que começou em 22 de junho, conforme o 8-K protocolado em 2026-06-23. Uma manchete de 23 de junho resumiu: "SpaceX's Fundraising Is Not Over With a $20 Billion New Bond Offering". O período de oferta e as mínimas mensais da ação ocorrem nos mesmos dias do calendário; este dado não indica nada além disso.
Dia de listagem: uma abertura sem o horário das 9:30
Um IPO não abre junto com o mercado. A Nasdaq começou a publicar cotações de SPCX às 09:50:01 ET — pares indicativos de bid e ask travados, percorrendo o book em direção a um preço de clearing — e por quase duas horas não houve negociações. A primeira execução pública da SpaceX foi o próprio opening cross: 58.21 milhões de ações a $150, registrada às 11:46:45 ET sob os códigos de condição 17, 9 e 41 (impressão de abertura do market-center, cross, isento de trade-through). A ação subiu até 176.52, manteve uma mínima de 149.34 e encerrou com um closing cross de 7.85 milhões de ações a $160.95 — 19.2% acima do preço de emissão. Totais: 513.5 milhões de ações, $84.1 bilhões, 8.57 milhões de prints, em uma sessão regular de pouco mais de quatro horas.
O SQL exato por trás de cada número
WITH
(
SELECT toFloat64(final_issue_price)
FROM global_markets.stocks_ipos
WHERE ticker = 'SPCX'
ORDER BY listing_date DESC LIMIT 1
) AS issue_px,
(
SELECT (formatDateTime(toTimeZone(min(sip_timestamp), 'America/New_York'), '%H:%i:%S'), round(count() / 1e6, 2))
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPCX'
AND sip_timestamp >= toDateTime64('2026-06-12 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-06-13 00:00:00', 9)
) AS q,
(
SELECT (round(toFloat64(sum(volume)) / 1e6, 1), round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 1),
round(max(toFloat64(high)), 2), round(min(toFloat64(low)), 2))
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX'
AND window_start >= toDateTime('2026-06-12 00:00:00') AND window_start < toDateTime('2026-06-13 00:00:00')
) AS bars
SELECT
q.1 AS first_quote_et,
q.2 AS day_quote_updates_m,
formatDateTime(toTimeZone(minIf(sip_timestamp, has(conditions, 17)), 'America/New_York'), '%H:%i:%S') AS opening_cross_et,
round(toFloat64(maxIf(size, has(conditions, 17))) / 1e6, 2) AS opening_cross_shares_m,
round(toFloat64(argMaxIf(price, size, has(conditions, 17))), 2) AS opening_cross_price,
formatDateTime(toTimeZone(minIf(sip_timestamp, has(conditions, 8)), 'America/New_York'), '%H:%i:%S') AS closing_cross_et,
round(toFloat64(maxIf(size, has(conditions, 8))) / 1e6, 2) AS closing_cross_shares_m,
round(toFloat64(argMaxIf(price, size, has(conditions, 8))), 2) AS closing_cross_price,
round((toFloat64(argMaxIf(price, size, has(conditions, 8))) / issue_px - 1) * 100, 1) AS close_vs_issue_pct,
round(count() / 1e6, 2) AS day_prints_m,
bars.1 AS day_shares_m,
bars.2 AS day_dollar_bn,
bars.3 AS day_high,
bars.4 AS day_low
FROM global_markets.stocks_trades
WHERE ticker = 'SPCX'
AND sip_timestamp >= toDateTime64('2026-06-12 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-06-13 00:00:00', 9)O fluxo de cotações mostra a parte de descoberta de preço. Antes do cross, as únicas atualizações de NBBO são os indicativos travados (18 na metade de 09:30, com spread zero por construção). Em seguida, o fluxo de cotações aumentou: 445211 atualizações apenas no bucket 11:30, com um bid-ask spread mediano de 30 centavos (18.6 bps). No bucket 13:00, a mediana era de 6 centavos (3.5 bps) — um spread não nasce apertado; este se estreitou em duas horas.
O SQL exato por trás de cada número
SELECT
formatDateTime(toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_bucket,
count() AS quote_updates,
round(quantileDeterministicIf(0.5)(toFloat64(ask_price) - toFloat64(bid_price), toUInt64(toUnixTimestamp64Micro(sip_timestamp)), bid_price > 0 AND ask_price >= bid_price) * 100, 1) AS med_spread_cents,
round(quantileDeterministicIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, toUInt64(toUnixTimestamp64Micro(sip_timestamp)), bid_price > 0 AND ask_price >= bid_price), 2) AS med_spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPCX'
AND sip_timestamp >= toDateTime64('2026-06-12 13:30:00', 9) AND sip_timestamp < toDateTime64('2026-06-12 20:00:00', 9)
GROUP BY et_bucket
ORDER BY et_bucketSessão por sessão
O SQL exato por trás de cada número
SELECT
et_date,
close_usd,
round(if(prev_close = 0, NULL, (close_usd / prev_close - 1) * 100), 1) AS change_pct,
shares_m,
dollar_bn
FROM (
SELECT et_date, close_usd, shares_m, dollar_bn,
lagInFrame(close_usd) OVER (ORDER BY et_date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
FROM (
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
round(argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS close_usd,
round(toFloat64(sum(volume)) / 1e6, 1) AS shares_m,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX'
AND window_start >= toDateTime('2026-06-12 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY et_date
)
)
ORDER BY et_dateO movimento: 19.3% na segunda sessão, um fechamento de pico de $201.99 em 2026-06-16, seguidos por três quedas consecutivas — a mais acentuada foi uma movimentação de -16.4% em 2026-06-22, a primeira sessão após o feriado de 19 de junho e o dia do início da oferta de notas. A queda atingiu o fundo de $152.74 em 2026-06-26; as duas últimas sessões fecharam 7.4% e 4.1% mais altas (2026-06-29 possui seu próprio resumo diário e análise detalhada por tick). O volume caiu mais rápido do que o preço se recuperou: 513.5 milhões de ações no primeiro dia, 75.8 milhões em 2026-06-30.
Ambos os extremos do mês sobrevivem a uma conferência de dados — e ocorrem em fases de mercado diferentes. A máxima de $225.64 registrada em 2026-06-16 10:02 ET: 2 barras com spread de um centavo, 47699 negociações no primeiro minuto de pico. A mínima de $146.88 registrada em 2026-06-23 04:11 ET com 2 barras com spread de um centavo e 14844 negociações naquele minuto. A mínima do horário regular é $147.11, $0.23 acima dela; qualquer dado de "mínima de junho" deve especificar a qual delas se refere.
O quarto maior ticker do mercado
Ao classificar todos os símbolos listados nos EUA por volume financeiro em horário regular entre 12 e 30 de junho — uma agregação de todo o mercado, não apenas uma lista de candidatos — o novo listing ocupa a quarta posição: $344.6 bilhões, atrás apenas de MU ($585.4 bilhões), SPY e QQQ, à frente de NVDA ($253.1 bilhões), TSLA e AAPL. Cada linha considerou as mesmas 12 sessões.
O SQL exato por trás de cada número
SELECT
ticker,
round(sum(toFloat64(volume) * toFloat64(close)) / 1e9, 1) AS regular_hours_dollar_bn,
round(100 * sum(toFloat64(volume) * toFloat64(close)) / max(sum(toFloat64(volume) * toFloat64(close))) OVER (), 1) AS pct_of_leader,
toUInt8(ticker = 'SPCX') AS is_spcx
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= toDateTime('2026-06-12 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY ticker
ORDER BY regular_hours_dollar_bn DESC
LIMIT 12Composição do fluxo de ordens
O SQL exato por trás de cada número
WITH
(
SELECT (round(count() / 1e6, 2),
round(100.0 * countIf(bid_price > 0 AND ask_price > 0 AND ask_price > bid_price) / count(), 2),
countIf(bid_price > 0 AND ask_price > 0 AND ask_price = bid_price),
countIf(bid_price > 0 AND ask_price > 0 AND ask_price < bid_price),
countIf(bid_price <= 0 OR ask_price <= 0),
countIf(bid_price > 0 AND ask_price > 0 AND ask_price < bid_price AND sip_timestamp < toDateTime64('2026-06-13 00:00:00', 9)),
countIf(bid_price > 0 AND ask_price > 0 AND ask_price < bid_price AND sip_timestamp >= toDateTime64('2026-06-30 00:00:00', 9)))
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPCX'
AND sip_timestamp >= toDateTime64('2026-06-12 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)
) AS quote_census
SELECT
round(count() / 1e6, 2) AS prints_m,
quantileDeterministic(0.5)(toFloat64(size), toUInt64(abs(sequence_number))) AS median_print_shares,
round(avg(toFloat64(size)), 1) AS avg_print_shares,
round(100.0 * countIf(size < 100) / count(), 1) AS odd_lot_pct_of_prints,
round(100.0 * countIf(toFloat64(size) != round(toFloat64(size))) / count(), 2) AS fractional_pct_of_prints,
quote_census.1 AS nbbo_updates_m,
quote_census.2 AS clean_two_sided_pct,
quote_census.3 AS locked_updates,
quote_census.4 AS crossed_updates,
quote_census.5 AS one_sided_or_empty_updates,
quote_census.6 AS crossed_first_session,
quote_census.7 AS crossed_final_session
FROM global_markets.stocks_trades
WHERE ticker = 'SPCX'
AND sip_timestamp >= toDateTime64('2026-06-12 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)O volume de dados apresenta letras pequenas e alta densidade de cotações: 41.01 milhões de prints com mediana de 10 ações (média de 64.2 — grandes ordens cruzadas elevam a média), 81.9% odd lots (menos de 100 ações), 8.73% fracionário — padrão condizente com o uso de apps de varejo que dividem ordens, com market makers do outro lado. O volume de cotações: 11.78 milhões de atualizações de NBBO, 99.32% bid-ask limpo; 46377 cruzado momentaneamente (bid acima do ask — venues dessincronizados), com queda de 17730 no primeiro dia para 437 em 30 de junho; 34118 travado; 116 unilateral ou vazio. As estatísticas de spread abaixo excluem cotações cruzadas e unilaterais, com contagem de quedas no painel.
As temporadas do spread
A característica marcante de um novo listing é a estabilização do seu spread — medido por sessão tanto pela mediana das atualizações quanto pela média ponderada pelo tempo. O primeiro dia começa no cruzamento das 11:46; incluir os indicativos travados no pré-market tornaria o valor mais baixo.
O SQL exato por trás de cada número
SELECT
session,
quote_updates,
invalid_dropped,
med_spread_cents,
tw_spread_cents,
med_spread_bps,
tw_spread_bps,
round(100 * (tw_spread_bps / min(tw_spread_bps) OVER () - 1), 0) AS pct_above_tightest_session
FROM (
SELECT
session,
count() AS quote_updates,
countIf(NOT valid) AS invalid_dropped,
round(quantileDeterministicIf(0.5)(spread, toUInt64(ts_us), valid) * 100, 1) AS med_spread_cents,
round(sumIf(spread * dt, valid AND dt > 0) / sumIf(dt, valid AND dt > 0) * 100, 1) AS tw_spread_cents,
round(quantileDeterministicIf(0.5)(spread / mid * 10000, toUInt64(ts_us), valid), 2) AS med_spread_bps,
round(sumIf(spread / mid * dt, valid AND dt > 0) / sumIf(dt, valid AND dt > 0) * 10000, 2) AS tw_spread_bps
FROM (
SELECT session, spread, mid, valid, ts_us,
greatest(if(next_us = 0, end_us, least(next_us, end_us)) - ts_us, 0) AS dt
FROM (
SELECT
toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS session,
toFloat64(ask_price) - toFloat64(bid_price) AS spread,
(toFloat64(ask_price) + toFloat64(bid_price)) / 2 AS mid,
(bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) AS valid,
toUnixTimestamp64Micro(sip_timestamp) AS ts_us,
toUnixTimestamp64Micro(toDateTime64(concat(toString(toDate(toTimeZone(sip_timestamp, 'America/New_York'))), ' 20:00:00'), 6, 'UTC')) AS end_us,
leadInFrame(toUnixTimestamp64Micro(sip_timestamp)) OVER (PARTITION BY toDate(toTimeZone(sip_timestamp, 'America/New_York')) ORDER BY sip_timestamp ASC, sequence_number ASC ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS next_us
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPCX'
AND sip_timestamp >= toDateTime64('2026-06-12 15:46:00', 9)
AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
)
)
GROUP BY session
)
ORDER BY sessionPonderado pelo tempo, o spread passou de 23.5 centavos (7.64 bps) no primeiro dia para 7.9 centavos (4.7 bps) em 2026-06-30 — aproximadamente dois terços mais estreito em dólares, mas com redução muito menor em termos relativos; as séries em dólar e relativa divergem em um período no qual o preço oscilou entre $146.88 e $225.64. A sessão com o menor spread foi 2026-06-22, com 2 bps, apresentando alargamentos em 2026-06-17 (8.96 bps, na sessão após o pico de preço) e 2026-06-24 (7.38 bps), sendo este último coincidindo com a queda do volume para 71.7 milhões de ações, partindo de 152.3 milhões. Para comparação, três referências de 30 de junho:
O SQL exato por trás de cada número
SELECT
ticker,
count() AS quote_updates,
countIf(NOT valid) AS invalid_dropped,
round(quantileDeterministicIf(0.5)(spread, toUInt64(ts_us), valid) * 100, 1) AS med_spread_cents,
round(quantileDeterministicIf(0.5)(spread / mid * 10000, toUInt64(ts_us), valid), 2) AS med_spread_bps,
round(sumIf(spread / mid * dt, valid AND dt > 0) / sumIf(dt, valid AND dt > 0) * 10000, 2) AS tw_spread_bps
FROM (
SELECT ticker, spread, mid, valid, ts_us,
greatest(if(next_us = 0, end_us, least(next_us, end_us)) - ts_us, 0) AS dt
FROM (
SELECT
ticker,
toFloat64(ask_price) - toFloat64(bid_price) AS spread,
(toFloat64(ask_price) + toFloat64(bid_price)) / 2 AS mid,
(bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) AS valid,
toUnixTimestamp64Micro(sip_timestamp) AS ts_us,
toUnixTimestamp64Micro(toDateTime64('2026-06-30 20:00:00', 6, 'UTC')) AS end_us,
leadInFrame(toUnixTimestamp64Micro(sip_timestamp)) OVER (PARTITION BY ticker ORDER BY sip_timestamp ASC, sequence_number ASC ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS next_us
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPCX', 'AAPL', 'NATH')
AND sip_timestamp >= toDateTime64('2026-06-30 13:30:00', 9)
AND sip_timestamp < toDateTime64('2026-06-30 20:00:00', 9)
)
)
GROUP BY ticker
ORDER BY tickerSpread mediano cotado da Apple: 3 centavos (1.04 bps). SPCX: 6 centavos (3.54 bps). Nathan's Famous, com 1036 atualizações de cotação na sessão: 30 centavos (29.66 bps). Após dezoito dias, a SpaceX cotou algumas vezes mais larga que uma mega-cap, mas várias vezes mais estreita que um ativo de baixa liquidez.
Opções do terceiro dia
O SQL exato por trás de cada número
WITH
(
SELECT (round(sum(toFloat64(price) * size) * 100 / 1e9, 2), round(sum(size) / 1e6, 1))
FROM global_markets.options_trades
WHERE startsWith(ticker, 'O:AAPL') AND length(ticker) = 21
AND sip_timestamp >= toDateTime64('2026-06-01 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)
) AS aapl,
(
SELECT (
concat('$', toString(intDiv(toUInt32OrZero(substring(ticker, 14, 8)), 1000)),
if(substring(ticker, 13, 1) = 'P', ' put', ' call'),
', expiry 20', substring(ticker, 7, 2), '-', substring(ticker, 9, 2), '-', substring(ticker, 11, 2)),
toUInt64(sum(size)), toUInt64(count()),
round(toFloat64(sum(toFloat64(price) * size)) / toFloat64(sum(size)), 2),
round(sum(toFloat64(price) * size) * 100 / 1e6, 1))
FROM global_markets.options_trades
WHERE startsWith(ticker, 'O:SPCX') AND length(ticker) = 21
AND sip_timestamp >= toDateTime64('2026-06-12 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)
GROUP BY ticker ORDER BY sum(size) DESC LIMIT 1
) AS busiest,
(
SELECT (
concat('$', toString(intDiv(toUInt32OrZero(substring(ticker, 14, 8)), 1000)),
if(substring(ticker, 13, 1) = 'P', ' put', ' call'),
', expiry 20', substring(ticker, 7, 2), '-', substring(ticker, 9, 2), '-', substring(ticker, 11, 2)),
round(toFloat64(sum(toFloat64(price) * size)) / toFloat64(sum(size)), 2),
round(sum(toFloat64(price) * size) * 100 / 1e6, 1))
FROM global_markets.options_trades
WHERE startsWith(ticker, 'O:SPCX') AND length(ticker) = 21
AND sip_timestamp >= toDateTime64('2026-06-12 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)
GROUP BY ticker ORDER BY sum(toFloat64(price) * size) DESC LIMIT 1
) AS premium_magnet,
(
SELECT max(pc)
FROM (
SELECT round(toFloat64(sumIf(size, substring(ticker, 13, 1) = 'P')) / toFloat64(sumIf(size, substring(ticker, 13, 1) = 'C')), 3) AS pc
FROM global_markets.options_trades
WHERE startsWith(ticker, 'O:SPCX') AND length(ticker) = 21
AND sip_timestamp >= toDateTime64('2026-06-12 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)
GROUP BY toDate(sip_timestamp)
)
) AS max_daily_pc
SELECT
formatDateTime(toTimeZone(min(sip_timestamp), 'America/New_York'), '%Y-%m-%d %H:%i:%S') AS first_print_et,
uniqExact(toDate(sip_timestamp)) AS option_sessions,
round(count() / 1e6, 2) AS prints_m,
uniqExact(ticker) AS distinct_contracts,
round(sum(size) / 1e6, 2) AS contracts_traded_m,
round(sum(toFloat64(price) * size) * 100 / 1e9, 2) AS premium_notional_busd,
round(toFloat64(sumIf(size, substring(ticker, 13, 1) = 'P')) / toFloat64(sumIf(size, substring(ticker, 13, 1) = 'C')), 2) AS month_put_call_ratio,
max_daily_pc AS max_session_put_call_ratio,
uniqExact(substring(ticker, 7, 6)) AS expiries_traded,
concat('20', substring(max(substring(ticker, 7, 6)), 1, 2), '-', substring(max(substring(ticker, 7, 6)), 3, 2), '-', substring(max(substring(ticker, 7, 6)), 5, 2)) AS longest_expiry,
round(100 * toFloat64(sumIf(size, substring(ticker, 7, 6) = '260618')) / toFloat64(sum(size)), 1) AS jun18_expiry_share_pct,
busiest.1 AS busiest_contract,
busiest.2 AS busiest_contract_volume,
busiest.3 AS busiest_contract_prints,
busiest.4 AS busiest_contract_avg_premium,
busiest.5 AS busiest_contract_notional_musd,
premium_magnet.1 AS top_premium_contract,
premium_magnet.2 AS top_premium_avg,
premium_magnet.3 AS top_premium_notional_musd,
aapl.1 AS aapl_full_june_notional_busd,
aapl.2 AS aapl_full_june_contracts_m,
round(round(sum(toFloat64(price) * size) * 100 / 1e9, 2) - aapl.1, 2) AS spcx_minus_aapl_notional_busd
FROM global_markets.options_trades
WHERE startsWith(ticker, 'O:SPCX') AND length(ticker) = 21
AND sip_timestamp >= toDateTime64('2026-06-12 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)Opções listadas às 2026-06-16 09:30:00 ET — a terceira sessão da ação. Em 10 sessões de opções: 2.18 milhões de negociações, 10.4 milhões de contratos em 3199 listagens, $9.15 bilhões em prêmio (preço multiplicado pelo padrão de 100 ações) — $0.31 bilhões a mais do que as opções da AAPL coletaram em TODO o mês de junho ($8.84 bilhões em 27 milhões de contratos; dez sessões contra um mês completo — uma assimetria deliberada que não invalida o ponto). 22 vencimentos negociados, desde o semanal com vencimento na quinta-feira, 18 de junho (o mercado estava fechado naquela sexta-feira) até 2028-12-15 LEAPS; apenas esse primeiro semanal concentrou 26.7% do volume do mês. Contrato mais negociado: o $175 put, expiry 2026-06-18 — 203765 contratos em 41648 negociações com prêmio médio de $1.43. Atração de prêmio: o $225 call, expiry 2026-09-18 — $121.3 milhões a $40.12.
O SQL exato por trás de cada número
SELECT
toDate(sip_timestamp) AS session,
count() AS prints,
toUInt64(sum(size)) AS contracts_traded,
toUInt64(sumIf(size, substring(ticker, 13, 1) = 'C')) AS call_contracts,
toUInt64(sumIf(size, substring(ticker, 13, 1) = 'P')) AS put_contracts,
round(toFloat64(sumIf(size, substring(ticker, 13, 1) = 'P')) / toFloat64(sumIf(size, substring(ticker, 13, 1) = 'C')), 2) AS put_call_ratio,
round(100 * toFloat64(sum(size)) / max(toFloat64(sum(size))) OVER (), 1) AS pct_of_busiest_session
FROM global_markets.options_trades
WHERE startsWith(ticker, 'O:SPCX') AND length(ticker) = 21
AND sip_timestamp >= toDateTime64('2026-06-12 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)
GROUP BY session
ORDER BY sessionO volume de calls superou o de puts em todas as sessões: o ratio put/call diário atingiu o pico de 0.987 em 2026-06-17, próximo ao topo do preço, e o fundo de 0.46 em 2026-06-29, na sessão em que a ação fechou 7.4% acima — o volume de puts atingiu o pico com o preço, não com o fundo. A sessão mais movimentada foi 2026-06-18, o dia de vencimento do primeiro semanal: 1844490 contratos.
O SQL exato por trás de cada número
SELECT
concat('$', toString(toUInt32(bucket))) AS strike_bucket,
call_contracts,
put_contracts,
round(100.0 * put_contracts / (call_contracts + put_contracts), 1) AS put_share_pct,
round(100 * (call_contracts + put_contracts) / max(call_contracts + put_contracts) OVER (), 1) AS pct_of_biggest_bucket
FROM (
SELECT
least(floor(toFloat64(toUInt32OrZero(substring(ticker, 14, 8))) / 1000 / 25) * 25, 450) AS bucket,
toUInt64(sumIf(size, substring(ticker, 13, 1) = 'C')) AS call_contracts,
toUInt64(sumIf(size, substring(ticker, 13, 1) = 'P')) AS put_contracts
FROM global_markets.options_trades
WHERE startsWith(ticker, 'O:SPCX') AND length(ticker) = 21
AND sip_timestamp >= toDateTime64('2026-06-12 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-01 00:00:00', 9)
GROUP BY bucket
)
ORDER BY toUInt32OrZero(substring(strike_bucket, 2))O mapa de strikes apresenta um formato de barbell em torno da trajetória do preço. O bucket $150 concentrou o maior volume, dividido entre 55% puts — tráfego de ida e volta em at-the-money. Abaixo da faixa de negociação, as puts dominam o book (92.7% do bucket $125); acima, as calls (1.6% puts em $250), com 42228 contratos de call no bucket $450, aproximadamente o dobro da máxima do mês.
O SQL exato por trás de cada número
SELECT
toDate(sip_timestamp) AS session,
count() AS nbbo_updates,
countIf(bid_price <= 0 OR ask_price < bid_price) AS dropped_bad_quotes,
round(avgIf(toFloat64(ask_price) - toFloat64(bid_price), bid_price > 0 AND ask_price >= bid_price) * 100, 1) AS avg_spread_cents,
round(quantileDeterministicIf(0.5)(toFloat64(ask_price) - toFloat64(bid_price), toUInt64(sequence_number), bid_price > 0 AND ask_price >= bid_price) * 100, 1) AS med_spread_cents,
round(100 * avgIf((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2), bid_price > 0 AND ask_price >= bid_price), 2) AS avg_spread_pct_of_mid
FROM global_markets.cache_options_quotes
WHERE ticker = 'O:SPCX260618P00175000'
AND sip_timestamp >= toDateTime64('2026-06-16 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-06-19 00:00:00', 9)
GROUP BY session
ORDER BY sessionO custo de negociação foi baixo desde a primeira hora: o contrato mais negociado teve um spread NBBO médio de 10.3 centavos em sua primeira sessão (6.7% do mid; a mediana foi de 10 centavos), com a mediana reduzindo para 5 centavos no dia do vencimento (5.23% do mid, 93198 atualizações de cotação, 37 bad quotes descartados e contabilizados). Spreads de centavos em um book líquido de dias de negociação — as extremidades (far wings) custam mais, e este painel não as representa.
A mudança nas notícias e os shorts
O SQL exato por trás de cada número
WITH
(
SELECT count()
FROM global_markets.stocks_news
WHERE has(tickers, 'SPCX')
AND published_utc >= toDateTime('2025-06-01 00:00:00')
AND published_utc < toDateTime('2026-06-01 00:00:00')
) AS prior_12mo,
(
SELECT (toString(d), n)
FROM (
SELECT toDate(toTimeZone(published_utc, 'America/New_York')) AS d, count() AS n
FROM global_markets.stocks_news
WHERE has(tickers, 'SPCX')
AND published_utc >= toDateTime('2026-06-01 00:00:00')
AND published_utc < toDateTime('2026-07-01 04:00:00')
GROUP BY d ORDER BY n DESC, d ASC LIMIT 1
)
) AS peak_day,
(
SELECT (JSONExtractString(any(publisher), 'name'), count())
FROM global_markets.stocks_news
WHERE has(tickers, 'SPCX')
AND published_utc >= toDateTime('2026-06-01 00:00:00')
AND published_utc < toDateTime('2026-07-01 04:00:00')
GROUP BY JSONExtractString(publisher, 'name') ORDER BY count() DESC LIMIT 1
) AS top_pub,
(
SELECT n
FROM (
SELECT toDate(toTimeZone(published_utc, 'America/New_York')) AS d, count() AS n
FROM global_markets.stocks_news
WHERE has(tickers, 'SPCX')
AND published_utc >= toDateTime('2026-06-01 00:00:00')
AND published_utc < toDateTime('2026-07-01 04:00:00')
GROUP BY d ORDER BY d ASC LIMIT 1
)
) AS first_day_n,
(
SELECT substring(title, 1, 90)
FROM global_markets.stocks_news
WHERE has(tickers, 'SPCX')
AND published_utc >= toDateTime('2026-06-22 04:00:00')
AND published_utc < toDateTime('2026-06-24 04:00:00')
AND title ILIKE '%bond%'
ORDER BY published_utc ASC LIMIT 1
) AS notes_headline
SELECT
prior_12mo AS prior_12_months_articles,
toString(min(toDate(toTimeZone(published_utc, 'America/New_York')))) AS first_tagged_day,
first_day_n AS first_day_articles,
peak_day.1 AS peak_day_date,
peak_day.2 AS peak_day_articles,
count() AS june_articles,
uniqExact(JSONExtractString(publisher, 'name')) AS publishers,
top_pub.1 AS top_publisher,
top_pub.2 AS top_publisher_articles,
round(100.0 * top_pub.2 / count(), 0) AS top_publisher_pct,
countIf(has(tickers, 'TSLA')) AS tsla_co_articles,
countIf(has(tickers, 'NVDA')) AS nvda_co_articles,
countIf(hasAny(tickers, ['GOOG', 'GOOGL', 'GOOGN', 'GOOGM'])) AS alphabet_co_articles,
countIf(has(tickers, 'RKLB')) AS rklb_co_articles,
countIf(has(tickers, 'ASTS')) AS asts_co_articles,
countIf(has(tickers, 'TSLA')) - countIf(has(tickers, 'RKLB')) AS tsla_minus_rklb,
notes_headline AS notes_offering_headline
FROM global_markets.stocks_news
WHERE has(tickers, 'SPCX')
AND published_utc >= toDateTime('2026-06-01 00:00:00')
AND published_utc < toDateTime('2026-07-01 04:00:00')A marcação de notícias é um registro próprio: 0 artigos com a tag SPCX nos doze meses antes da listagem, depois 14 em 2026-06-11 (dia de precificação), um pico de 42 artigos em 2026-06-12, e 347 para o mês. Leia esses números com ceticismo: 4 publishers, e apenas The Motley Fool escreveram 65% — é a atenção de um único feed, não da mídia global. As co-tags mostram o enquadramento: TSLA em 83 artigos, NVDA em 59, Alphabet (classes de ações colapsadas) em 57, enquanto Rocket Lab (21) e AST SpaceMobile (15) ficam muito atrás: este feed cobriu o tema como uma história de mega-caps, não do setor espacial.
O SQL exato por trás de cada número
SELECT
date,
round(toFloat64(any(short_volume)) / 1e6, 2) AS short_shares_m,
round(toFloat64(any(total_volume)) / 1e6, 2) AS offexchange_total_m,
round(100 * toFloat64(any(short_volume)) / toFloat64(any(total_volume)), 1) AS short_pct_of_offexchange
FROM global_markets.stocks_short_volume
WHERE ticker = 'SPCX' AND date >= toDate('2026-06-01') AND date <= toDate('2026-06-30')
GROUP BY date
ORDER BY dateOs shorts apareceram no primeiro dia — com uma definição específica. O volume de short off-exchange é a parcela do volume reportado pela FINRA (off-exchange) marcada como short; grande parte disso é de market makers vendendo a descoberto para liquidar compras de clientes — uma operação rotineira, e não short interest. A participação de SPCX marcada como short começou em 33.7% no dia da listagem e subiu para 71% até 2026-06-30, enquanto o volume off-exchange reportado caiu de 131.53 milhões de ações para 35.77 milhões. O movimento conjunto é o que esses dados podem mostrar; o que isso significa não está contido nestes dados.
O SQL exato por trás de cada número
SELECT
toString(maxIf(settlement_date, settlement_date >= toDate('2026-06-01'))) AS new_entity_settlement,
round(toFloat64(maxIf(short_interest, settlement_date >= toDate('2026-06-01'))) / 1e6, 2) AS shares_short_m,
round(toFloat64(maxIf(avg_daily_volume, settlement_date >= toDate('2026-06-01'))) / 1e6, 2) AS avg_daily_volume_m,
maxIf(days_to_cover, settlement_date >= toDate('2026-06-01')) AS reported_days_to_cover,
round(toFloat64(maxIf(short_interest, settlement_date >= toDate('2026-06-01'))) / toFloat64(maxIf(avg_daily_volume, settlement_date >= toDate('2026-06-01'))), 2) AS implied_days_to_cover,
countIf(settlement_date > toDate('2026-06-15')) AS settlements_published_after_june15,
toString(argMaxIf(settlement_date, settlement_date, settlement_date < toDate('2026-06-01'))) AS last_old_entity_settlement,
argMaxIf(short_interest, settlement_date, settlement_date < toDate('2026-06-01')) AS last_old_entity_short_interest,
round(toFloat64(maxIf(short_interest, settlement_date >= toDate('2026-06-01'))) / toFloat64(argMaxIf(short_interest, settlement_date, settlement_date < toDate('2026-06-01'))), 0) AS jump_multiple_vs_old_entity
FROM global_markets.stocks_short_interest
WHERE ticker = 'SPCX'O short interest real — posições abertas em uma data de liquidação — foi registrado pela primeira vez em 2026-06-30: 111.3 milhões de ações em short contra uma média diária de 151.63 milhões de ações. O fornecedor reporta dias para cobrir (days-to-cover) como 1 — um piso; a razão bruta é 0.73: os shorts poderiam cobrir em menos de um dia médio. O último settlement da entidade anterior (2026-03-31) mostrou 9711 ações — o abismo de reuso de ticker novamente. Desde a primeira edição desta página, o settlement posterior (30 de junho) de 1 foi publicado, e a fonte revisou o próprio registro de 15 de junho para cima substancialmente — os números acima são o registro atual, recalculados a cada regeneração, e a página é mantida para revisão sempre que os valores saem de seus intervalos declarados. Este é o mecanismo de revisão desta página funcionando conforme o projetado.
Notas de dados
Notas completas de dados
- Limite de entidade (a base para verified_tickers). O registro stocks_ipos (Space Exploration Technologies Corp., listada em 2026-06-12 a $135 em XNAS), o gap de zero-bar de maio de 2026 e a mudança na tag de notícias definem a reatribuição de 12 de junho. Nenhuma linha anterior a 12 de junho é atribuída à SpaceX; o frontmatter verified_tickers: ["SPCX"] é uma afirmação editorial deliberada para o período de 12 a 30 de junho de 2026 nestes comprovantes.
- Somas de trade-tape bruto duplicam o volume de leilão (re-reports oficiais de abertura/fechamento); os totais de ações e dólares vêm de agregados por minuto, e os tamanhos de cross vêm dos prints de cross (o deep-dive de 29 de junho extrai essa correção).
- O primeiro dia é uma sessão parcial — cotações de 09:50:01 ET, primeiro print 11:46:45 ET. Máximas e mínimas do primeiro dia são extremos de barras de um minuto; os extremos do mês possuem contagens de corroboração de um centavo no scoreboard.
- Contagem EDGAR remove duplicatas por accession_number e seleciona o CIK 0001181412; o declarante Form D "Space Exploration I" (CIK 0002130081), não relacionado, é excluído por construção.
- Não existem fundamentos para publicação: 0 linhas da SpaceX nas três tabelas de demonstrações financeiras.
- O arquivo de short-volume da FINRA de 29 de junho está truncado em todo o mercado (o arquivo de origem termina no meio do alfabeto); a SPCX é ordenada antes do corte e sua linha está completa — o deep-dive de 29 de junho contém o comprovante da investigação de short-volume.
- 19 de junho foi um fechamento de todo o mercado, observado e não assumido: 0 barras do SPY naquele dia, portanto o período de junho da SPCX abrange 12 sessões.
Metodologia
- Os timestamps são armazenados em UTC e filtrados com limites em UTC bruto; junho de 2026 é inteiramente EDT, portanto o horário regular é das 13:30 às 20:00 UTC (9:30 às 16:00 ET). O comando toTimeZone aparece apenas em listas SELECT.
- O fechamento da sessão é a última barra de minuto do horário regular; os preços de leilão vêm dos prints do cross (dia um: $161.29 por barra, $160.95 pelo cross).
- O volume em dólar é o fechamento do minuto multiplicado pelo volume do minuto, somados — um proxy ponderado pelo fechamento para o valor nocional.
- O vencimento, o tipo e o strike das opções são reprocessados a partir do ticker da OCC (a coluna expiration_date da tabela não é confiável); o nocional do prêmio assume o multiplicador de 100 ações.
- As estatísticas de spread por atualização ponderam cada atualização do NBBO igualmente; as estatísticas ponderadas pelo tempo ponderam cada cotação pelo tempo de permanência. As medianas utilizam quantis determinísticos.
- A geração é feita apenas em lote através do caminho de leitura restrito; a página pública nunca consulta dados em tempo real. O warehouse retém o histórico completo de ticks sem expiração rotativa, portanto esta análise reproduz os dados das mesmas tabelas a qualquer momento. Estado do warehouse em 3 de julho de 2026.
Esta listagem faz parte de uma reportagem mais ampla de 2026 — o mercado de IPOs do primeiro semestre, medido fornece o contexto. Cada painel é um objeto armazenado — gráfico, tabela e SQL. Aprofunde qualquer consulta no terminal Strasmore.