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

SPCX: SpaceX eerste maand op de beurs

Analyse van de SPCX beursgang in juni 2026: van de delayed opening cross tot de spread en volume. Ontdek hoe de koers zich ontwikkelde na de IPO.

SpaceX ging op 12 juni 2026 naar de beurs onder de ticker SPCX — vier letters die in april nog bij een ander bedrijf hoorden. De aandelen werden geprijsd op $135 en de koers opende op $150 (11.1% boven de emissieprijs). De koers bereikte een piek met een slotkoers van $201.99 op 2026-06-16, noteerde een pre-market laagte van $146.88 en sloot op $170.7226.5% boven de emissieprijs en 15.5% onder de piek. Hiermee stond het aandeel op de vierde plaats van de gehele Amerikaanse tape wat betreft het dollarvolume tijdens de reguliere handelsuren, voor NVDA. Elk getal hier is een resultaat van een query; open elk paneel voor de exacte SQL.

QueryDe maand in één rij: uitgegeven per sluiting, inclusief extremen en receipts
De exacte SQL achter elk getal
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')

Eén ticker, twee bedrijven

SPCX is een hergebruikt symbool, dus de verificatieresepten volgen eerst. Tot april 2026 werd de ticker verhandeld als een illiquide fund — 13 minute bars in de laatste actieve maand, tussen $21.92 en $23.64. In mei 2026 werden er geen gegevens geregistreerd (0 bars). Op 12 juni werd de ticker toegewezen aan Space Exploration Technologies Corp.:

QueryHet IPO-record: de entiteit achter SPCX sinds 12 juni 2026
De exacte SQL achter elk getal
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
QuerySymbol-reuse receipt: dertien maanden SPCX minute bars — mei 2026 ontbreekt volledig
De exacte SQL achter elk getal
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

Een ongefilterde "SPCX history" query voegt twee ongerelateerde bedrijven samen — daarom begint elk venster hier op 12 juni 2026. De nieuwsfeed laat dezelfde daling zien (0 SPCX-getagde artikelen in de voorgaande twaalf maanden), net als de short interest: een sprong van ongeveer 11461x over de kloof.

Het papierwerk ging vooraf

QuerySpaceX's 2026 SEC-verloop per form type, in volgorde van filing (CIK 0001181412, gededupliceerd per accession)
De exacte SQL achter elk getal
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

Bij het lezen van boven naar beneden vormt de IPO zich: een vertrouwelijke conceptwijziging (DRS/A) op 2026-05-07, de publieke S-1 op 2026-05-20, 2 wijzigingen daarop, gevolgd door 7 FWP free-writing prospectussen — roadshow-documenten — tussen 2026-06-04 en 2026-06-11. De registratie en certificering door de Exchange vond plaats op 2026-06-10; de kennisgeving van de effectiviteit en de eerste van 10 insider Form 3s op 2026-06-11; de definitieve 424B4 prospectus en een S-8 op de dag van de listing zelf. Daarna verschoof het ritme naar 8-Ks:

QueryElke SpaceX 8-K ingediend in juni 2026, inclusief de openingsregels per formulier
De exacte SQL achter elk getal
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 daarvan in minder dan twee weken: unregistered share sales bij de afsluiting van de IPO (Item 3.02); een materieel contract met X67 Inc., een volledige dochteronderneming (1.01); wijzigingen in het bestuur en de directie (5.02); een Regulation FD-kennisgeving (7.01); en Item 8.01-kennisgevingen over een aanbieding van senior unsecured notes die op 22 juni begon, volgens de 8-K ingediend op 2026-06-23. Een kop op 23 juni luidde: "SpaceX's Fundraising Is Not Over With a $20 Billion New Bond Offering". De periode van de aanbieding en de maandelijkse laagste koersen van het aandeel vallen op dezelfde kalenderdagen; deze data zegt niets meer dan dat.

Beursdag: een opening zonder 9:30

Een IPO opent niet direct met de markt. Nasdaq begon met het publiceren van SPCX-quotes om 09:50:01 ET — locked, indicatieve bid-equals-ask paren die het orderboek richting een clearing price bewogen — en gedurende bijna twee uur vonden er geen transacties plaats. De eerste publieke print van SpaceX was de opening cross zelf: 58.21 miljoen shares tegen $150, geregistreerd om 11:46:45 ET onder de condition codes 17, 9 en 41 (market-center opening print, cross, trade-through exempt). Het aandeel steeg naar 176.52, bereikte een 149.34 low, en sloot met een closing cross van 7.85 miljoen shares op $160.9519.2% boven de issue. Totale volumes: 513.5 miljoen shares, $84.1 miljard, 8.57 miljoen prints, in een reguliere sessie van iets meer dan vier uur.

QueryListing day in één rij: eerste quote, opening cross, closing cross, dagtotalen
De exacte SQL achter elk getal
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)

De quote stream illustreert de prijsontdekking. Voor de cross zijn de enige NBBO-updates de locked indicatieve quotes (18 in de 09:30 half uurtje, met een spread van nul door constructie). Daarna kwam er een stroom aan quotes: 445211 updates in de 11:30 bucket alleen, met een mediane bid-ask spread van 30 cents (18.6 bps). Tegen de 13:00 bucket was de mediaan 6 cents (3.5 bps) — een spread wordt niet direct strak; deze werd binnen twee uur strakker.

QueryDag één per half uur: quote updates en de median spread stabilisatie
De exacte SQL achter elk getal
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

Sessie voor sessie

QueryDe sessions: regular-hours close, close-over-close verandering, full-day volume
De exacte SQL achter elk getal
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

De trend: 19.3% in de tweede sessie, een piek-sluiting van $201.99 op 2026-06-16, gevolgd door drie opeenvolgende dalingen — de scherpste was een -16.4% beweging op 2026-06-22, de eerste sessie na de feestdag van 19 juni en de dag dat de notes-emissie begon. De daling bereikte een dieptepunt van $152.74 op 2026-06-26; de laatste twee sessies sloten 7.4% en 4.1% hoger (2026-06-29 krijgt een eigen dagelijks overzicht en diepgaande analyse op tick-niveau). Het volume nam sneller af dan de prijs herstelde: 513.5 miljoen aandelen op de eerste dag, 75.8 miljoen op 2026-06-30.

Beide maandelijkse extremen blijven na een controle van de gegevens standhouden — en vallen in verschillende marktfasen. De $225.64 piek geregistreerd om 2026-06-16 10:02 ET: 2 bars binnen een cent, 47699 transacties in de eerste piekminuut. De $146.88 bodem geregistreerd om 2026-06-23 04:11 ET met 2 bars binnen een cent en 14844 transacties in die minuut. De bodem tijdens de reguliere handelsuren is $147.11, $0.23 daarboven; elk cijfer voor een "juni-bodem" moet aangeven welke waarde hiermee wordt bedoeld.

De vierde grootste ticker op de tape

Rangschik elk in de VS genoteerd symbool op basis van de dollar volume tijdens de reguliere handelsuren over de periode 12–30 juni — een volledige aggregatie van de gehele markt, geen selectielijst — en de nieuwe notering staat op de vierde plaats: $344.6 miljard, na uitsluitend MU ($585.4 miljard), SPY en QQQ, en voor NVDA ($253.1 miljard), TSLA en AAPL. Elke rij beschikte over dezelfde 12 sessies.

QueryDe gehele US tape gerangschikt op regular-hours dollar volume van 12–30 juni
De exacte SQL achter elk getal
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

De samenstelling van de marktactiviteit

QueryDe gehele SPCX tape in één rij: prints, print sizes en de quote census
De exacte SQL achter elk getal
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)

De gegevens vertonen een hoge dichtheid aan quotes en kleine transacties: 41.01 miljoen transacties met een mediaan van 10 shares (gemiddelde van 64.2 — grote orders trekken het gemiddelde omhoog), 81.9% odd lots (minder dan 100 shares), 8.73% fractional — dit is consistent met retail-apps die orders opdelen, met market makers aan de andere zijde. De quote-data: 11.78 miljoen NBBO updates, 99.32% clean two-sided; 46377 tijdelijk crossed (bid boven ask — handelsplatformen lopen niet synchroon), afnemend van 17730 op de eerste dag naar 437 op 30 juni; 34118 locked; 116 one-sided of leeg. De spread-statistieken hieronder sluiten crossed en one-sided quotes uit, waarbij het aantal drops in het paneel staat vermeld.

De seizoenen van de spread

Het kenmerk van een nieuwe listing is het stabiliseren van de spread — gemeten per sessie als zowel de mediaan over alle updates als het tijdgewogen gemiddelde. De eerste dag begint bij de cross van 11:46; het opnemen van de vastgestelde pre-open indicatieve prijzen zou de curve afvlakken.

QueryDe seasoning curve: regular-hours spread per session, per-update en time-weighted
De exacte SQL achter elk getal
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

Tijdgewogen steeg de spread van 23.5 cents (7.64 bps) op de eerste dag naar 7.9 cents (4.7 bps) op 2026-06-30 — in dollars is de spread ongeveer twee derde smaller geworden, maar in relatieve termen is dit verschil veel kleiner; de dollar- en de relatieve serie divergeren gedurende een periode waarin de prijs bewoog tussen $146.88 en $225.64. De kleinste spread werd geregistreerd in de sessie van 2026-06-22 met 2 bps, met verbredingen op 2026-06-17 (8.96 bps, de sessie na de prijspiek) en 2026-06-24 (7.38 bps), waarbij die laatste samenkwam met een daling van het volume naar 71.7 miljoen aandelen vanuit 152.3 miljoen. Ter vergelijking, drie referentiepunten van 30 juni:

QueryJune 30 anchors: een mega-cap, SPCX en een illiquide small-cap, dezelfde session, dezelfde berekening
De exacte SQL achter elk getal
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

De mediane gecote spread van Apple: 3 cents (1.04 bps). SPCX: 6 cents (3.54 bps). Nathan's Famous, met 1036 quote updates gedurende de gehele sessie: 30 cents (29.66 bps). Na achttien dagen was de spread van SpaceX enkele malen breder dan die van een mega-cap, maar enkele malen smaller dan die van een minder liquide aandeel.

Opties vanaf dag drie

QuerySpaceX's options markt in één rij: totalen, expiry structuur, flagship contracts
De exacte SQL achter elk getal
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)

Opties genoteerd om 2026-06-16 09:30:00 ET — de derde handelsessie van het aandeel. In 10 optiesessies: 2.18 miljoen prints, 10.4 miljoen contracten verspreid over 3199 listings, $9.15 miljard aan premium (prijs vermenigvuldigd met de standaard 100-aandelen multiplier) — $0.31 miljard meer dan de opties die AAPL in de ENTIRE maand juni heeft gegenereerd ($8.84 miljard op 27 miljoen contracten; tien sessies tegenover een volledige maand — een bewuste asymmetrie waarbij de kern van het punt behouden blijft). 22 expiries verhandeld, van een wekelijkse expiries op donderdag 18 juni (de markt was die vrijdag gesloten) tot aan 2028-12-15 LEAPS; die eerste wekelijkse expiries alleen al vertegenwoordigde 26.7% van het maandvolume. Meest verhandeld contract: de $175 put, expiry 2026-06-18203765 contracten verspreid over 41648 prints met een gemiddelde premium van $1.43. Premium magnet: de $225 call, expiry 2026-09-18 — $121.3 miljoen bij $40.12.

QueryOptions per session: contracts, de call/put split en de put/call ratio
De exacte SQL achter elk getal
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

Calls werden elke sessie vaker verhandeld dan puts: de dagelijkse put/call ratio bereikte een piek van 0.987 op 2026-06-17, nabij de prijspiek, en bereikte een dieptepunt van 0.46 op 2026-06-29, de sessie waarop het aandeel 7.4% hoger sloot — het put volume bereikte een piek met de prijs, niet met het dieptepunt. De drukste sessie was 2026-06-18, de expiriesdag van de eerste wekelijkse opties: 1844490 contracten.

QueryLocatie van de contracts: call en put volume per strike bucket
De exacte SQL achter elk getal
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))

De strike map vertoont een barbell-patroon rond het koersverloop. De $150 bucket vertegenwoordigde het grootste volume, verdeeld over 55% puts — at-the-money twee-weg verkeer. Onder de handelsrange domineren puts het boek (92.7% van de $125 bucket); daarboven domineren calls (1.6% puts bij $250), met 42228 call contracten in de $450 bucket, ongeveer het dubbele van het maandmaximum.

QueryDe kosten voor de meest verhandelde contract: NBBO spread over de drie sessions
De exacte SQL achter elk getal
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

De handelskosten waren vanaf het eerste uur laag: het drukste contract had een gemiddelde NBBO spread van 10.3 cent in de eerste sessie (6.7% van de mid; de mediaan was 10 cent), waarbij de mediaan kromp naar 5 cent tegen de expiriesdag (5.23% van de mid, 93198 quote updates, 37 bad quotes gedropt en geteld). Nickel-to-dime spreads op het liquide centrum van een enkele dagen oude orderboeken — de far wings kosten meer, en dit overzicht zegt daar niets over.

De nieuwsverschuiving en de shorts

QueryDe informatieflow in één rij: tagging switches aan, feed compositie, co-tags
De exacte SQL achter elk getal
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')

Nieuwscategorisering is een bewijs op zich: 0 SPCX-getagde artikelen in de twaalf maanden voor de beursgang, vervolgens 14 op 2026-06-11 (de prijsdag), een 42-artikel piek op 2026-06-12, en 347 voor de maand. Bekijk deze aantallen met scepsis: 4 uitgevers, waarbij The Motley Fool alleen al 65% schreef — de aandacht van één feed, niet die van de wereldwijde media. Co-tags tonen de context: TSLA in 83 artikelen, NVDA in 59, Alphabet (aandelenklassen samengevoegd) in 57, terwijl Rocket Lab (21) en AST SpaceMobile (15) ver achterblijven: deze feed behandelde het als een mega-cap verhaal, niet als een verhaal over de ruimtevaartsector.

QueryFINRA off-exchange short volume per session: marked-short shares en reported volume
De exacte SQL achter elk getal
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

De shorts waren vanaf de eerste dag aanwezig — inclusief een definitie. Off-exchange short volume is het aandeel van het door FINRA gerapporteerde (off-exchange) volume dat als short is gemarkeerd; een groot deel hiervan betreft market makers die short gaan om klantorders te vervullen — routinematige afwikkeling, en geen short interest. Het aandeel van SPCX dat als short is gemarkeerd, begon op 33.7% op de dag van de beursgang en steeg naar 71% tegen 2026-06-30, terwijl het gerapporteerde off-exchange volume daalde van 131.53 miljoen aandelen naar 35.77 miljoen. De gelijktijdige beweging is wat deze data kan aantonen; de betekenis ervan staat niet in deze data.

QueryDe eerste short-interest print, inclusief de oude-entiteit cliff als receipt
De exacte SQL achter elk getal
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'

De werkelijke short interest — openstaande posities op een afwikkelingsdatum — werd voor het eerst gepubliceerd op 2026-06-30: 111.3 miljoen aandelen short tegenover een gemiddelde dag van 151.63 miljoen aandelen. De leverancier rapporteert days-to-cover als 1 — een ondergrens; de ruwe ratio is 0.73: shorts zouden binnen minder dan één gemiddelde dag kunnen coveren. De laatste afwikkeling van de vorige entiteit (2026-03-31) liet 9711 aandelen zien — opnieuw de daling door symboolhergebruik. Sinds de eerste editie van deze pagina is 1 latere afwikkeling (30 juni) gepubliceerd, en de bron heeft de print van 15 juni zelf aanzienlijk naar boven bijgesteld — de bovenstaande cijfers zijn de huidige gegevens, die bij elke regeneratie opnieuw worden berekend, en de pagina wordt gepauzeerd voor controle zodra de cijfers buiten hun opgegeven ranges vallen. Dit is de revisiemechaniek van deze pagina die werkt zoals bedoeld.

Data notes

Full data notes
  • Entity boundary (the basis for verified_tickers). The stocks_ipos record (Space Exploration Technologies Corp., listed 2026-06-12 at $135 on XNAS), the May-2026 zero-bar gap, and the news-tag switch pin the June 12 reassignment. No pre-June-12 row is attributed to SpaceX; frontmatter verified_tickers: ["SPCX"] is a deliberate editorial assertion for June 12–30, 2026, on these receipts.
  • Raw trade-tape sums double-count auction volume (official open/close re-reports); share and dollar totals come from minute aggregates, cross sizes from the cross prints (the June 29 deep-dive derives that correction).
  • Day one is a partial session — quotes from 09:50:01 ET, first print 11:46:45 ET. Day-one high/low are minute-bar extremes; the month extremes carry within-a-cent corroboration counts in the scoreboard.
  • EDGAR counting dedupes by accession_number and selects CIK 0001181412; the unrelated "Space Exploration I" Form D filer (CIK 0002130081) is excluded by construction.
  • No fundamentals exist to publish: 0 SpaceX rows across the three financial-statement tables.
  • The June 29 FINRA short-volume file is truncated market-wide (the source file ends mid-alphabet); SPCX sorts before the cutoff and its row is complete — the June 29 deep-dive carries the short-volume probe receipt.
  • June 19 was a market-wide closure, observed not assumed: 0 SPY bars that day, so SPCX's June spans 12 sessions.

Methodologie

  • Timestamps worden opgeslagen in UTC en gefilterd met ruwe UTC-grenzen; juni 2026 is volledig EDT, dus de reguliere handelsuren zijn 13:30–20:00 UTC (9:30 am–4:00 pm ET). toTimeZone komt alleen voor in SELECT-lijsten.
  • Een sessieafsluiting is de laatste minute bar tijdens de reguliere handelsuren; auction prijzen komen van de cross prints (dag één: $161.29 per bar, $160.95 per cross).
  • Dollar volume is de minute close vermenigvuldigd met de minute volume, opgeteld — een op de close gebaseerde proxy voor notional.
  • Options expiry, type en strike worden opnieuw geparsed vanuit de OCC ticker (de expiration_date kolom in de tabel is onbetrouwbaar); premium notional gaat uit van de 100-share multiplier.
  • Per-update spread statistieken wegen elke NBBO update even zwaar; time-weighted statistieken wegen elke quote op basis van de duur. Medianen gebruiken deterministische quantielen.
  • Generatie vindt uitsluitend batchgewijs plaats via het beveiligde read-only pad; de publieke pagina voert nooit live queries uit. Het warehouse behoudt de volledige tick historie zonder rolling expiry, waardoor deze analyse op elk gewenst moment vanuit dezelfde tabellen gereproduceerd kan worden. Warehouse status per 3 juli 2026.

Deze lijst maakt deel uit van een breder 2026 verhaal — de IPO markt van het eerste haljaar, gemeten plaatst dit in context. Elk paneel is één opgeslagen object — chart, tabel en SQL. Voer elke query verder uit op de Strasmore terminal.