SPCX: Первый месяц торгов акциями SpaceX
Обзор дебюта SPCX в июне 2026 года: динамика котировок, объем торгов в долларах, анализ спредов и появление опционов на третий день после листинга.
SpaceX вышла на биржу 12 июня 2026 года под тикером SPCX — эти четыре буквы в апреле все еще принадлежали другой компании. При цене размещения $135, акции открылись на уровне $150 (на 11.1% выше цены размещения), достигли максимума при закрытии на уровне $201.99 2026-06-16, показали минимум в премаркете на уровне $146.88 и завершили торги на отметке $170.72 — на 26.5% выше цены размещения и на 15.5% ниже пикового значения. По объему торгов в долларах в основную торговую сессию компания заняла четвертое место на американском рынке, опередив NVDA. Все представленные данные получены с помощью запросов к базе данных; для получения точного SQL-кода разверните любую панель.
Точный SQL-код для каждого числа
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')Один тикер, две компании
SPCX — это повторно используемый символ, поэтому сначала приведем данные для проверки. До апреля 2026 года тикер торговался как низколиквидный фонд — 13 минутные бары в его последнем активном месяце, в диапазоне от $21.92 до $23.64. В мае 2026 года данных не было вовсе (0 баров). 12 июня символ был переназначен компании Space Exploration Technologies Corp.:
Точный SQL-код для каждого числа
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_rowsТочный SQL-код для каждого числа
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 monthЗапрос по истории SPCX без фильтрации объединяет две не связанные между собой компании, поэтому в данном анализе каждый временной интервал начинается с 12 июня 2026 года. Лента новостей демонстрирует резкий спад (0 статей с тегом SPCX за предыдущие двенадцать месяцев), как и показатели коротких продаж: рост примерно в 11461 раз на стыке периодов.
Сначала появилась документация
Точный SQL-код для каждого числа
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_typeЕсли изучать документы последовательно, процесс IPO выглядит следующим образом: конфиденциальная поправка (DRS/A) от 2026-05-07, публичная форма S-1 от 2026-05-20, поправки 2 к ней, затем 7 FWP проспектов свободного письма (материалы для роуд-шоу) в период между 2026-06-04 и 2026-06-11. Регистрация и сертификация биржи были получены 2026-06-10; уведомление о вступлении в силу и первая из 10 форм инсайдеров 3 от 2026-06-11; окончательный проспект 424B4 и форма S-8 — в день листинга. После этого формат отчетности сменился на 8-K:
Точный SQL-код для каждого числа
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_dateВсего 6 отчетов менее чем за две недели: незарегистрированная продажа акций при закрытии IPO (Item 3.02); существенное соглашение с X67 Inc., дочерней компанией, находящейся в полной собственности (1.01); изменения в составе совета директоров и руководства (5.02); уведомление согласно Regulation FD (7.01); а также уведомления по Item 8.01 о размещении старших необеспеченных облигаций, которое началось 22 июня, согласно отчету 8-K, поданному 2026-06-23. В заголовке от 23 июня было сказано: "SpaceX's Fundraising Is Not Over With a $20 Billion New Bond Offering". Окно размещения и месячные минимумы акций приходятся на одни и те же календарные дни; эти данные не содержат иной информации.
День листинга: открытие без торгов в 9:30
IPO не открывается одновременно с рынком. Nasdaq начал публиковать котировки SPCX в 09:50:01 ET — фиксированные индикативные пары bid-ask, формирующие книгу заявок для определения цены закрытия. В течение почти двух часов сделок не было вовсе. Первой публичной ценой SpaceX стал сам процесс открытия (opening cross): 58.21 млн акций по $150, зафиксировано в 11:46:45 ET с кодами условий 17, 9 и 41 (открывающая печать рыночного центра, кросс, освобождение от trade-through). Акции достигли 176.52, достигли минимума 149.34 и завершили торги кроссом объемом 7.85 млн акций по цене $160.95 — что на 19.2% выше цены размещения. Итоги: 513.5 млн акций, $84.1 млрд, 8.57 млн сделок в ходе регулярной сессии продолжительностью чуть более четырех часов.
Точный SQL-код для каждого числа
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)Поток котировок отражает процесс формирования цены. До кросса единственными обновлениями NBBO были фиксированные индикативные котировки (18 в 09:30 часовом интервале, с нулевым спредом в силу структуры). Затем объем котировок резко возрос: только в 11:30 интервале было 445211 обновлений при медианном бид-аск спреде в 30 центов (18.6 б.п.). К 13:00 интервалу медиана составила 6 центов (3.5 б.п.) — спред не сразу становится узким; в данном случае он сузился в течение двух часов.
Точный SQL-код для каждого числа
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_bucketПосессионный анализ
Точный SQL-код для каждого числа
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_dateДинамика: 19.3% на второй сессии, пиковое закрытие на уровне $201.99 на 2026-06-16, затем три последовательных снижения. Самое резкое падение составило -16.4% на 2026-06-22 — это была первая сессия после праздника 19 июня и день начала размещения облигаций. Минимум падения составил $152.74 на 2026-06-26; последние две сессии закрылись на 7.4% и 4.1% выше (для 2026-06-29 доступны ежедневный обзор и детальный анализ тиков). Объем торгов снижался быстрее, чем восстанавливалась цена: 513.5 млн акций в первый день, 75.8 млн на 2026-06-30.
Оба экстремума месяца подтверждены проверкой данных — они приходятся на разные рыночные фазы. Максимум в $225.64 был зафиксирован в 2026-06-16 10:02 ET: 2 баров в пределах одного цента, 47699 сделок в первую минуту пика. Минимум в $146.88 был зафиксирован в 2026-06-23 04:11 ET: 2 баров в пределах одного цента и 14844 сделок в ту минуту. Минимум в основные часы торгов составляет $147.11, что на $0.23 выше; в любом упоминании «минимума июня» следует уточнять, какой именно имеется в виду.
Четвертый по объему торгов тикер
Если ранжировать все символы, торгующиеся на биржах США, по объему торгов в долларах в основную торговую сессию за период с 12 по 30 июня — это полный агрегированный показатель по всему рынку, а не список кандидатов, — то новый листинг занимает четвертое место: 344.6 миллиарда долларов. Он уступает только MU ($585.4 миллиарда), SPY и QQQ, но опережает NVDA ($253.1 миллиардов), TSLA и AAPL. Для всех строк использовалось одинаковое количество сессий 12.
Точный SQL-код для каждого числа
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 12Состав ленты сделок
Точный SQL-код для каждого числа
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)Данные характеризуются мелким шрифтом и обилием цитат: 41.01 миллионов сделок при медианном значении 10 акций (среднее значение составляет 64.2 — на показатель влияют крупные перекрестные сделки), 81.9% дробных лотов (менее 100 акций), 8.73% дробных долей — это соответствует практике розничных приложений, разделяющих ордера, в то время как на другой стороне выступают маркетмейкеры. Статистика котировок: 11.78 миллионов обновлений NBBO, 99.32% двусторонних котировок; 46377 временно перекрестных (цена спроса выше цены предложения — биржи не синхронизированы), показатель снизился с 17730 в первый день до 437 на 30 июня; 34118 заблокированных; 116 односторонних или пустых. Приведенная ниже статистика спредов не включает перекрестные и односторонние котировки; количество пропусков отображено в панели.
Динамика спреда
Характерной чертой нового листинга является установление уровня спреда. В рамках одной сессии этот показатель измеряется как медиана по всем обновлениям котировок, так и средневзвешенное по времени значение. Первый день начался с пересечения в 11:46; если учитывать зафиксированные индикативные котировки до открытия, показатель был бы ниже.
Точный SQL-код для каждого числа
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 sessionСредневзвешенный спред увеличился с 23.5 центов (7.64 б.п.) в первый день до 7.9 центов (4.7 б.п.) на 2026-06-30. В долларовом выражении спред сузился примерно на две трети, однако в относительном выражении изменения менее значительны. Долларовый и относительный показатели расходятся на отрезке, когда цена колебалась в диапазоне от $146.88 до $225.64. Самая узкая сессия была 2026-06-22 со спредом 2 б.п. Расширение спреда наблюдалось 2026-06-17 (8.96 б.п., сессия после ценового пика) и 2026-06-24 (7.38 б.п.); последнее совпало с падением объема торгов до 71.7 млн акций с 152.3 млн. Для сравнения, три показателя на 30 июня:
Точный SQL-код для каждого числа
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 tickerМедианный спред Apple: 3 центов (1.04 б.п.). SPCX: 6 центов (3.54 б.п.). Nathan's Famous при 1036 обновлениях котировок за сессию: 30 центов (29.66 б.п.). Спустя восемнадцать дней SpaceX торговался со спредом чуть шире, чем компании с мега-капитализацией, но в несколько раз уже, чем низколиквидные активы.
Опционы по итогам третьего дня
Точный SQL-код для каждого числа
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)Опционы, торгуемые по состоянию на 2026-06-16 09:30:00 ET — это третий торговый сеанс акции. За 10 сеансов торгов: 2.18 млн сделок, 10.4 млн контрактов по 3199 тикерам, $9.15 млрд премии (цена, умноженная на стандартный множитель в 100 акций) — это на $0.31 млрд больше, чем объем премий по опционам AAPL за ВЕСЬ июнь ($8.84 млрд на 27 млн контрактов; десять сеансов против целого месяца — намеренная асимметрия не меняет сути). Было отторговано 22 экспираций: от недельных со сроком исполнения в четверг 18 июня (рынок был закрыт в эту пятницу) до 2028-12-15 LEAPS; только на первую неделю пришлось 26.7% месячного объема. Самый активный контракт: $175 put, expiry 2026-06-18 — 203765 контрактов в 41648 сделках при средней премии $1.43. Основной объем премии: $225 call, expiry 2026-09-18 — $121.3 млн при цене $40.12.
Точный SQL-код для каждого числа
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 sessionНа каждом сеансе объем торгов колл-опционами превышал объем торгов пут-опционами: дневной коэффициент пут/колл достигал пика 0.987 на 2026-06-17, вблизи ценового максимума, и опускался до минимума 0.46 на 2026-06-29, когда акция закрылась ростом на 7.4% — объем пут-опционов достиг пика вместе с ценой, а не на ее дне. Самым активным сеансом стал 2026-06-18, день экспирации первой недельной серии: 1844490 контрактов.
Точный SQL-код для каждого числа
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))Карта страйков напоминает штангу вокруг траектории цены. Наибольший объем пришелся на корзину $150, где преобладали пут-опционы в пропорции 55% — двусторонний поток в деньгах. Ниже торгового диапазона преобладают пут-опционы (92.7% из корзины $125); выше диапазона — колл-опционы (1.6% пут-опционов при $250), при этом в корзине $450 находится 42228 колл-контрактов, что примерно в два раза больше месячного максимума.
Точный SQL-код для каждого числа
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 sessionТорговые издержки были низкими с первого часа: спред NBBO по самому активному контракту в первый сеанс составлял в среднем 10.3 цента (6.7% от мид-цены; медиана составила 10 цента), к дню экспирации медиана сузилась до 5 центов (5.23% от мид-цены, 93198 обновлений котировок, 37 некорректных котировок исключено). Спреды в несколько центов на ликвидном центре книги, открытой несколько дней назад; дальние крылья стоят дороже, и данные показатели их не учитывают.
Новостной переключатель и шорт-позиции
Точный SQL-код для каждого числа
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')Маркировка новостей дает наглядную картину: 0 статей с тегом SPCX за двенадцать месяцев до листинга, затем 14 на 2026-06-11 (день установления цены), пик в 42 статей на 2026-06-12, и 347 за месяц. К этим показателям следует относиться скептически: 4 издателей, из которых The Motley Fool составили 65% — это внимание одного фида, а не мировых СМИ. Совместные теги показывают контекст: TSLA упоминалась в 83 статьях, NVDA в 59, Alphabet (из-за слияния классов акций) в 57, в то время как Rocket Lab (21) и AST SpaceMobile (15) значительно отстают: данный фид освещал это как историю мега-кап компаний, а не как событие космического сектора.
Точный SQL-код для каждого числа
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 dateШорт-позиции появились в первый же день — с определенным определением. Внебиржевой объем коротких продаж — это доля объема, зарегистрированного FINRA (внебиржевого) и помеченного как короткий. Большая часть этого объема приходится на маркетмейкеров, которые продают в шорт для исполнения заявок клиентов на покупку — это стандартная рыночная процедура, а не short interest. Доля SPCX с пометкой «short» составляла 33.7% в день листинга и выросла до 71% к 2026-06-30, в то время как зарегистрированный внебиржевой объем упал с 131.53 млн акций до 35.77 млн. Данные позволяют увидеть взаимосвязь, но не объясняют ее причины.
Точный SQL-код для каждого числа
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'Фактический short interest — открытые позиции на дату расчета — впервые был опубликован 2026-06-30: 111.3 млн акций в шорте при среднем дневном объеме в 151.63 млн акций. Поставщик указывает количество дней для покрытия (days-to-cover) как 1 — это минимальное значение; фактическое соотношение составляет 0.73: шорт-позиции могут быть закрыты менее чем за один средний день. Последний расчет предыдущей организации (2026-03-31) показал 9711 акций — снова резкий спад из-за повторного использования тикера. С момента первого выпуска этой страницы был опубликован более поздний расчет (30 июня, 1), при этом источник существенно пересмотрел данные за 15 июня в сторону увеличения. Приведенные выше цифры являются актуальными, они пересчитываются при каждом обновлении; страница переходит в режим ожидания проверки, если показатели выходят за пределы заявленных диапазонов. Это штатная работа механизма пересмотра данных на этой странице.
Примечания к данным
Полные примечания к данным
- Границы сущности (основа для verified_tickers). Запись stocks_ipos (Space Exploration Technologies Corp., листинг 2026-06-12 по цене $135 от XNAS), разрыв нулевой свечи в мае 2026 года и переключение тегов в новостях определяют переназначение от 12 июня. Ни одна запись до 12 июня не относится к SpaceX; поле frontmatter verified_tickers: ["SPCX"] является намеренным редакционным утверждением для периода с 12 по 30 июня 2026 года в данных отчетах.
- Суммы в необработанной ленте сделок включают объем аукциона дважды (официальные пересчеты открытия/закрытия); общие показатели акций и долларов взяты из минутных агрегатов, объемы кроссов — из отпечатков кроссов (корректировка приведена в глубоком анализе от 29 июня).
- Первый день — это частичная сессия — котировки с 09:50:01 ET, первая сделка 11:46:45 ET. Максимум/минимум первого дня — это экстремумы минутных баров; экстремумы за месяц подтверждаются количеством совпадений в пределах одного цента в таблице результатов.
- Подсчет EDGAR исключает дубликаты по accession_number и выбирает CIK 0001181412; несвязанный заявитель Form D "Space Exploration I" (CIK 0002130081) исключен по умолчанию.
- Фундаментальные показатели отсутствуют: 0 строки SpaceX в трех таблицах финансовой отчетности.
- Файл FINRA по коротким продажам от 29 июня обрезан по всему рынку (исходный файл заканчивается на середине алфавита); SPCX идет до обрезки, поэтому строка заполнена полностью — данные исследования коротких продаж содержатся в глубоком анализе от 29 июня.
- 19 июня рынок был закрыт по факту, а не по предположению: 0 бары SPY за этот день, поэтому период SPCX в июне охватывает 12 сессий.
Методология
- Временные метки хранятся в формате UTC и фильтруются по необработанным границам UTC; июнь 2026 года полностью соответствует EDT, поэтому регулярные часы торгов приходятся на 13:30–20:00 UTC (9:30–16:00 ET). Функция toTimeZone используется только в списках SELECT.
- Закрытие сессии — это последняя минутная свеча в регулярные часы; цены аукциона берутся из данных кросс-сделок (день первый: $161.29 по свече, $160.95 по кроссу).
- Объем в долларах — это сумма произведений цены закрытия на объем за каждую минуту; этот показатель является взвешенным по цене закрытия прокси-показателем номинальной стоимости.
- Дата экспирации, тип и страйк опционов повторно извлекаются из тикера OCC (столбец expiration_date в таблице может быть недостоверным); номинальная стоимость премии рассчитывается с учетом множителя в 100 акций.
- Статистика спреда на момент обновления взвешивает каждое обновление NBBO одинаково; временная статистика взвешивает каждую котировку в зависимости от времени ее действия. Для медиан используются детерминированные квантили.
- Генерация данных осуществляется только пакетным методом через закрытый путь чтения; публичная страница никогда не делает запросы к живым данным. Хранилище содержит полную историю тиков без удаления старых данных, поэтому этот анализ может быть воспроизведен по тем же таблицам в любое время. Состояние хранилища на 3 июля 2026 года.
Этот список является частью более широкого обзора за 2026 год — рынок IPO за первое полугодие, в цифрах помогает понять контекст. Каждый блок представляет собой один сохраненный объект — график, таблицу и SQL-запрос. Вы можете продолжить любой запрос в терминале Strasmore.