SpaceX toegevoegd aan Nasdaq-100 index
De snelle toevoeging van SpaceX aan de Nasdaq-100 en de enorme closing auction. Analyse van de transactie en de impact op de markt via onze tick tape.
SpaceX is op dinsdag 7 juli 2026 toegevoegd aan de Nasdaq-100 index. De grootste transactie vond de middag ervoor plaats: 74.94 miljoen aandelen SPCX via een enkele sluitingsveiling tegen $160.42. Matt Levine schreef hierover in Money Stuff de volgende ochtend. Deze post vergelijkt zijn cijfers met onze tick tape en gaat verder dan een nieuwsbrief kan: veiling voor veiling, minuut voor minuut, met SQL onder elk paneel.
Een versnelde indextoevoeging
Nasdaq voegt SpaceX toe aan de Nasdaq-100 met ingang van dinsdag 7 juli 2026 — minder dan een maand na het debuut op 12 juni dat onze diepgaande analyse van de eerste maand per transactie behandelt. Fondsen die de index volgen — ongeveer $800 miljard aan assets, inclusief Invesco's QQQ volgens rapportage van het Wall Street Journal waar Levine naar verwijst — handelen tegen de officiële slotkoers van de laatste sessie voordat de wijziging van kracht wordt: één grote gematchte transactie om 16:00 uur ET, de closing auction.
"Waarom was de closing auction van gisteren een factor tien groter dan gebruikelijk? Dat is geen groot mysterie." — Matt Levine, Money Stuff (Bloomberg Opinion), 7 juli 2026
Eén basisregel: we meten wat er is genoteerd; het verhaal over de mechanismen — wie kocht, wie leverde, waarom — is voor Levine en de literatuur, waarbij de bron wordt vermeld waar het verschijnt.
Eén symbool, twee bedrijven
SPCX is een hergebruikt symbool, dus verificatie is noodzakelijk: de ticker werd tot april 2026 verhandeld als een illiquide fund rond de $22, werd in mei niet meer verhandeld, en werd op 12 juni toegewezen aan Space Exploration Technologies Corp. Het ontvangstpaneel bevestigt deze grens — 13 minute bars in de laatste actieve maand van de oude entiteit (2026-04), tussen $21.92 en $23.64; een stille mei (5 rows voor zes kalendermaanden); en vervolgens 10960 June bars tussen $146.88 en $225.64. Geen enkele rij van vóór 12 juni wordt toegeschreven aan SpaceX.
De exacte SQL achter elk getal
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's drie sessies, geverifieerd
Levine publiceert drie metingen per sessie, afkomstig van Bloomberg terminal-pagina's. Woensdag 1 juli: 109,3 miljoen verhandelde aandelen, ongeveer 5,4 miljoen in de closing auction, een slotkoers van $157,54. Donderdag 2 juli: 61,3 miljoen aandelen, 2,6 miljoen, $162. Maandag 6 juli: 188,8 miljoen aandelen, 74,9 miljoen, $160,42 — een daling van ongeveer 1% op een dag dat de brede markt steeg. Onze data laat hetzelfde beeld zien:
De exacte SQL achter elk getal
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 sessionDe auction-volumes en officiële slotkoersen komen tot op afronding overeen met die van hem — 5.38 miljoen tegen $157.54, 2.58 miljoen tegen $162, 74.94 miljoen tegen $160.42 — waarbij elke sessie precies één code-8 auction print laat zien (de kolom 'receipt'). De dagtotalen liggen binnen enkele procenten van die van hem (112.4, 61.6 en 188.9 miljoen aandelen; de boekhouding van de leverancier wijkt licht af; zie datanotities). De toegevoegde kolom is een kolom die hij niet heeft gepubliceerd — het aandeel van de cross in elke dag: 4.8% op woensdag, 4.2% op donderdag, 39.7% op maandag.
Elke SPCX closing auction sinds de beursnotering
"Orde van grootte" is meetbaar. Hieronder volgt de closing cross voor alle 15 SPCX sessies, van de notering tot de add-eve:
De exacte SQL achter elk getal
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 sessionDe mediane SPCX cross vóór 6 juli bedraagt 4.49 miljoen aandelen. 6 juli noteerde 74.94 miljoen — 16.7 keer die eerdere mediaan. De formulering van Levine blijft overeind bij deze meting. Twee eerdere grote sluitingen vallen op: 52.28 miljoen aandelen op 2026-06-18 — een donderdag met expiratie, de sessie voor de sluiting van 19 juni — en 39.56 miljoen op 2026-06-26 (31.1% van die dag). Kalendercontext, geen verklaring — en geen van beide komt overeen met 6 juli op welke as dan ook: de add-eve cross was groter in aandelen en vertegenwoordigde 39.7% van die dag.
6 juli, minuut voor minuut
Add-eve, minuut voor minuut: SPCX opende op $165.95, stond op $162.18 om 13:00 uur ET, en bleef dalen. De minuut-bar van 15:30 uur loopt van $155.42 tot $155.92 — Levine's checkpoint van "$155,50 om 15:30 uur" valt binnen deze bar — en de bar sloot op $155.46. Vanaf dat moment tot de slotklok steeg de tape met $4.96 op 19.3 miljoen continue shares, waarbij de laatste continue print landde op $160.5 om 16:00:00 ET. Het vijfminutenpad hieronder (78 buckets) eindigt op $160.4:
De exacte SQL achter elk getal
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_timeElk checkpoint staat in een controleerbare rij met de relevante print:
De exacte SQL achter elk getal
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'De auction: 74.94 miljoen shares tegen $160.42, vastgesteld om 16:00:00 ET — $12.02 miljard in één enkele print. Levine citeert Rob Du Boff van Bloomberg Intelligence, die schat dat er bij die close minstens $5,4 miljard aan index-fund buying plaatsvond, ongeveer 31,2 miljoen van de 74,9 miljoen shares. De cijfers verschillen opzettelijk: de onze is de volledige print, beide zijden; die van hem is het geschatte deel van de index-vraag binnen die print.
De close was geen spike. De officiële close werd geprint op $5.53 onder de eigen opening van SPCX om 9:30 uur en $1.76 onder de prijs om 13:00 uur; de sessie eindigde 0.98% onder de close van donderdag, terwijl SPY steeg met 0.87% (recap van maandag bevat de volledige sessie). Levine over een goed bevoorraade auction:
"Als alles werkt, komt de supply overeen met de demand in de closing auction, en beweegt de prijs niet te veel." — Matt Levine, Money Stuff (Bloomberg Opinion), 7 juli 2026
Volgens die maatstaf is een cross van 16.7 keer de voorgaande mediane print, binnen enkele cents van de laatste continue trade ($160.42 tegenover $160.5), een functionerende handel. Zijn formulering; onze metingen.
Wie was de tegenpartij
Hier stopt de registratie van transacties en begint de toewijzing van de handel. Volgens Levine concentreert de vraag naar indexen zich bij de sluiting van de toevoegingsdatum; liquidity providers — voorheen bankdesks, nu vaak multistrategy pod shops — accumuleren gedurende de voorgaande sessies en leveren aan tijdens de veiling, waarbij zij het verschil tussen hun gemiddelde aankoopprijs en de veilingprijs verdienen.
"De prikkels voor banken zijn hier grotendeels positief: hun taak is het nivelleren van de vraag." — Matt Levine, Money Stuff (Bloomberg Opinion), 7 juli 2026
Ter verduidelijking verwijst hij naar de rapportage van Nishant Kumar (Bloomberg), waaruit blijkt dat twee Millennium index-rebalance teams in juni ongeveer $3,7 miljard verdienden aan index-wijzigingshandel. Voor een breder kader noemt hij twee onderzoeken: Chinco en Sammon (2024), die passief eigendom op bijna 33,5% van de Amerikaanse markt schatten — ongeveer het dubbele van het algemene cijfer van 16% — en Greenwood en Sammon (2024), die documenteren dat het prijs-effect bij index-toevoegingen over de decennia heen afneemt. Geen van deze claims is meetbaar op onze tape; geen enkele staat in strijd met de beschikbare gegevens.
Waar de rest van de handelsvolumes van maandag werd geregistreerd
De cross vertegenwoordigde 39.7% van het gematchte volume van 6 juli. De rest was verdeeld over twee kanalen: 45.1 miljoen aandelen in de continue handel op de beurs (23.9%); 68.8 miljoen via off-exchange handel via de rapportagefaciliteiten van FINRA (36.4%) — de categorie waaronder dark pools, wholesalers en onderhandelde block trades vallen. Eén enkele transactie was groter dan de gehele continue handelsessie op de beurs.
De exacte SQL achter elk getal
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 bucketDe ochtend daarna
Levine merkt op dat SPCX dinsdagochtend opnieuw lager handelde — en het verloop van die ochtend verdient een analyse: er was sprake van verkoop gedurende de sessie, niet van een overnight gap. SpaceX opende dinsdag op $158.92 — precies 0.9% onder de slotkoers van de avond ervoor van $160.42 — handelde vervolgens in een range van $150.12–$159.3 en stond om 12:59 ET 5.2% onder die slotkoers, de vaste grens van deze analyse. (De eerste editie van deze analyse, geschreven op 8 juli op basis van een gedeeltelijke tape, toonde een diepere "open" — een gevolg van ontbrekende vroege bars, hier gecorrigeerd op basis van de volledige sessie; zie datanotities.)
De exacte SQL achter elk getal
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'De bovenstaande analyse stopt bewust om 12:59 p.m. ET (datanotities). De voltooide sessie van 7 juli — de eerste binnen de index voor het aandeel, en de dag waarop de daling terug naar de IPO-prijs eindigde — wordt volledig weergegeven in de round trip van het SpaceX-aandeel vanaf de piek.
SpaceX Nasdaq-100 FAQ
Waarom is SpaceX zo snel toegevoegd aan de Nasdaq-100?
De methodologie van de Nasdaq-index staat toevoegingen toe tussen de jaarlijkse herzieningen in december. Persberichten die Levine aanhaalt (waaronder die van het WSJ) beschreven de toevoeging van SpaceX op 7 juli 2026 als een versnelde toevoeging, binnen een maand na de IPO op 12 juni.
Wat is een index-add closing auction?
Wanneer een aandeel een index binnenkomt, handelen fondsen die deze index volgen tegen de officiële slotkoers van de laatste sessie voordat de wijziging van kracht wordt. Deze prijs wordt vastgesteld door de closing auction, één enkele transactie om 16:00 uur ET. Op 6 juli 2026 omvatte de cross op de avond voor de toevoeging 39.7% van het totale transactievolume van die dag.
Is het aandeel van SpaceX gestegen toen het de Nasdaq-100 binnenkwam?
Niet volgens onze gegevens. De slotkoers op de avond voor de toevoeging was $5.53 lager dan de opening van die dag en 0.98% lager dan de vorige slotkoers — na een stijging van $4.96 in het laatste half uur. De volgende ochtend opende het aandeel zelfs 0.9% lager. Dit zijn observaties van de marktgegevens, geen oordeel over de uitvoering van partijen.
Hoe groot was de index-add closing auction van SpaceX?
74.94 miljoen aandelen in één transactie tegen $160.42 — $12.02 miljard, wat 39.7% van het totale transactievolume van die dag bedroeg en 16.7 keer de mediane SPCX closing cross daarvoor.
Databeschrijvingen
Volledige databeschrijvingen
- Entiteitsgrens (de basis voor de frontmatter verified_tickers). SPCX is toegewezen aan Space Exploration Technologies Corp. bij de 2026-06-12 listing; de oude tape loopt tot april 2026, mei vertoont nul bars (paneel hierboven). De diepgaande analyse van de eerste maand bevat de volledige verificatie (IPO-record, switch van news-tag, short-interest cliff).
- "Matched volume" is de eigen boekhouding van de geconsolideerde tape: verkoopcondities waarvan de dictionary-entry updates_volume = false bevat (15, 16, 38) worden uitgesloten van elke totaal en noemer. De "shares traded" cijfers van de leverancier hanteren andere grenzen: ons totaal van 1 juli ligt ongeveer 3% boven de print van Levine; 2 juli en 6 juli komen binnen een fractie van een procent overeen.
- De closing cross is verkoopconditie 8, zoals uitgelegd in de uitleg over de closing-auction. Enkele sessies bevatten een extra verwaarloosbaar code-8 record van een tweede venue (2 op de listing dag); de cross is de grootste code-8 print van de sessie. 1, 2 en 6 juli tonen elk precies één record.
- Het ochtendpaneel stopt ontwerptechnisch om 12:59 p.m. ET (210 bars in het venster van 9:30–1:00): dit was de ingevoerde grens toen dit bericht voor het eerst werd geschreven (8 juli 2026), en het venster is vastgelegd zodat de cijfers reproduceerbaar blijven. De volledige sessie van 7 juli wordt gemeten in het round-trip bericht.
- Toegeschreven cijfers blijven toegeschreven. De cijfers van Levine, de WSJ, Du Boff, Kumar en de kranten zijn hun claims, gereproduceerd voor context, en zijn hier niet gemeten; dit bericht stelt geen oorzaak vast voor enige beweging.
- Tijdstempels worden opgeslagen in UTC; juli 2026 is EDT (reguliere uren 13:30–20:00 UTC). De auction notional is de print size vermenigvuldigd met de print price, niets meer.
Elk paneel is één opgeslagen object — chart, tabel, SQL. Analyseer deze auctions verder voor elke ticker op de Strasmore terminal.