SpaceXのNasdaq-100採用と取引分析
SpaceXのNasdaq-100採用に伴う大規模な終値オークションを、Matt Levine氏の記述と詳細なティックデータで検証します。
SpaceXは2026年7月7日(火曜日)、Nasdaq-100指数に採用されました。その前日の午後に、最大規模の取引が発生しました。74.94百万株のSPCXが、1株160.42の 終値オークション で成立しました。Matt Levine氏は翌朝のMoney Stuffでこの件を報じています。本記事では、彼の数値を当社のティックデータと比較し、ニュースレターでは不可能な詳細な分析を行います。オークションごとに、分単位で、各パネルの下にSQLを用いて検証します。
指数の迅速な銘柄追加
Nasdaqは、2026年7月7日(火)付でSpaceXをNasdaq-100に採用しました。これは6月12日のデビューから1ヶ月足らずの出来事です。詳細については 当社の初月分析 をご確認ください。Levine氏が引用したWall Street Journalの報道によると、InvescoのQQQを含む、この指数を追随するファンドの運用資産は約8,000億ドルにのぼります。これらのファンドは、変更が適用される直前のセッションの終値、すなわち東部標準時午後4時のクロージング・オークションにおける一括取引価格で取引を行います。
「なぜ昨日のクロージング・オークションは、通常よりも桁違いに大きかったのでしょうか? その理由は明白です。」 — Matt Levine, Money Stuff (Bloomberg Opinion), 2026年7月7日
原則として、当サイトでは記録された数値のみを扱います。誰が、何を、なぜ売買したかというメカニズムに関する記述は、Levine氏の論考に基づくものとして、出典を明記した上でそのまま引用します。
1つのシンボル、2つの企業
SPCXは再利用されたシンボルであるため、まず確認が必要です。このティッカーは2026年4月まで22ドル付近で少額取引されるファンドとして動いていました。5月は取引が停止し、6月12日の上場に伴いSpace Exploration Technologies Corp.に割り当てられました。受領パネルはこの境界を示しています。旧エンティティの最終活動月(2026-04)における13分の1分足は、21.92ドルから23.64ドルの間です。5月は取引停止(6暦月分で5行)でした。その後、6月12日より前のデータでSpaceXに帰属する行はありません。6月の10960本のバーは146.88ドルから225.64ドルの間です。
各数値の背後にある正確なSQL
WITH
(
SELECT (toString(listing_date), issuer_name)
FROM global_markets.stocks_ipos
WHERE ticker = 'SPCX'
ORDER BY listing_date DESC LIMIT 1
) AS ipo
SELECT
formatDateTime(toStartOfMonth(window_start), '%Y-%m') AS month,
count() AS minute_bars,
round(min(toFloat64(low)), 2) AS low_usd,
round(max(toFloat64(high)), 2) AS high_usd,
ipo.1 AS spacex_listing_date,
ipo.2 AS issuer
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX'
AND window_start >= '2026-01-01 00:00:00' AND window_start < '2026-07-01 00:00:00'
GROUP BY month
ORDER BY monthLevine氏による3セッションの検証
Levine氏はBloomberg端末のページから、各セッションにつき3つの数値を記載しています。7月1日(水)は、出来高1億930万株、終値オークションは約540万株、終値は157.54ドルでした。7月2日(木)は、出来高6,130万株、260万株、終値は162ドル。7月6日(月)は、出来高1億8,880万株、7,490万株、終値は160.42ドルでした。市場全体が上昇したのに対し、同銘柄は約1%下落しました。当社のデータも同様の結果を示しています。
各数値の背後にある正確なSQL
SELECT
toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS session,
round(toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]))) / 1e6, 1) AS day_matched_shares_m,
round(toFloat64(maxIf(size, has(conditions, 8))) / 1e6, 2) AS auction_shares_m,
round(100 * toFloat64(maxIf(size, has(conditions, 8))) / toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]))), 1) AS auction_pct_of_day,
round(toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 8))), 2) AS official_close,
countIf(has(conditions, 8)) AS code8_prints,
formatDateTime(toTimeZone(argMaxIf(sip_timestamp, (size, sip_timestamp), has(conditions, 8)), 'America/New_York'), '%H:%i:%S') AS auction_time_et
FROM global_markets.stocks_trades
WHERE ticker = 'SPCX'
AND ((sip_timestamp >= '2026-07-01 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00')
OR (sip_timestamp >= '2026-07-06 00:00:00' AND sip_timestamp < '2026-07-07 00:00:00'))
GROUP BY session
ORDER BY sessionオークションの規模と公式終値は、端数処理を除きLevine氏の数値と一致しています。5.38 millionドルで157.54、2.58 millionドルで162、74.94 millionドルで160.42です。各セッションにおいて、コード8のオークションプリント(receipt列)が正確に1つずつ確認できます。日次合計はLevine氏の数値(112.4、61.6、および188.9 million株。ベンダーの集計方法により端数が異なります。データ注記を参照)の数パーセント以内に収まっています。追加した列は、Levine氏が記載していなかった項目、すなわち各日のオークションによるシェアです。水曜日は4.8%、木曜日は4.2%、39.7%が月曜日の数値です。
上場以来のすべてのSPCX終値オークション
「桁違い」という言葉は数値化可能です。以下は、上場から前日の追加分までを含む、すべての15 SPCXセッションにおけるクロージング・クロス(終値決定)の記録です。
各数値の背後にある正確なSQL
SELECT
toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS session,
round(toFloat64(maxIf(size, has(conditions, 8))) / 1e6, 2) AS auction_shares_m,
round(100 * toFloat64(maxIf(size, has(conditions, 8))) / toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]))), 1) AS auction_pct_of_day,
round(toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]))) / 1e6, 1) AS day_matched_shares_m,
round(toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 8))), 2) AS official_close,
countIf(has(conditions, 8)) AS code8_prints
FROM global_markets.stocks_trades
WHERE ticker = 'SPCX'
AND sip_timestamp >= '2026-06-12 00:00:00' AND sip_timestamp < '2026-07-07 00:00:00'
GROUP BY session
ORDER BY session7月6日より前のSPCXクロスの中央値は4.49百万株です。7月6日は74.94百万株を記録しました。これは以前の中央値の16.7倍に相当します。Levine氏の表現は、この数値によって裏付けられています。過去に記録された大規模な終値は、以下の2件が際立っています。2026-06-18日の52.28百万株(権利落ち前の木曜日、6月19日の終値セッションの前日)と、2026-06-26日の39.56百万株(その日の31.1%)です。カレンダー上の文脈を整理すると、どちらも7月6日とは一致しません。追加前日のクロスは、株数においてより大きく、その日の39.7%を占めていました。
7月6日、分単位の推移
前日の動きから分単位で追います。SPCXは$165.95で寄り付き、東部時間午後1:00時点で$162.18となり、下落が続きました。午後3:30の1分間の値幅は$155.42–$155.92です。Levine氏が指摘する「午後3:30時点の$155.50」というチェックポイントはこの値幅内にあり、同バーは$155.46で引けました。そこから取引終了にかけて、16:00:00(東部時間)に$160.5で最終的な連続約定を記録するまで、19.3百万株の連続した取引で$4.96上昇しました。以下の5分ごとの推移(78区分)は$160.4で終了しています。
各数値の背後にある正確なSQL
SELECT
formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 5 MINUTE), '%H:%i') AS et_time,
round(toFloat64(argMax(close, window_start)), 2) AS price_usd,
round(toFloat64(sum(volume)) / 1e6, 2) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX'
AND window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00'
GROUP BY et_time
ORDER BY et_time各チェックポイントは、重要な約定価格とともに、監査可能な単一の行に記載されています。
各数値の背後にある正確なSQL
WITH
(
SELECT (
round(toFloat64(argMin(open, window_start)), 2),
round(toFloat64(argMaxIf(close, window_start, window_start < '2026-07-06 17:01:00')), 2),
round(toFloat64(argMaxIf(close, window_start, window_start < '2026-07-06 19:31:00')), 2),
round(toFloat64(minIf(low, window_start = '2026-07-06 19:30:00')), 2),
round(toFloat64(maxIf(high, window_start = '2026-07-06 19:30:00')), 2),
round(toFloat64(sumIf(volume, window_start >= '2026-07-06 19:30:00')) / 1e6, 1)
)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX'
AND window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00'
) AS bars,
(
SELECT round(quantileDeterministic(0.5)(auction_m, day_key), 2)
FROM (
SELECT
toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS d,
toUInt64(toYYYYMMDD(toDate(toTimeZone(sip_timestamp, 'America/New_York')))) AS day_key,
toFloat64(maxIf(size, has(conditions, 8))) / 1e6 AS auction_m
FROM global_markets.stocks_trades
WHERE ticker = 'SPCX'
AND sip_timestamp >= '2026-06-12 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
GROUP BY d, day_key
)
) AS med_prior,
(
SELECT round(toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 8))), 2)
FROM global_markets.stocks_trades
WHERE ticker = 'SPCX'
AND sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
) AS spcx_prev_close,
(
SELECT (
round(toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 8) AND sip_timestamp < '2026-07-03 00:00:00')), 2),
round(toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 8) AND sip_timestamp >= '2026-07-06 00:00:00')), 2)
)
FROM global_markets.stocks_trades
WHERE ticker = 'SPY'
AND ((sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00')
OR (sip_timestamp >= '2026-07-06 00:00:00' AND sip_timestamp < '2026-07-07 00:00:00'))
) AS spy,
(
SELECT maxIf(sip_timestamp, has(conditions, 8))
FROM global_markets.stocks_trades
WHERE ticker = 'SPCX' AND sip_timestamp >= '2026-07-06 00:00:00' AND sip_timestamp < '2026-07-07 00:00:00'
) AS auction_ts
SELECT
bars.1 AS open_0930,
bars.2 AS px_1300_et,
bars.3 AS px_1530_close,
bars.4 AS px_1530_bar_low,
bars.5 AS px_1530_bar_high,
bars.6 AS shares_1530_1559_m,
round(toFloat64(argMaxIf(price, (sip_timestamp, sequence_number), sip_timestamp < auction_ts AND NOT has(conditions, 8) AND NOT hasAny(conditions, [15, 16, 38]))), 2) AS last_continuous_px,
formatDateTime(toTimeZone(maxIf(sip_timestamp, sip_timestamp < auction_ts AND NOT has(conditions, 8) AND NOT hasAny(conditions, [15, 16, 38])), 'America/New_York'), '%H:%i:%S') AS last_continuous_et,
countIf(has(conditions, 8)) AS code8_prints,
round(toFloat64(maxIf(size, has(conditions, 8))) / 1e6, 2) AS auction_shares_m,
round(toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 8))), 2) AS auction_price,
formatDateTime(toTimeZone(auction_ts, 'America/New_York'), '%H:%i:%S') AS auction_time_et,
round(toFloat64(maxIf(size, has(conditions, 8))) * toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 8))) / 1e9, 2) AS auction_notional_busd,
round(toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 8))) - bars.3, 2) AS close_minus_1530_usd,
round(bars.1 - toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 8))), 2) AS open_minus_close_usd,
round(bars.2 - toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 8))), 2) AS px1300_minus_close_usd,
round(bars.1 - bars.2, 2) AS open_minus_1300_usd,
round((toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 8))) - toFloat64(argMaxIf(price, (sip_timestamp, sequence_number), sip_timestamp < auction_ts AND NOT has(conditions, 8) AND NOT hasAny(conditions, [15, 16, 38])))) * 100, 1) AS cross_vs_last_tick_cents,
round((1 - toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 8))) / spcx_prev_close) * 100, 2) AS spcx_close_below_prior_pct,
spy.2 AS spy_close_jul6,
round((spy.2 / spy.1 - 1) * 100, 2) AS spy_day_change_pct,
med_prior AS median_prior_auction_m,
round(toFloat64(maxIf(size, has(conditions, 8))) / 1e6 / med_prior, 1) AS auction_vs_prior_median_x
FROM global_markets.stocks_trades
WHERE ticker = 'SPCX'
AND sip_timestamp >= '2026-07-06 00:00:00' AND sip_timestamp < '2026-07-07 00:00:00'オークション:東部時間16:00:00に$160.42で74.94百万株が約定。単一の約定で$12.02十億ドルに達しました。Levine氏によると、Bloomberg IntelligenceのRob Du Boff氏は、この終値におけるインデックス・ファンドの買い付け額を少なくとも54億ドル(74.9百万株のうち約31.2百万株)と推定しています。これらの数値が異なるのは、算出方法の違いによるものです。当方の数値は両買い・売りを含む全約定額であり、同氏の数値は、そのうちのインデックス需要による推定分です。
終値は急騰ではありませんでした。公式終値は、SPCXの午前9:30の始値より$5.53低く、午後1:00の価格より$1.76低い値となりました。SPYが0.87%上昇した一方で、当セッションは木曜日の終値より0.98%低い結果となりました(詳細は月曜日の要約を参照)。十分な供給があったオークションについて、Levine氏は次のように述べています。
「すべてが順調にいけば、クロージング・オークションで供給と需要が一致し、価格の変動は最小限に抑えられる。」 — Matt Levine, Money Stuff (Bloomberg Opinion), 2026年7月7日
その基準に照らせば、直近の連続取引価格($160.42に対し$160.5)から数セント以内の差で、前日の中央値の16.7倍の取引が行われたことは、取引が機能していることを示しています。これは同氏の枠組みに基づいた、当方の測定結果です。
取引の相手方は誰か
ここで取引データは停止し、要因分析へと移ります。Levine氏の説明によれば、インデックスへの需要は銘柄追加日の終値に集中します。かつては銀行のデスクが担っていた流動性提供者は、現在はマルチストラテジーのポッド・ショップであることが多く、前日のセッションから蓄積を行い、オークションで供給します。これにより、彼らは平均取得価格とオークション価格の差額(スプレッド)を得ます。
「ここでの銀行のインセンティブは、概して無害です。彼らの役割は需要を平滑化することです。」 — Matt Levine, Money Stuff (Bloomberg Opinion), 2026年7月7日
規模の例として、Levine氏はBloombergのNishant Kumar氏の報道を挙げています。6月に2つのMillenniumのインデックス・リバランス・チームが、インデックス変更に伴う取引で約37億ドルを稼ぎました。より広範な視点として、2つの論文が挙げられます。ChincoおよびSammon (2024)は、パッシブ保有比率が米国市場の約33.5%に達していると述べています。これは、主要な数値である16%の約2倍です。また、GreenwoodおよびSammon (2024)は、数十年にわたりインデックス追加による価格への影響が縮小していることを記録しています。これらの主張は、当社のデータでは測定できませんが、当社のデータと矛盾するものでもありません。
Where the rest of Monday's volume printed
The cross took 39.7% of July 6's matched volume. The rest split two ways: 45.1 million shares in continuous on-exchange trading (23.9%); 68.8 million off-exchange through FINRA's trade-reporting facilities (36.4%) — the bucket dark pools, wholesalers, and negotiated block trades report into. One trade out-printed the entire continuous on-exchange session.
各数値の背後にある正確なSQL
SELECT
multiIf(has(conditions, 8), 'Closing auction (one print)', exchange = 4, 'Off-exchange (TRF)', 'On-exchange, continuous') AS bucket,
round(toFloat64(sum(size)) / 1e6, 1) AS shares_m,
round(100 * toFloat64(sum(size)) / sum(toFloat64(sum(size))) OVER (), 1) AS pct_of_matched,
count() AS prints
FROM global_markets.stocks_trades
WHERE ticker = 'SPCX'
AND sip_timestamp >= '2026-07-06 00:00:00' AND sip_timestamp < '2026-07-07 00:00:00'
AND NOT hasAny(conditions, [15, 16, 38])
GROUP BY bucket
ORDER BY bucket翌朝の状況
Levine氏は、火曜日の午前中にSPCXが再び下落したと指摘しています。この午前の値動きは詳細に分析する価値があります。これはオーバーナイトのギャップではなく、取引時間中の売りによるものです。SpaceXは火曜日に$158.92で寄り付きました。これは前日の終値$160.42からわずか0.9%低い水準です。その後、$150.12–$159.3のレンジで推移し、東部標準時(ET)の12:59時点では、パネルの基準となる終値から5.2%下落した$5.2%で推移しました。(7月8日に一部のデータのみを用いて作成された本パネルの第1版では、より深い「寄り付き」が示されていました。これはデータの欠落によるもので、本稿では完全なセッションデータに基づき修正しています。データ注記を参照してください。)
各数値の背後にある正確なSQL
WITH
(
SELECT round(toFloat64(argMaxIf(price, (size, sip_timestamp), has(conditions, 8))), 2)
FROM global_markets.stocks_trades
WHERE ticker = 'SPCX'
AND sip_timestamp >= '2026-07-06 00:00:00' AND sip_timestamp < '2026-07-07 00:00:00'
) AS monday_close
SELECT
count() AS morning_bars,
formatDateTime(toTimeZone(max(window_start), 'America/New_York'), '%H:%i') AS last_bar_et,
round(toFloat64(argMin(open, window_start)), 2) AS open_0930,
round((1 - toFloat64(argMin(open, window_start)) / monday_close) * 100, 1) AS open_below_monday_close_pct,
round(min(toFloat64(low)), 2) AS morning_low,
round(max(toFloat64(high)), 2) AS morning_high,
round(toFloat64(argMax(close, window_start)), 2) AS px_1259_et,
round((1 - toFloat64(argMax(close, window_start)) / monday_close) * 100, 1) AS px_1259_below_monday_close_pct,
round(toFloat64(sum(volume)) / 1e6, 1) AS morning_shares_m,
monday_close AS monday_official_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX'
AND window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 17:00:00'上記のパネルは、意図的に東部標準時(ET)の午後12時59分で終了しています(データ注記参照)。指数に組み込まれた最初のセッションであり、IPO価格への下落が完了した7月7日の全取引データは、SpaceX株のピークからの往復で確認できます。
SpaceX Nasdaq-100 FAQ
なぜSpaceXはこれほど早くNasdaq-100に採用されたのですか?
Nasdaqの指数構成手法では、毎年12月の定期入れ替え以外のタイミングでの銘柄追加が認められています。Levine氏が引用した報道(WSJを含む)によると、SpaceXの2026年7月7日の採用は、6月12日のIPOから1か月以内に行われた迅速な追加採用であったとされています。
指数採用に伴うクロージング・オークションとは何ですか?
銘柄が指数に採用される際、その指数に連動するファンドは、変更が効力を発揮する直前のセッションの公式終値で取引を行います。この価格は、東部標準時午後4時における単一の約定価格である クロージング・オークション によって決定されます。2026年7月6日、SPCXの採用前日のクロス取引は、その日の約定ボリュームの 39.7% を占めました。
SpaceXの株価はNasdaq-100への採用時に急騰しましたか?
当社のデータでは確認されていません。最終30分間で$4.96上昇したものの、採用前日の終値は当日の始値より$5.53低く、前日の終値より0.98%低い値で引けました。また、翌朝の始値はさらに0.9%低い値となりました。これらは取引データに基づく観察結果であり、各社の執行判断を評価するものではありません。
SpaceXの指数採用に伴うクロージング・オークションの規模はどのくらいでしたか?
$160.42で、1回の約定につき74.94百万株でした。これは$12.02に相当し、その日の約定ボリュームの39.7%、およびそれ以前のSPCXの終値クロスの中央値の16.7倍に達しました。
データに関する注記
詳細なデータ注記
- エンティティの境界(verified_tickersの基準)。SPCXは2026-06-12の上場時にSpace Exploration Technologies Corp.へ再割り当てされました。旧テープは2026年4月に終了し、5月はバーがゼロとなっています(上のパネル参照)。初月の詳細分析に、完全な検証結果(IPO記録、ニュースタグの切り替え、空売り残高の急落)を掲載しています。
- 「Matched volume」はコンソリデーテッド・テープ独自の集計です。辞書エントリで updates_volume = false となっている売買条件(15, 16, 38)は、すべての合計および分母から除外されます。ベンダーの「shares traded」の数値は、算出範囲が異なります。当社の7月1日の合計は、Levine氏の数値より約3%高くなっています。7月2日と7月6日は、1%未満の誤差で一致しています。
- クロージング・クロスは売買条件8です クロージング・オークションの解説を参照してください。一部のセッションでは、別の取引所(上場日の2)による無視できる程度の追加のコード8の記録があります。クロスは、そのセッションにおける最大のコード8のプリントです。7月1日、2日、6日は、それぞれ正確に1件ずつ記録されています。
- 午前のパネルは、設計上、東部標準時12:59で終了します(9:30–1:00の時間枠における210のバー):これは、この記事の初稿作成時(2026年7月8日)の取り込み範囲に基づいています。数値の再現性を保つため、この時間枠は固定されています。完了した7月7日のセッションについては、往復の投稿で測定しています。
- 帰属数値はそのまま帰属として扱います。Levine氏、WSJ、Du Boff氏、Kumar氏、および各紙の数値は、文脈として再現した彼らの主張であり、当社の測定値ではありません。この記事は、いかなる変動の原因も断定しません。
- タイムスタンプはUTCで保存されています。2026年7月はEDT(通常取引時間 13:30–20:00 UTC)です。オークションのノミナルは、プリントサイズにプリント価格を乗じたものであり、それ以上ではありません。
すべてのパネルは、チャート、テーブル、SQLからなる単一の保存オブジェクトです。Strasmoreターミナルを使用して、任意のティッカーのオークションをさらに詳細に分析してください。