SpaceX entra nel Nasdaq-100 e l'asta di chiusura
Analisi dell'ingresso di SpaceX nel Nasdaq-100 e dell'asta di chiusura per le azioni SPCX. Un confronto tra i dati di Matt Levine e il nostro tick tape.
SpaceX è entrata nell'indice Nasdaq-100 martedì 7 luglio 2026. L'operazione principale si è conclusa il pomeriggio precedente: 74.94 milioni di azioni SPCX in una singola asta di chiusura a $160.42. Matt Levine ha analizzato l'evento in Money Stuff la mattina successiva; questo post confronta i suoi dati con il nostro tick tape e approfondisce l'analisi, asta per asta e minuto per minuto, con il codice SQL sotto ogni sezione.
Un'aggiunta rapida all'indice
Nasdaq ha inserito SpaceX nel Nasdaq-100 con decorrenza martedì 7 luglio 2026 — meno di un mese dopo il debutto del 12 giugno analizzato il nostro approfondimento del primo mese ricevuta per ricevuta. I fondi che replicano l'indice — circa 800 miliardi di dollari in asset, incluso l'ETF QQQ di Invesco secondo il report del Wall Street Journal citato da Levine — negoziano al prezzo di chiusura ufficiale dell'ultima sessione prima dell'entrata in vigore della modifica: un unico enorme trade accoppiato alle 16:00 ET, durante l'asta di chiusura.
"Perché l'asta di chiusura di ieri è stata di un ordine di grandezza superiore al solito? Non è un grande mistero." — Matt Levine, Money Stuff (Bloomberg Opinion), 7 luglio 2026
Una regola fondamentale: noi misuriamo ciò che è stato registrato; la spiegazione del meccanismo — chi ha comprato, chi ha venduto, perché — spetta a Levine e alla letteratura, citata ovunque appaia.
Un solo simbolo, due società
SPCX è un simbolo riutilizzato, quindi la verifica è prioritaria: il ticker era scambiato come un fondo poco liquido vicino a $22 fino ad aprile 2026, è rimasto inattivo a maggio, ed è stato riassegnato a Space Exploration Technologies Corp. al listing del 12 giugno. Il pannello delle ricevute indica quel limite — 13 barre da un minuto nell'ultimo mese attivo della vecchia entità (2026-04), tra $21.92 e $23.64; un maggio inattivo (5 righe per sei mesi solari); poi 10960 barre di giugno tra $146.88 e $225.64. Nessuna riga precedente al 12 giugno è attribuita a SpaceX.
L'esatto SQL dietro ogni numero
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 monthLe tre sessioni di Levine, verificate
Levine pubblica tre letture per sessione, estratte dalle pagine del terminale Bloomberg. Mercoledì 1 luglio: 109,3 milioni di azioni scambiate, circa 5,4 milioni nell'auction di chiusura, chiusura a $157,54. Giovedì 2 luglio: 61,3 milioni di azioni, 2,6 milioni, $162. Lunedì 6 luglio: 188,8 milioni di azioni, 74,9 milioni, $160,42 — in calo di circa l'1% in una giornata in cui il mercato generale è cresciuto. Il nostro tape riporta la stessa situazione:
L'esatto SQL dietro ogni numero
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 sessionI volumi dell'auction e le chiusure ufficiali corrispondono ai suoi dati a livello di arrotondamento — 5.38 milioni a $157.54, 2.58 milioni a $162, 74.94 milioni a $160.42 — ogni sessione mostra esattamente una stampa dell'auction code-8 (la colonna dei ricevuti). I totali giornalieri rientrano entro pochi punti percentuali dai suoi (112.4, 61.6 e 188.9 milioni di azioni; la contabilità del vendor differisce marginalmente; vedere le note sui dati). La colonna aggiunta è una che lui non ha pubblicato: la quota dell'auction su ogni giornata: 4.8% mercoledì, 4.2% giovedì, 39.7% lunedì.
Tutte le aste di chiusura SPCX dalla quotazione
L' "ordine di grandezza" è misurabile. Ecco il closing cross per tutte le sessioni 15 di SPCX, dalla quotazione alla vigilia dell'add-eve:
L'esatto SQL dietro ogni numero
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 sessionLa mediana del cross SPCX prima del 6 luglio è di 4.49 milioni di azioni. Il 6 luglio sono state registrate 74.94 milioni — 16.7 volte tale mediana precedente. La frase di Levine rimane valida. Si distinguono due precedenti chiusure jumbo: 52.28 milioni di azioni il 2026-06-18 — un giovedì di scadenza, la sessione prima della chiusura del 19 giugno — e 39.56 milioni il 2026-06-26 (31.1% di quel giorno). Il contesto del calendario, non una spiegazione — e nessuno dei due corrisponde al 6 luglio su nessuno dei due assi: il cross della vigilia dell'add-eve era superiore in termini di azioni e rappresentava il 39.7% della giornata.
6 luglio, minuto per minuto
La vigilia, minuto per minuto: SPCX ha aperto a $165.95, si è attestata a $162.18 alle 13:00 ET e ha continuato a scendere. La candela da un minuto delle 15:30 copre l'intervallo $155.42–$155.92 — il checkpoint di Levine "$155,50 alle 15:30" rientra in quella candela — e la candela si è chiusa a $155.46. Da quel momento alla chiusura, il ticker è salito di $4.96 su 19.3 milioni di azioni continue, con l'ultima esecuzione continua a $160.5 alle 16:00:00 ET. Il percorso a cinque minuti riportato sotto (78 bucket) termina a $160.4:
L'esatto SQL dietro ogni numero
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_timeOgni checkpoint è contenuto in una riga verificabile, con la relativa esecuzione:
L'esatto SQL dietro ogni numero
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'L'asta: 74.94 milioni di azioni a $160.42, registrati alle 16:00:00 ET — $12.02 miliardi in una singola esecuzione. Levine riporta l'analisi di Rob Du Boff di Bloomberg Intelligence, che stima almeno 5,4 miliardi di dollari di acquisti da parte di index-fund alla chiusura, ovvero circa 31,2 milioni delle 74,9 milioni di azioni. I dati differiscono per scelta metodologica: il nostro si riferisce all'intera esecuzione, entrambi i lati; il suo riguarda la fetta stimata della domanda degli index all'interno di essa.
La chiusura non è stata un picco. La chiusura ufficiale ha registrato $5.53 in meno rispetto all'apertura delle 9:30 di SPCX e $1.76 in meno rispetto al prezzo delle 13:00; la sessione si è conclusa 0.98% sotto la chiusura di giovedì, mentre SPY è salito dello 0.87% (riepilogo di lunedì contiene l'intera sessione). Levine, su un'asta con molta offerta:
"Se tutto funziona, l'offerta eguaglia la domanda nell'asta di chiusura e il prezzo non subisce variazioni eccessive." — Matt Levine, Money Stuff (Bloomberg Opinion), 7 luglio 2026
Secondo questo criterio, un incrocio 16.7 volte la mediana precedente, entro pochi centesimi dall'ultima esecuzione continua ($160.42 contro $160.5), indica che il mercato sta funzionando. La sua interpretazione; le nostre misurazioni.
Chi era dalla parte opposta
Qui le transazioni si fermano e inizia l'analisi delle attribuzioni. Secondo la versione di Levine, la domanda degli index si concentra alla chiusura della data di aggiunta; i liquidity provider — un tempo desk bancari, oggi spesso multistrategy pod shops — accumulano durante le sessioni precedenti e vendono durante l'asta, incassando il gap tra il prezzo medio di acquisto e il prezzo dell'asta.
"Gli incentivi delle banche in questo contesto sono largamente benigni: il loro compito è quello di regolarizzare la domanda." — Matt Levine, Money Stuff (Bloomberg Opinion), 7 luglio 2026
Per dare un'idea dell'entità, cita il report di Nishant Kumar di Bloomberg secondo cui due team di Millennium dedicati al rebalance degli index hanno guadagnato circa tre miliardi e settecento milioni di dollari a giugno con i trade sugli indici. Per un quadro più ampio, cita due studi: Chinco e Sammon (2024), che stima la proprietà passiva intorno al 33,5% del mercato statunitense — circa il doppio della cifra ufficiale del 16% — e Greenwood e Sammon (2024), che documenta la riduzione dell'effetto sul prezzo dovuto all'aggiunta di nuovi titoli nel corso dei decenni. Nessuna di queste affermazioni è misurabile sui nostri dati; nessuna contrasta con i dati in nostro possesso.
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.
L'esatto SQL dietro ogni numero
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 bucketIl mattino dopo
Levine osserva che SPCX ha registrato un'ulteriore flessione martedì mattina — e la dinamica della sessione merita un'analisi: si è trattato di una vendita continua durante la sessione, non di un gap overnight. SpaceX ha aperto martedì a $158.92 — ovvero 0.9% sotto la chiusura di 160.42 della sera precedente — per poi oscillare in un range tra $150.12 e $159.3, stabilizzandosi a 5.2% sotto tale chiusura alle 12:59 ET, il limite fisso del panel. (Questa prima edizione del panel, scritta l'8 luglio su una serie di dati parzialmente acquisita, mostrava un "open" più profondo — un errore dovuto alla mancanza delle prime candele, corretto qui sulla sessione completa; consultare le note sui dati.)
L'esatto SQL dietro ogni numero
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'Il panel sopra riportato si interrompe deliberatamente alle 12:59 p.m. ET (note sui dati). La sessione completa del 7 luglio — la prima del titolo all'interno dell'index e il giorno in cui si è concluso il ritorno al prezzo della IPO — è misurata dall'inizio alla fine in il viaggio di andata e ritorno del titolo SpaceX dal picco.
FAQ SpaceX Nasdaq-100
Perché SpaceX è entrata nel Nasdaq-100 così velocemente?
La metodologia dell'indice Nasdaq permette aggiunte tra le riconfigurazioni annuali di dicembre. I rapporti stampa citati da Levine (incluso il WSJ) hanno descritto l'ingresso di SpaceX il 7 luglio 2026 come un'aggiunta accelerata, avvenuta a meno di un mese dall'IPO del 12 giugno.
Cos'è un index-add closing auction?
Quando un titolo entra in un indice, i fondi che lo replicano operano al prezzo ufficiale di chiusura dell'ultima sessione prima che la modifica diventi effettiva. Il prezzo è stabilito dalla closing auction, un unico prezzo di esecuzione alle 16:00 ET. Il 6 luglio 2026, il cross della vigilia dell'aggiunta ha registrato il 39.7% del volume totale della giornata.
Il titolo di SpaceX è impennato quando è entrato nel Nasdaq-100?
Non secondo i nostri dati. La chiusura della vigilia dell'aggiunta è stata di $5.53 inferiore all'apertura della giornata e del 0.98% rispetto alla chiusura precedente — dopo una salita di $4.96 nell'ultima mezz'ora — e la mattina successiva ha aperto ancora 0.9% più in basso. Queste sono osservazioni dei dati di mercato, non un giudizio sull'esecuzione di nessuno.
Quanto è stato grande l'index-add closing auction di SpaceX?
74.94 milioni di azioni in un unico prezzo a $160.42 — $12.02 miliardi, pari al 39.7% del volume totale della giornata e 16.7 volte la mediana dei cross di chiusura di SPCX precedenti.
Note sui dati
Note complete sui dati
- Confine dell'entità (la base per i verified_tickers nel frontmatter). SPCX è stata riassegnata a Space Exploration Technologies Corp. al listing del 2026-06-12; il vecchio tape termina ad aprile 2026, maggio mostra zero barre (pannello superiore). L'analisi approfondita del primo mese contiene la verifica completa (record IPO, cambio tag news, crollo dello short-interest).
- Il "matched volume" è la contabilità interna del consolidated tape: le condizioni di vendita con updates_volume = false (15, 16, 38) sono escluse da ogni totale e denominatore. Le cifre "shares traded" del vendor presentano differenze diverse: il nostro totale del 1° luglio è circa il 3% superiore al dato di Levine; il 2 e il 6 luglio concordano entro una frazione di punto percentuale.
- Il closing cross è la sale condition 8, come indicato in la spiegazione della closing-auction. Alcune sessioni presentano un ulteriore e trascurabile record code-8 proveniente da una seconda sede (2 nel giorno del listing); il cross è la più grande operazione code-8 della sessione. Il 1, il 2 e il 6 luglio mostrano esattamente un record ciascuno.
- Il pannello mattutino si ferma alle 12:59 p.m. ET per scelta progettuale (210 barre nella finestra 9:30–1:00): questo era il limite di ingestione quando il post è stato scritto originariamente (8 luglio 2026), e la finestra è fissata in modo che i dati siano riproducibili. La sessione completa del 7 luglio è misurata in il post round-trip.
- I numeri attribuiti rimangono attribuiti. Le cifre di Levine, WSJ, Du Boff, Kumar e dei giornali sono dichiarazioni di tali fonti, riprodotte per contesto, non misurate qui; questo post non afferma alcuna causa per alcun movimento.
- I timestamp sono memorizzati in UTC; luglio 2026 è EDT (orario regolare 13:30–20:00 UTC). Il notiziale dell'auction è il prodotto tra dimensione della print e prezzo della print, nient'altro.
Ogni pannello è un singolo oggetto memorizzato — grafico, tabella, SQL. Analizza ulteriormente queste auction, su qualsiasi ticker, sulla terminal Strasmore.