Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor · · Updated 2026-07-23

SPCX: SPCX上市首月表现

回顾SPCX于2026年6月上市历程,包含开盘价、成交额排名及期权波动,带您深度解析其市场表现。

SpaceX 于 2026 年 6 月 12 日正式上市,股票代码为 SPCX。在 4 月份时,该代码仍属于另一家公司。该股发行价为 $135,开盘价为 $150(较发行价上涨 11.1%)。2026-06-16 当天,该股收盘价达到 $201.99 的峰值,盘前最低价为 $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 年 4 月之前,该代码作为一只交易量极低的基金运行——在其活跃的最后一个月内,每分钟仅有 13 根 K 线,价格区间在 $21.92 至 $23.64 之间。2026 年 5 月,该代码没有任何成交记录(0 根 K 线)。6 月 12 日,该代码被重新分配给 Space Exploration Technologies Corp.:

查询IPO记录:自2026年6月12日起 SPCX 的关联实体
每个数字背后的完整 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
查询代码复用记录:SPCX 13个月分钟线——缺失2026年5月数据
每个数字背后的完整 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 历史”查询会将两家无关的公司合并在一起——因此,本处的每个时间窗口均始于 2026 年 6 月 12 日。新闻流显示了同样的断崖式变化(过去 12 个月内共有 0 篇标记为 SPCX 的文章),空头头寸也是如此:在时间跨度间增长了约 11461 倍。

文件记录先行

查询SpaceX 2026年 SEC 备案时间线(按表单类型及提交顺序)
每个数字背后的完整 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 的进程如下:2026-05-07 提交了机密修订草案 (DRS/A);2026-05-20 发布了公开的 S-1 文件;随后是针对该文件的 2 次修订;在 2026-06-042026-06-11 期间,发布了 7FWP 自由撰写招股说明书(路演文件)。交易所注册与认证于 2026-06-10 完成;生效通知及首批 10 份内部人员 3 表格于 2026-06-11 提交;上市当日提交了最终版 424B4 招股说明书及一份 S-8 文件。随后,报告节奏转为 8-K 文件:

查询2026年6月 SpaceX 所有 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);以及根据 2026-06-23 提交的 8-K 文件,其中包含关于 6 月 22 日开始的优先无担保票据发行的 Item 8.01 通知。6 月 23 日的一则头条新闻将其概括为:“SpaceX's Fundraising Is Not Over With a $20 Billion New Bond Offering”。发行窗口期与该股的月度低点处于同一日期;数据仅表明这一点。

Listing day: an open with no 9:30

An IPO does not open with the market. Nasdaq began publishing SPCX quotes at 09:50:01 ET — locked, indicative bid-equals-ask pairs walking the book toward a clearing price — and for nearly two hours there were no trades at all. SpaceX's first public print was the opening cross itself: 58.21 million shares at $150, stamped 11:46:45 ET under condition codes 17, 9 and 41 (market-center opening print, cross, trade-through exempt). The stock ran to 176.52, held a 149.34 low, and went out on a 7.85 million-share closing cross at $160.9519.2% over issue. Totals: 513.5 million shares, $84.1 billion, 8.57 million prints, in a regular session a little over four hours long.

查询上市首日概览:首笔报价、开盘集合竞价、收盘集合竞价及全天总量
每个数字背后的完整 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)

The quote stream tells the price-discovery half. Before the cross, the only NBBO updates are the locked indicatives (18 in the 09:30 half hour, spread zero by construction). Then quoting flooded in: 445211 updates in the 11:30 bucket alone, at a median bid-ask spread of 30 cents (18.6 bps). By the 13:00 bucket the median was 6 cents (3.5 bps) — a spread is not born tight; this one tightened within two hours.

查询首日半小时报价:报价更新及中值价差走势
每个数字背后的完整 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% 在第二个交易日达到 2026-06-16 的 $201.99 收盘峰值,随后连续下跌三次。其中 2026-06-22 的跌幅最剧烈,达到 -16.4%。该交易日是 6 月 19 日假期后的首个交易日,也是新股发行开始之日。价格在 2026-06-26 跌至 $152.74 的低点;最后两个交易日分别上涨 7.4% 和 4.12026-06-29 的详情请见 每日回顾分笔深度解析)。成交量萎缩速度快于价格回升速度:第一天成交 513.5 百万股,2026-06-30 当天成交 75.8 百万股。

月度极值经核实均真实有效,且处于不同的市场阶段。2026-06-16 10:02 ET 时录得 $225.64 的高点:波动幅度在 1 美分以内,共 2 个 K 线,首个峰值分钟成交量为 476992026-06-23 04:11 ET 时录得 $146.88 的低点:波动幅度在 1 美分以内,共 2 个 K 线,该分钟成交量为 14844。常规交易时段的低点为 $147.11,较该低点高出 $0.23;任何关于“6 月低点”的表述应明确指代哪一个。

交易额排名第四的股票

根据 6 月 12 日至 30 日期间所有美股上市证券的常规交易时段美元成交额进行排名(这是全市场汇总数据,而非候选名单),该新上市证券位列第四:成交额为 344.6 十亿美元,仅次于 MU ($585.4 十亿美元)、SPYQQQ,领先于 NVDA ($253.1 十亿美元)、TSLAAAPL。所有行数据均基于相同的 12 个交易日。

查询全美市场排名:6月12–30日常规交易时段美元成交量
每个数字背后的完整 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

What the tape was made of

查询SPCX 逐笔行情:成交记录、成交规模及报价统计
每个数字背后的完整 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)

The texture is small-print and quote-dense: 41.01 million prints at a median of 10 shares (average 64.2 — giant crosses drag the mean), 81.9% odd lots (under 100 shares), 8.73% fractional — consistent with retail apps slicing orders, with market makers on the other side. The quote half: 11.78 million NBBO updates, 99.32% clean two-sided; 46377 momentarily crossed (bid above ask — venues out of sync), decaying from 17730 on day one to 437 on June 30; 34118 locked; 116 one-sided or empty. Spread statistics below exclude crossed and one-sided quotes, with drop counts in-panel.

价差走势

新股上市的一个重要特征是价差趋于稳定。衡量标准包括每交易日的更新中位数和时间加权平均值。第一天的起点是 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 bps) 降至 2026-06-307.9 美分 (4.7 bps)。以美元计价,价差收窄了约三分之二,但以相对比例计,降幅较小;在价格波动于 $146.88–$225.64 区间期间,美元价差与相对价差系列出现了分化。价差最窄的交易日是 2026-06-22,为 2 bps;随后在 2026-06-17 (8.96 bps,即价格峰值后的交易日) 和 2026-06-24 (7.38 bps) 再次扩大。后者发生时,成交量从 152.3 百万股降至 71.7 百万股。作为参考,以下是 6 月 30 日的三个基准数据:

查询6月30日基准:大盘股、SPCX 与小盘股在同交易时段的价差对比
每个数字背后的完整 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 bps)。SPCX 为 6 美分 (3.54 bps)。Nathan's Famous 全天共有 1036 次报价更新,价差为 30 美分 (29.66 bps)。上市 18 天后,SpaceX 的报价价差比超大市值股票宽数倍,但比流动性较差的股票窄数倍。

第三日期权数据

查询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 已挂牌期权——该股交易的第三个交易日。在 10 个期权交易日中:2.18 百万次成交,10.4 百万份合约,涵盖 3199 个上市品种,总权利金达 $9.15 十亿(价格乘以标准 100 股乘数)。这一数值比 AAPL 在整个 6 月份收取的权利金多出 $0.31 十亿(6 月份 27 百万份合约共计 $8.84 十亿;十个交易日对比完整月份——这种不对称性不影响结论)。共有 22 个到期日进行交易,范围从 6 月 18 日周四的周到期期权(该周五市场休市)到 2028-12-15 LEAPS;仅第一个周到期期权的成交量就占月度总量的 26.7%。交易最活跃的合约是 $175 put, expiry 2026-06-18 —— 203765 份合约,在 41648 次成交中,平均权利金为 $1.43。权利金集中点:$225 call, expiry 2026-09-18 —— 在 $40.12 价格下成交了 $121.3 百万。

查询期权分时段数据:合约数、看涨/看跌比例及 Put/Call Ratio
每个数字背后的完整 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

看涨期权成交量在每个交易日均高于看跌期权:日度看跌/看涨比率在价格高点附近的 2026-06-17 日达到峰值 0.987,在股价上涨 7.4% 的 2026-06-29 日降至最低点 0.46 —— 看跌期权成交量随价格高点而非低点达到峰值。最繁忙的交易日是 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% 为看跌期权——平值双向交易。在交易区间下方,看跌期权占主导(占 $125 档位总量的 92.7%);在区间上方,看涨期权占主导($250 档位的看跌期权占比为 1.6%),$450 档位有 42228 份看涨期权合约,约为月度高点的两倍。

查询热门合约交易成本:其三个交易时段的 NBBO 价差
每个数字背后的完整 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 个错误报价)。对于已交易数日的流动性核心部位,价差仅为 5 到 10 美分——远端虚值期权的成本更高,本面板未涵盖此类数据。

新闻转向与空头

查询信息流概览:标签开关、数据源构成及共同标签
每个数字背后的完整 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')

新闻标签本身就是证据:上市前 12 个月内有 0 篇 SPCX 标签文章,随后在 2026-06-11(定价日)达到 14 篇,并在 2026-06-12 达到 42 篇的峰值,该月总计 347 篇。请审慎看待这些数据:仅有 4 家发行商,且其中 The Motley Fool 家贡献了 65% 的内容——这仅代表单一数据源的关注度,而非全球媒体的共识。共同标签揭示了报道侧重点:TSLA 出现在 83 篇文章中,NVDA 出现在 59 篇,Alphabet(股份类别已合并)出现在 57 篇;相比之下,Rocket Lab (21) 和 AST SpaceMobile (15) 远未达到上述水平。该数据源将其视为大盘股题材,而非航天板块题材。

查询FINRA 场外卖空成交量:按时段划分的卖空股数及报告成交量
每个数字背后的完整 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 报告的(场外)成交量中标记为卖空的比例;其中大部分是做市商为了完成客户买单而进行的卖空——这属于常规交易流程,而非 空头头寸。SPCX 的标记卖空比例在上市日为 33.7%,到 2026-06-30 时升至 71%,而报告的场外成交量从 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'

实际空头头寸(即结算日的未平仓头寸)于 2026-06-30 首次公布:空头头寸为 111.3 百万股,而日均成交量为 151.63 百万股。供应商报告的平仓天数为 1 天——这是一个底线;原始比例为 0.73:空头可以在不到一个平均交易日的时间内完成平仓。前实体的最后一次结算 (2026-03-31) 显示为 9711 股——这再次体现了代码重用的断层。自本页面首版发布以来,已公布了 1 次后续结算(6 月 30 日),且数据源大幅上调了 6 月 15 日的数值——上述数字是当前的记录,并在每次重新生成时重新计算;每当数据超出其声明的范围时,本页面将保持待审状态。这正是本页面的修订机制按设计运行的结果。

数据说明

完整数据说明
  • 实体边界(verified_tickers 的依据)。 根据 stocks_ipos 记录(Space Exploration Technologies Corp.,于 XNAS 以 $135 价格上市 2026-06-12)、2026 年 5 月的零成交缺口以及新闻标签切换,确定了 6 月 12 日的重新分配。6 月 12 日之前的记录均未归属于 SpaceX;frontmatter 中的 verified_tickers: ["SPCX"] 是针对这些凭证在 2026 年 6 月 12 日至 30 日期间的刻意编辑设定。
  • 原始交易流水总额包含重复计算的集合竞价成交量(官方开盘/收盘重报数据);股份和金额总计来自分钟级聚合数据,成交规模来自集合竞价打印数据(6 月 29 日深度分析 解释了该修正逻辑)。
  • 首日为部分交易时段 —— 报价时间为东部时间 09:50:01,首笔成交时间为东部时间 11:46:45。首日最高/最低价为分钟线极值;月度极值在计分板中经过了分位值校验。
  • EDGAR 统计 通过 accession_number 进行去重,并选择 CIK 0001181412;自动排除无关的 "Space Exploration I" Form D 申报人 (CIK 0002130081)。
  • 无基本面数据可发布: 三张财务报表表中均无 0 SpaceX 的行数据。
  • 6 月 29 日 FINRA 做空成交量文件在全市场范围内被截断(源文件在字母表中间结束);SPCX 的排序位于截断点之前,因此其行数据完整 —— 6 月 29 日深度分析 包含做空成交量调查的凭证。
  • 6 月 19 日为全市场休市,属于实际观察结果而非假设: 当天 SPY 出现 0 走势,因此 SPCX 的 6 月份涵盖 12 个交易日。

方法论

  • 时间戳以 UTC 格式存储,并使用原始 UTC 边界进行过滤;2026 年 6 月完全采用 EDT,因此常规交易时间为 13:30–20:00 UTC(美东时间 9:30 am–4:00 pm)。toTimeZone 仅出现在 SELECT 列表中。
  • 会议结束指常规交易时段的最后一根分钟 K 线;拍卖价格取自集合竞价成交价(第一天:每根 K 线为 $161.29,集合竞价为 $160.95)。
  • 成交金额为分钟收盘价乘以分钟成交量之和——这是名义价值的收盘价加权代理指标。
  • 期权到期日、类型和行权价通过 OCC 代码重新解析(表格中的 expiration_date 列不可靠);权利金名义价值按 100 股乘数计算。
  • 每次更新的价差统计数据对每个 NBBO 更新赋予相同权重;时间加权统计数据根据报价持续时间进行加权。中位数采用确定性分位数计算。
  • 数据仅通过受限的只读路径进行批量生成;公开页面从不查询实时数据。数据仓库保留完整的逐笔历史记录且无滚动过期机制,因此任何时间进行此分析都能重现结果。数据仓库状态截至 2026 年 7 月 3 日。

本列表属于更广泛的 2026 年专题报告——上半年 IPO 市场衡量报告可为您提供背景参考。每个面板均为一个存储对象——包括图表、表格和 SQL。您可以在 Strasmore 终端进一步执行任何查询。