Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor · · Updated 2026-10-17

SPCX: Baisse de l’action SpaceX depuis son sommet

Jusqu’où l’action SpaceX est-elle passée sous son sommet du 16 juin 2026 ? Cours, spread, options, drawdown et documents SEC jusqu’à la dernière clôture.

L’action SpaceX (SPCX) a clôturé à 148.64 $ le Oct 15, 2026, lors de la dernière séance complète disponible, 34.1% sous le point haut de 225.64 $ atteint le Jun 16, 2026. Elle se situe ainsi à 77 $ par action sous son plus haut, avec une performance de -0.9% par rapport à son premier cours en séance régulière de 150 $ et de 10.1% par rapport au prix d’émission de 135 $ auquel l’opération a été réalisée. Sur la même période, l’ETF S&P 500 (SPY) a progressé de 2.77%. Tous les chiffres proviennent de résultats de requêtes stockés, calculés jusqu’à la dernière séance disponible et actualisés avec le traitement hebdomadaire ; développez un panneau pour consulter le SQL exact.

Jusqu’où SPCX a reculé depuis son sommet

La ligne du tableau récapitulatif retrace toute l’évolution : prix d’émission de $135, première transaction en séance régulière à $150 (un cross d’ouverture à 11 h 46 le 12 juin 2026 ; l’analyse détaillée du premier mois présente le déroulement de la séance de cotation), sommet à $225.64 le Jun 16, 2026, puis dernier cours de clôture à $148.64. Le sommet a été atteint en milieu de matinée pendant les heures normales de cotation, comme le montrent les bougies voisines (notes sur les données). Le recul est calculé entre ce sommet et la clôture la plus récente en séance régulière. Il évolue donc à chaque nouvelle séance ajoutée par l’entrepôt de données.

RequêteSur une ligne : prix d’émission, premier cours, pic de juin et dernière clôture
prix d’émissionouverture de l’IPOprix du piclibellé du picmois du picjour du picdernier libellédernière clôturebaisse depuis le pic ($)baisse depuis le pic (%)pic au-dessus de l’IPO (%)vs premier cours (%)vs émission (%)SPY sur la période (%)SPY moins SPCX (points de pourcentage)SPCX depuis la séance du pic (%)SPY depuis la séance du pic (%)écart de fenêtre du pic (points de pourcentage)
135150225.64Jun 16, 2026616Oct 15, 2026148.647734.150.4-0.910.12.773.7-26.42.829.3
Le SQL exact derrière chaque chiffre
WITH
    spcx_sessions AS (
        SELECT
            toDate(toTimeZone(window_start, 'America/New_York')) AS d,
            argMax(toFloat64(close), window_start) AS c,
            max(toFloat64(high)) AS hi
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPCX'
          AND window_start >= '2026-06-12 00:00:00' AND window_start < now()
          AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
        GROUP BY d
        HAVING count() >= 150
           -- the newest session counts only once it reaches its last half hour
           AND (d < (SELECT max(toDate(toTimeZone(window_start, 'America/New_York')))
                        FROM global_markets.delayed_stocks_minute_aggs
                        WHERE ticker = 'SPCX'
                          AND window_start >= now() - INTERVAL 10 DAY AND window_start < now()
                          AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
                OR max((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')))) >= 930)
    ),
    latest_row AS (
        SELECT max(d) AS latest_d, argMax(c, d) AS latest_c
        FROM spcx_sessions
    ),
    peak_row AS (
        SELECT max(hi) AS peak_hi, argMax(d, (hi, -toInt32(d))) AS peak_d
        FROM spcx_sessions
    ),
    first_print AS (
        SELECT round(toFloat64(argMin(open, window_start)), 2) AS ipo_open_px
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPCX'
          AND window_start >= '2026-06-12 00:00:00' AND window_start < '2026-06-13 00:00:00'
          AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    ),
    issue_row AS (
        SELECT toFloat64(final_issue_price) AS issue_px
        FROM global_markets.stocks_ipos
        WHERE ticker = 'SPCX'
        ORDER BY listing_date DESC LIMIT 1
    ),
    spy_ret AS (
        SELECT round((argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100, 2) AS spy_pct
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= '2026-06-12 00:00:00' AND window_start < now()
          AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    ),
    spy_sessions AS (
        SELECT
            toDate(toTimeZone(window_start, 'America/New_York')) AS d,
            argMax(toFloat64(close), window_start) AS c
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= '2026-06-12 00:00:00' AND window_start < now()
          AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
        GROUP BY d
        HAVING count() >= 150
           -- the newest session counts only once it reaches its last half hour
           AND (d < (SELECT max(toDate(toTimeZone(window_start, 'America/New_York')))
                        FROM global_markets.delayed_stocks_minute_aggs
                        WHERE ticker = 'SPY'
                          AND window_start >= now() - INTERVAL 10 DAY AND window_start < now()
                          AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
                OR max((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')))) >= 930)
    ),
    peak_window AS (
        SELECT
            anyIf(x.c, x.d = pk.peak_d) AS spcx_peak_close,
            anyIf(y.c, y.d = pk.peak_d) AS spy_peak_close,
            anyIf(y.c, y.d = lt.latest_d) AS spy_latest_close
        FROM spcx_sessions x, spy_sessions y, peak_row pk, latest_row lt
        WHERE x.d = y.d
    )
SELECT
    toString(round(ip.issue_px, 2)) AS issue_price,
    fp.ipo_open_px AS ipo_open,
    round(pk.peak_hi, 2) AS peak_price,
    formatDateTime(pk.peak_d, '%b %e, %Y') AS peak_label,
    toMonth(pk.peak_d) AS peak_month,
    toDayOfMonth(pk.peak_d) AS peak_day,
    formatDateTime(lt.latest_d, '%b %e, %Y') AS latest_label,
    round(lt.latest_c, 2) AS latest_close,
    round(pk.peak_hi - lt.latest_c, 2) AS drop_from_peak_usd,
    round((pk.peak_hi - lt.latest_c) / pk.peak_hi * 100, 1) AS decline_from_peak_pct,
    round((pk.peak_hi - fp.ipo_open_px) / fp.ipo_open_px * 100, 1) AS peak_above_ipo_pct,
    round((lt.latest_c / fp.ipo_open_px - 1) * 100, 1) AS vs_first_print_pct,
    round((lt.latest_c / ip.issue_px - 1) * 100, 1) AS vs_issue_pct,
    sr.spy_pct AS spy_period_pct,
    round(sr.spy_pct - (lt.latest_c / fp.ipo_open_px - 1) * 100, 1) AS spy_minus_spcx_pp,
    round((lt.latest_c / pw.spcx_peak_close - 1) * 100, 1) AS spcx_since_peak_session_pct,
    round((pw.spy_latest_close / pw.spy_peak_close - 1) * 100, 1) AS spy_since_peak_session_pct,
    round((pw.spy_latest_close / pw.spy_peak_close - 1) * 100 - (lt.latest_c / pw.spcx_peak_close - 1) * 100, 1) AS peak_window_gap_pp
FROM peak_row pk, first_print fp, issue_row ip, latest_row lt, spy_ret sr, peak_window pw
Essayez cette requête

Séance après séance : la baisse

SPCX a enregistré 87 séances complètes en horaires normaux depuis sa cotation. Il a ouvert sa première séance à $150, atteint son pic à $225.64 deux séances plus tard, le Jun 16, puis clôturé à $148.64 le Oct 15, après avoir touché un plus bas à $140.66. Les volumes suivent une trajectoire distincte : 495.6 millions d’actions le premier jour, 274.5 millions lors de la séance du pic et 89.4 millions lors de la dernière séance. La première clôture en horaires normaux sous le premier cours publié est intervenue le Jul 7, 2026, à la séance 16 de l’existence du titre. L’opération d’intégration à l’indice Nasdaq-100 mesure le cross de clôture record qui l’a précédée.

RequêteTableau de bord des séances en horaires réguliers : ouverture, clôture, plus bas, plus haut et volume pour chaque séance de SPCX depuis la cotation
87 rows (showing 20)
date de séancelibellé de séanceouverture RTHclôture RTHplus bas RTHplus haut RTHvolume (M)
2026-06-12Jun 12150161.29149.34176.52495.6
2026-06-15Jun 15171.74192.42168.35193219.6
2026-06-16Jun 16200.51201.99195.13225.64274.5
2026-06-17Jun 17209.84192.2187.01213.8179.3
2026-06-18Jun 18188.39184.97172.11190189.3
2026-06-22Jun 22176.04154.59154176.75150.7
2026-06-23Jun 23151.06156.06147.11165.5132.1
2026-06-24Jun 24154.2154.46150.72159.8665
2026-06-25Jun 25156.62153.01150160.6552.4
2026-06-26Jun 26150.62152.74148.51158.466.6
2026-06-29Jun 29157.35164151.74166.1767.9
2026-06-30Jun 30163.38170.72161.64172.471.4
2026-07-01Jul 1171.56157.69155171.7489.8
2026-07-02Jul 2159.72161.86155.88162.1650.7
2026-07-06Jul 6165.95160.4155.04167.975.8
2026-07-07Jul 7158.92149.58148.86159.366.2
2026-07-08Jul 8152.55148.33145.2152.9352.3
2026-07-09Jul 9150.44152.12147.59153.539.8
2026-07-10Jul 10150.12145.4145.07150.5738.8
2026-07-13Jul 13144.7139.19136.78144.9265.2
Le SQL exact derrière chaque chiffre
SELECT
    toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
    formatDateTime(toDate(toTimeZone(window_start, 'America/New_York')), '%b %e') AS session_label,
    round(toFloat64(argMin(open, window_start)), 2) AS rth_open,
    round(toFloat64(argMax(close, window_start)), 2) AS rth_close,
    round(toFloat64(min(low)), 2) AS rth_low,
    round(toFloat64(max(high)), 2) AS rth_high,
    round(toFloat64(sum(volume)) / 1e6, 1) AS vol_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX'
  AND window_start >= '2026-06-12 00:00:00' AND window_start < now()
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY session_date, session_label
HAVING count() >= 150
   -- the newest session counts only once it reaches its last half hour
   AND (session_date < (SELECT max(toDate(toTimeZone(window_start, 'America/New_York')))
                FROM global_markets.delayed_stocks_minute_aggs
                WHERE ticker = 'SPCX'
                  AND window_start >= now() - INTERVAL 10 DAY AND window_start < now()
                  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
        OR max((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')))) >= 930)
ORDER BY session_date
Essayez cette requête

Au cœur de la dernière séance

Le panneau ci-dessous retrace la dernière séance complète, séquence par séquence, de l’ouverture à la clôture. La première demi-heure a porté sur 24.73 millions d’actions et laissé le titre à 141.46 $. La dernière demi-heure a porté sur 6.39 millions d’actions, pour une clôture à 148.64 $, contre un plus-bas de séance à 140.66 $.

RequêteDernière séance complète, évolution par demi-heure : clôtures, plus bas et volume
heure ETcours de clôtureborne bassevolume (M)
09:30141.46140.6624.73
10:00145.13141.2513.59
10:30147.36144.757.86
11:00148.47146.996.94
11:30146.56146.265.45
12:00145.24145.213.71
12:30146.36145.112.82
13:00146.78145.972.78
13:30146.73145.954.18
14:00146.46146.052.56
14:30147.39146.462.94
15:00148.27147.375.42
15:30148.64147.66.39
Le SQL exact derrière chaque chiffre
WITH latest_session AS (
    SELECT max(d) AS latest_d
    FROM (
        SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPCX'
          AND window_start >= '2026-06-12 00:00:00' AND window_start < now()
          AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
        GROUP BY d
        HAVING count() >= 150
           -- the newest session counts only once it reaches its last half hour
           AND (d < (SELECT max(toDate(toTimeZone(window_start, 'America/New_York')))
                        FROM global_markets.delayed_stocks_minute_aggs
                        WHERE ticker = 'SPCX'
                          AND window_start >= now() - INTERVAL 10 DAY AND window_start < now()
                          AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
                OR max((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')))) >= 930)
    )
)
SELECT
    formatDateTime(toTimeZone(toStartOfInterval(window_start, INTERVAL 30 MINUTE), 'America/New_York'), '%H:%i') AS et_time,
    round(toFloat64(argMax(close, window_start)), 2) AS close_px,
    round(toFloat64(min(low)), 2) AS bucket_low,
    round(toFloat64(sum(volume)) / 1e6, 2) AS vol_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPCX'
  AND window_start >= '2026-06-12 00:00:00' AND window_start < now()
  AND toDate(toTimeZone(window_start, 'America/New_York')) = (SELECT latest_d FROM latest_session)
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY et_time
ORDER BY et_time
Essayez cette requête

Le spread bid-ask, la semaine de cotation et la situation actuelle

Le spread bid-ask, le coût implicite de tout ordre exécutable, représentait en moyenne 10.74 points de base du midpoint le jour de la cotation, 7.14 points de base lors de la séance au plus haut, et 3.13 points de base le Oct 15. La profondeur au meilleur prix atteignait en moyenne 9506 actions le premier jour, contre 394 actions lors de la dernière séance de l’échantillon. Le flux des cotations est observé sur deux périodes : les quatre semaines suivant la cotation et les trois dernières semaines. La comparaison reste ainsi suffisamment peu coûteuse pour être relancée chaque semaine.

RequêteSpread et profondeur du carnet de l’action par séance : les quatre semaines suivant la cotation et les trois dernières
33 rows (showing 20)
date de séancelibellé de séancespread moyen (points de base)profondeur moyenneéléments invalides exclus
2026-06-12Jun 1210.74950624988
2026-06-15Jun 155.1923678411
2026-06-16Jun 167.1414787679
2026-06-17Jun 17810794348
2026-06-18Jun 183.9786110114
2026-06-22Jun 222.5355303898
2026-06-23Jun 233.4446574050
2026-06-24Jun 246.552411970
2026-06-25Jun 255.632401335
2026-06-26Jun 264.348252960
2026-06-29Jun 294.543312280
2026-06-30Jun 304.413201227
2026-07-01Jul 13.423123839
2026-07-02Jul 24.53191411
2026-07-06Jul 63.823842449
2026-07-07Jul 74.1832653394
2026-07-08Jul 84.814562013
2026-07-09Jul 94.723281485
2026-07-10Jul 103.66853692
2026-09-28Sep 281.893396247
Le SQL exact derrière chaque chiffre
SELECT
    toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS session_date,
    formatDateTime(toDate(toTimeZone(sip_timestamp, 'America/New_York')), '%b %e') AS session_label,
    round(avgIf((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price > bid_price), 2) AS avg_spread_bps,
    round(avgIf((toFloat64(ask_size) + toFloat64(bid_size)) / 2, bid_price > 0 AND ask_price > bid_price), 0) AS avg_depth,
    countIf(NOT (bid_price > 0 AND ask_price > bid_price)) AS dropped_invalid
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPCX'
  AND sip_timestamp < now()
  AND ((sip_timestamp >= '2026-06-12 00:00:00' AND sip_timestamp < '2026-07-11 00:00:00')
       OR sip_timestamp >= now() - INTERVAL 21 DAY)
  AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY session_date, session_label
HAVING countIf(bid_price > 0 AND ask_price > bid_price) > 0
ORDER BY session_date
Essayez cette requête

Options : quelles options se négocient actuellement

Le Oct 16, 2026, dernière séance pour laquelle des prints sur les options SPCX sont disponibles, le contrat le plus actif était le 145-strike put arrivant à échéance le Oct 16, 2026, avec 53230 contrats. Il était suivi du 147-strike call, avec 41815. SPCX propose des échéances hebdomadaires et mensuelles, et non quotidiennes. La plupart des séances ne comptent donc aucun contrat 0DTE arrivant à échéance le jour même. Sur les trois dernières semaines, le ratio de volume put/call s’est établi à 0.64 le Sep 28 et à 0.9 le Oct 16. Les contrats affichant les plus gros volumes sur une séance ne permettent pas, à eux seuls, de déterminer le strike auquel les détenteurs d’options percevraient le moins à l’échéance. C’est ce que mesure le max pain. Ce calcul porte sur l’open interest de toute la chaîne d’options, et non sur les prints d’une seule séance.

RequêteDernière séance disponible : contrats d’options SPCX les plus actifs en volume
libellélibellé de l’échéancelibellé de séancevolumemontant notionnel (M)
145-strike putOct 16, 2026Oct 16, 2026532300.05
147-strike callOct 16, 2026Oct 16, 2026418150.03
150-strike callOct 16, 2026Oct 16, 2026407110.01
145-strike callOct 16, 2026Oct 16, 2026356490.04
146-strike callOct 16, 2026Oct 16, 2026332930.03
120-strike putOct 19, 2026Oct 16, 2026306130
146-strike putOct 16, 2026Oct 16, 2026278690.03
148-strike callOct 16, 2026Oct 16, 2026233530.01
144-strike putOct 16, 2026Oct 16, 2026201020.01
142-strike putOct 16, 2026Oct 16, 2026187600
Le SQL exact derrière chaque chiffre
WITH latest_opt_session AS (
    SELECT max(toDate(toTimeZone(sip_timestamp, 'America/New_York'))) AS d
    FROM global_markets.options_trades
    WHERE ticker LIKE 'O:SPCX%'
      AND length(ticker) = 21
      AND sip_timestamp >= now() - INTERVAL 8 DAY AND sip_timestamp < now()
)
SELECT
    concat(toString(toUInt32OrZero(substring(ticker, 14, 8)) / 1000), '-strike ', if(substring(ticker, 13, 1) = 'C', 'call', 'put')) AS label,
    formatDateTime(toDate(concat('20', substring(ticker, 7, 2), '-', substring(ticker, 9, 2), '-', substring(ticker, 11, 2))), '%b %e, %Y') AS expiry_label,
    formatDateTime(max(toDate(toTimeZone(sip_timestamp, 'America/New_York'))), '%b %e, %Y') AS session_label,
    sum(size) AS volume,
    round(sum(toFloat64(size) * toFloat64(price)) / 1e6, 2) AS notional_m
FROM global_markets.options_trades
WHERE ticker LIKE 'O:SPCX%'
  AND length(ticker) = 21
  AND sip_timestamp >= now() - INTERVAL 8 DAY AND sip_timestamp < now()
  AND toDate(toTimeZone(sip_timestamp, 'America/New_York')) = (SELECT d FROM latest_opt_session)
GROUP BY label, expiry_label
ORDER BY volume DESC
LIMIT 10
Essayez cette requête
RequêteRatio de volume puts/calls par séance, sur les trois dernières semaines
date de séancelibellé de séanceratio put/callvolume des callsvolume des puts
2026-09-28Sep 280.64367289235809
2026-09-29Sep 290.52475801247958
2026-09-30Sep 300.62438347270427
2026-10-01Oct 10.66455750300312
2026-10-02Oct 20.81938299762034
2026-10-05Oct 50.621044687646917
2026-10-06Oct 60.73653328479866
2026-10-07Oct 70.85584405497058
2026-10-08Oct 80.99531400525781
2026-10-09Oct 90.59877288513379
2026-10-12Oct 120.53647832341399
2026-10-13Oct 130.54640269345626
2026-10-14Oct 140.71604790429970
2026-10-15Oct 150.8701857562244
2026-10-16Oct 160.9698656630590
Le SQL exact derrière chaque chiffre
SELECT
    toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS session_date,
    formatDateTime(toDate(toTimeZone(sip_timestamp, 'America/New_York')), '%b %e') AS session_label,
    round(sumIf(size, substring(ticker, 13, 1) = 'P') / sumIf(size, substring(ticker, 13, 1) = 'C'), 2) AS pc_ratio,
    sumIf(size, substring(ticker, 13, 1) = 'C') AS call_vol,
    sumIf(size, substring(ticker, 13, 1) = 'P') AS put_vol
FROM global_markets.options_trades
WHERE ticker LIKE 'O:SPCX%'
  AND length(ticker) = 21
  AND sip_timestamp >= now() - INTERVAL 21 DAY AND sip_timestamp < now()
GROUP BY session_date, session_label
HAVING sumIf(size, substring(ticker, 13, 1) = 'C') > 0
ORDER BY session_date
Essayez cette requête

Le flux de cotations des options reste peu compétitif

Le meilleur prix de l’action et la chaîne d’options ne s’affichent pas sur la même échelle. Le spread coté moyen sur les contrats SPCX s’est établi à 1500.54 points de base le Oct 12 et à 1831.35 points de base le Oct 16, contre 3.13 points de base pour l’action lors de sa dernière séance. La taille moyenne au meilleur prix s’est élevée à 209 contrats et 211 contrats lors de ces deux séances. Ce panneau s’arrête volontairement avant ceux consacrés à l’action : cache_options_quotes présente le plus long délai d’ingestion dans l’entrepôt de données, si bien que sa séance la plus récente accuse un retard d’un ou deux jours sur le marché.

RequêteSpread et taille des cotations d’options au meilleur prix, pour les séances disponibles de la dernière semaine et demie
date de séancelibellé de séancespread des options (points de base)taille moyenneéléments invalides excluscotations
2026-10-12Oct 121500.542091426593359002
2026-10-13Oct 131585.01210929195434948
2026-10-14Oct 141925.5623511585103435679
2026-10-15Oct 151902.2722922234121734295
2026-10-16Oct 161831.3521111946121519218
Le SQL exact derrière chaque chiffre
SELECT
    toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS session_date,
    formatDateTime(toDate(toTimeZone(sip_timestamp, 'America/New_York')), '%b %e') AS session_label,
    round(avgIf((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, bid_price > 0 AND ask_price > bid_price), 2) AS opt_spread_bps,
    round(avgIf((toFloat64(ask_size) + toFloat64(bid_size)) / 2, bid_price > 0 AND ask_price > bid_price), 0) AS avg_size,
    countIf(NOT (bid_price > 0 AND ask_price > bid_price)) AS dropped_invalid,
    count() AS quotes
FROM global_markets.cache_options_quotes
WHERE ticker LIKE 'O:SPCX%'
  AND sip_timestamp >= now() - INTERVAL 8 DAY AND sip_timestamp < now()
  AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY session_date, session_label
HAVING countIf(bid_price > 0 AND ask_price > bid_price) > 0
ORDER BY session_date
Essayez cette requête

SPCX face au marché

La baisse est mesurée depuis le point haut. La comparaison avec le marché commence donc au même niveau. Entre la clôture de la séance du point haut de Jun 16, 2026 et la dernière clôture, SPCX a évolué de -26.4%, contre 2.8% pour SPY, soit un écart de 29.3 points de pourcentage. Depuis la cotation, SPY a évolué de 2.77% et SPCX de -0.9% depuis leur premier print public. Cette période couvre à la fois la hausse jusqu’au point haut et la baisse qui a suivi. Le graphique ci-dessous reprend la même mesure séance par séance : le Oct 15, SPY a affiché une variation de 0.72% entre l’ouverture et la clôture, contre 1.18% pour SPCX.

RequêteSPY contre SPCX, de l’ouverture à la clôture, en horaires réguliers, sur les trois dernières semaines
date de séancelibellé de séanceSPY (%)SPCX (%)
2026-09-28Sep 28-0.36-2.02
2026-09-29Sep 29-0.341.77
2026-09-30Sep 30-0.521.52
2026-10-01Oct 1-0.04-1.63
2026-10-02Oct 2-0.126.29
2026-10-05Oct 50.687.61
2026-10-06Oct 60.13-0.01
2026-10-07Oct 70.18-0.28
2026-10-08Oct 8-0.13-4.08
2026-10-09Oct 90.3-1.66
2026-10-12Oct 12-0.09-0.72
2026-10-13Oct 130.09-3.33
2026-10-14Oct 14-0.68-1.75
2026-10-15Oct 150.721.18
Le SQL exact derrière chaque chiffre
SELECT
    a.session_date AS session_date,
    a.session_label AS session_label,
    round(a.spy_pct, 2) AS spy_pct,
    round(b.spcx_pct, 2) AS spcx_pct
FROM (
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
        formatDateTime(toDate(toTimeZone(window_start, 'America/New_York')), '%b %e') AS session_label,
        (argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS spy_pct
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= now() - INTERVAL 21 DAY AND window_start < now()
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY session_date, session_label
    HAVING count() >= 150
       -- the newest session counts only once it reaches its last half hour
       AND (session_date < (SELECT max(toDate(toTimeZone(window_start, 'America/New_York')))
                    FROM global_markets.delayed_stocks_minute_aggs
                    WHERE ticker = 'SPY'
                      AND window_start >= now() - INTERVAL 10 DAY AND window_start < now()
                      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
            OR max((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')))) >= 930)
) a
INNER JOIN (
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
        (argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS spcx_pct
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPCX'
      AND window_start >= '2026-06-12 00:00:00'
      AND window_start >= now() - INTERVAL 21 DAY AND window_start < now()
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY session_date
    HAVING count() >= 150
       -- the newest session counts only once it reaches its last half hour
       AND (session_date < (SELECT max(toDate(toTimeZone(window_start, 'America/New_York')))
                    FROM global_markets.delayed_stocks_minute_aggs
                    WHERE ticker = 'SPCX'
                      AND window_start >= now() - INTERVAL 10 DAY AND window_start < now()
                      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
            OR max((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York')))) >= 930)
) b ON a.session_date = b.session_date
ORDER BY a.session_date
Essayez cette requête

Ce que montre le flux d’actualités

Les titres sont dénombrables. Le flux du fournisseur contient 808 articles identifiés par le tag SPCX, depuis le jour de la cotation jusqu’à la dernière observation, publiés par 5 éditeurs. À lui seul, The Motley Fool en a signé 82.4%. La journée la plus couverte a été celle de la cotation, avec 42 articles le 12 juin, contre 31 lors de la séance de pointe du 16 juin. Aucun jour ultérieur n’est resté à moins de 13 articles du total enregistré le jour de l’IPO. La semaine de cotation a compté 25.7 articles par jour. Sur la semaine écoulée, la moyenne est de 3.9. 157 articles associent également Tesla au tag SPCX ; 34 contiennent « Nasdaq » dans leur titre. Aucun jour n’affiche un volume dominant de titres pendant la baisse.

RequêteAttention générée par le flux d’actualités, du jour de cotation à la dernière mesure : volumes, concentration et dernière semaine
nombre total d’articleséditeurspremier éditeurpart du premier éditeur (%)mois le plus actifjour du mois le plus actifarticles le jour de l’introduction en boursearticles durant la séance de pointemaximum quotidien après le picjour de l’introduction moins maximum ultérieurmoyenne de la première semainemoyenne des 7 derniers joursarticles tagués TSLA et COarticles titrés Nasdaq
8085The Motley Fool82.46124231291325.73.915734
Le SQL exact derrière chaque chiffre
WITH daily_counts AS (
    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-12 04:00:00') AND published_utc < now()
    GROUP BY d
),
top_pub AS (
    SELECT JSONExtractString(publisher, 'name') AS p, count() AS n
    FROM global_markets.stocks_news
    WHERE has(tickers, 'SPCX')
      AND published_utc >= toDateTime('2026-06-12 04:00:00') AND published_utc < now()
    GROUP BY p ORDER BY n DESC, p ASC LIMIT 1
)
SELECT
    count() AS total_articles,
    uniqExact(JSONExtractString(publisher, 'name')) AS publishers,
    (SELECT p FROM top_pub) AS top_publisher,
    round(100.0 * (SELECT n FROM top_pub) / count(), 1) AS top_publisher_share_pct,
    (SELECT toMonth(argMax(d, (n, -toInt32(toDayOfYear(d))))) FROM daily_counts) AS busiest_month,
    (SELECT toDayOfMonth(argMax(d, (n, -toInt32(toDayOfYear(d))))) FROM daily_counts) AS busiest_dom,
    countIf(toDate(toTimeZone(published_utc, 'America/New_York')) = toDate('2026-06-12')) AS ipo_day_articles,
    countIf(toDate(toTimeZone(published_utc, 'America/New_York')) = toDate('2026-06-16')) AS peak_session_articles,
    (SELECT max(n) FROM daily_counts WHERE d > toDate('2026-06-16')) AS max_daily_after_peak,
    countIf(toDate(toTimeZone(published_utc, 'America/New_York')) = toDate('2026-06-12')) - (SELECT max(n) FROM daily_counts WHERE d > toDate('2026-06-16')) AS ipo_day_minus_max_after,
    (SELECT round(sum(n) / 7, 1) FROM daily_counts WHERE d <= toDate('2026-06-18')) AS first_week_avg,
    (SELECT round(sum(n) / 7, 1) FROM daily_counts WHERE d > today() - 7) AS last7_avg,
    countIf(has(tickers, 'TSLA')) AS tsla_co_tagged,
    countIf(positionCaseInsensitive(title, 'nasdaq') > 0) AS nasdaq_titled
FROM global_markets.stocks_news
WHERE has(tickers, 'SPCX')
  AND published_utc >= toDateTime('2026-06-12 04:00:00') AND published_utc < now()
Essayez cette requête

Déclarations d’initiés et registre EDGAR

Formulaire 4 est le document qu’un initié de l’entreprise dépose dans les deux jours ouvrés suivant l’achat ou la vente d’actions de la société. Entre la publication du 12 juin et la dernière observation, l’index des dépôts EDGAR recense 23 dépôts concernant SPCX : 8 rapports courants 8-K, 1 déclaration initiale de détention Formulaire 3, 3 Formulaires 4 et 11 autres documents. Le premier Formulaire 4 est daté du Jun 17, 2026, soit le jour calendaire suivant le pic. L’index indique le type de formulaire et la date, mais rien sur le sens ou le montant de la transaction. Depuis le pic, le registre compte 19 dépôts de toute nature, le plus récent étant daté du Sep 30, 2026, soit 17 jours avant cette observation.

RequêteChaque filing SPCX dans l’index EDGAR depuis la cotation du 12 juin, sur une ligne
nombre total de dépôtsdépôts de formulaire 4dépôts de formulaire 3dépôts de formulaire 8-Kautres dépôtslibellé du premier formulaire 4mois du premier formulaire 4jour du mois du premier formulaire 4libellé du dernier dépôtjours depuis le dernier dépôtdépôts depuis le sommet
2331811Jun 17, 2026617Sep 30, 20261719
Le SQL exact derrière chaque chiffre
SELECT
    count() AS total_filings,
    countIf(form_type = '4') AS form4_filings,
    countIf(form_type = '3') AS form3_filings,
    countIf(form_type = '8-K') AS eightk_filings,
    countIf(form_type NOT IN ('4', '3', '8-K')) AS other_filings,
    formatDateTime(minIf(filing_date, form_type = '4'), '%b %e, %Y') AS first_form4_label,
    toMonth(minIf(filing_date, form_type = '4')) AS first_form4_month,
    toDayOfMonth(minIf(filing_date, form_type = '4')) AS first_form4_dom,
    formatDateTime(max(filing_date), '%b %e, %Y') AS last_filing_label,
    toInt32(today() - max(filing_date)) AS days_since_last_filing,
    countIf(filing_date > toDate('2026-06-16')) AS filings_since_peak
FROM global_markets.stocks_sec_edgar_index
WHERE ticker = 'SPCX'
  AND filing_date >= toDate('2026-06-12') AND filing_date <= today()
Essayez cette requête

À quelle vitesse les aller-retours post-IPO se produisent-ils généralement ?

SPCX a eu besoin de 16 séances pour clôturer sous son premier cours coté. Le tableau ci-dessous applique la même mesure à quatre IPO américaines récentes très suivies : CoreWeave, Klarna, Medline et Cerebras. Pour chaque action, nous prenons le premier cours coté pendant les heures normales, puis comptons le nombre de séances jusqu’à la première clôture, pendant les heures normales, sous ce niveau, sur les 16 premiers jours calendaires de cotation de chaque titre. Klarna a ouvert 30% au-dessus de son prix d’introduction et a clôturé sous son premier cours dès sa première séance. Cerebras a ouvert 89.2% au-dessus du prix d’introduction et a connu le même parcours. CoreWeave a ouvert 2.5% sous le prix d’introduction et a cassé ce niveau à la séance 2. Medline n’a jamais cassé ce niveau au cours de sa fenêtre de 16 séances. SPCX est restée au-dessus le plus longtemps parmi les quatre titres qui ont cassé ce niveau, et le détour de 50.4% au milieu de la période distingue ce parcours. L’analyse du marché des IPO au premier semestre 2026 présente les données du marché dans son ensemble sur l’évolution des cours après l’introduction.

RequêteSéances entre la cotation et la première clôture sous le premier cours : SPCX contre quatre IPO récentes
tickercotéprix d’émissionpremière ouverture RTHouverture vs prix d’émission (%)écart absolu entre l’ouverture et le prix d’émission (%)séances dans la fenêtreclôture sous le premier courspremière cassurelibellé de cassuren° de séance de la cassure
CRWV2025-03-284039-2.52.51732Mar 31, 20252
KLAR2025-09-104052303018181Sep 10, 20251
MDLN2025-12-17293520.720.7160never in windownever in window0
CBRS2026-05-1418535089.289.217171May 14, 20261
SPCX2026-06-1213515011.111.116116Jul 7, 202616
Le SQL exact derrière chaque chiffre
WITH daily AS (
    SELECT ticker,
        toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
        argMin(toFloat64(open), window_start) AS rth_open,
        argMax(toFloat64(close), window_start) AS rth_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ((ticker = 'CRWV' AND window_start >= '2025-03-28 00:00:00' AND window_start < '2025-04-23 00:00:00')
        OR (ticker = 'KLAR' AND window_start >= '2025-09-10 00:00:00' AND window_start < '2025-10-06 00:00:00')
        OR (ticker = 'MDLN' AND window_start >= '2025-12-17 00:00:00' AND window_start < '2026-01-12 00:00:00')
        OR (ticker = 'CBRS' AND window_start >= '2026-05-14 00:00:00' AND window_start < '2026-06-09 00:00:00')
        OR (ticker = 'SPCX' AND window_start >= '2026-06-12 00:00:00' AND window_start < '2026-07-08 00:00:00'))
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
    GROUP BY ticker, session_date
),
w AS (
    SELECT ticker, session_date, rth_close,
        row_number() OVER (PARTITION BY ticker ORDER BY session_date) AS rn,
        first_value(rth_open) OVER (PARTITION BY ticker ORDER BY session_date) AS d1_open
    FROM daily
),
agg AS (
    SELECT ticker,
        min(session_date) AS first_session,
        any(d1_open) AS day1_open,
        count() AS sessions_in_window,
        countIf(rth_close < d1_open) AS closes_below,
        minIf(toInt32(rn), rth_close < d1_open) AS break_rn,
        minIf(session_date, rth_close < d1_open) AS break_d
    FROM w GROUP BY ticker
)
SELECT a.ticker AS ticker,
    toString(a.first_session) AS listed,
    round(l.issue_px, 2) AS issue_price,
    round(a.day1_open, 2) AS first_rth_open,
    round((a.day1_open / l.issue_px - 1) * 100, 1) AS open_vs_issue_pct,
    round(abs((a.day1_open / l.issue_px - 1) * 100), 1) AS open_vs_issue_pct_abs,
    a.sessions_in_window AS sessions_in_window,
    a.closes_below AS closes_below_first_print,
    if(a.closes_below > 0, toString(a.break_rn), 'never in window') AS first_break,
    if(a.closes_below > 0, formatDateTime(a.break_d, '%b %e, %Y'), 'never in window') AS break_label,
    a.break_rn AS break_session_n
FROM agg a
INNER JOIN (
    SELECT ticker, min(listing_date) AS ld, argMin(toFloat64(final_issue_price), listing_date) AS issue_px
    FROM global_markets.stocks_ipos
    WHERE ticker IN ('SPCX', 'CBRS', 'MDLN', 'CRWV', 'KLAR') AND listing_date >= '2025-01-01' AND ipo_status = 'history'
    GROUP BY ticker
) l ON a.ticker = l.ticker
ORDER BY a.first_session
Essayez cette requête

FAQ

De combien l’action SpaceX a-t-elle baissé depuis son sommet ?

SPCX a atteint un sommet à $225.64 le Jun 16, 2026, puis a clôturé à $148.64 le Oct 15, 2026, soit une baisse de 34.1% entre le print du sommet et cette clôture, ou $77 par action. Cette page recalcule chaque semaine cet écart jusqu’à la dernière séance complète.

SPCX se négocie-t-elle sous son prix d’introduction en Bourse ?

À la dernière clôture, SPCX se situe -0.9% par rapport au premier print des heures régulières à $150 et 10.1% par rapport au prix d’émission de $135 auquel l’opération a été réalisée. La première clôture des heures régulières sous le premier print a eu lieu le Jul 7, 2026. Des prints intraday inférieurs à ce niveau étaient apparus plus tôt, lors de la séance d’introduction elle-même (plus bas de $149.34 le 12 juin), puis de nouveau le Jun 23 (plus bas de séance à $147.11).

La baisse de SPCX était-elle un mouvement généralisé du marché ?

Non. Entre la clôture de la séance du sommet le Jun 16, 2026 et la dernière clôture, SPCX a évolué de -26.4%, contre 2.8% pour SPY, soit un écart de 29.3 points de pourcentage. Séance par séance, le Oct 15, SPY a affiché une variation ouverture-clôture de 0.72%, contre 1.18% pour SPCX.

Les initiés de SpaceX ont-ils vendu pendant la baisse de l’action ?

L’index des documents déposés auprès de la SEC recense 3 déclarations Form 4 concernant SPCX, le formulaire relatif aux transactions des initiés, depuis la cotation du 12 juin. La plus ancienne est datée du Jun 17, 2026. L’index n’indique pas le sens de la transaction ; rien dans ces données ne permet donc de déterminer ce que cette déclaration indiquait. Depuis le sommet, l’historique recense 19 déclarations SPCX de quelque nature que ce soit.

Combien de temps les actions introduites en Bourse restent-elles au-dessus de leur premier cours de cotation ?

Souvent, pas très longtemps. En appliquant la même méthode à quatre introductions en Bourse très suivies de 2025–26, Klarna et Cerebras ont clôturé sous leur premier print des heures régulières dès leur séance d’introduction, et CoreWeave lors de la séance 2. SPCX est restée au-dessus jusqu’à la séance 16, tandis que Medline n’avait pas franchi ce seuil au cours de ses 16 premières séances.

Notes méthodologiques

  • Vérification de l’entité (symbole réutilisé) : le symbole SPCX désignait auparavant une autre entreprise, dont les données de marché vont jusqu’en avril 2026 ; aucune donnée antérieure à la cotation du 12 juin 2026 n’est attribuée à SpaceX, et tous les graphiques de cette page commencent à cette date. Le justificatif du prix d’émission affiché dans le scoreboard renvoie à l’enregistrement stocks_ipos (Space Exploration Technologies Corp., cotée le 12 juin 2026) ; l’analyse détaillée du premier mois contient l’ensemble des justificatifs de vérification.
  • « Dernière séance complète » désigne la séance new-yorkaise la plus récente comptant au moins 150 barres d’une minute en horaires réguliers. Une demi-séance programmée peut donc être retenue, tandis qu’une journée partiellement intégrée est exclue des chiffres décrivant l’état actuel. L’entrepôt de données accuse environ une séance de retard sur le flux en temps réel ; la dernière observation correspond donc généralement à la séance précédente.
  • Le pic a passé le contrôle des prints isolés : le plus-haut a été enregistré pendant deux minutes consécutives (10 h 02 à 10 h 03 ET lors de la séance du pic), avec des barres voisines à environ deux dollars près. Il s’agit d’un extrême confirmé, et non d’un print isolé. Un nouveau plus-haut dépasserait la borne de date du pic indiquée sur cette page et déclencherait une vérification.
  • Les panneaux de cotations excluent les enregistrements unilatéraux, croisés ou verrouillés et comptabilisent les exclusions dans une colonne dropped_invalid du même panneau. Le panneau des cotations de l’action échantillonne deux périodes (les quatre semaines suivant la cotation et les trois dernières semaines) ; le coût du scan reste donc constant au fil du temps.
  • Les volumes correspondent à la somme des barres d’une minute pendant les horaires réguliers uniquement ; les prints en horaires étendus, notamment le point bas du 23 juin avant l’ouverture mentionné dans l’article sur le premier mois, sont exclus de tous les panneaux présentés ici.
  • Les décomptes d’articles proviennent du flux d’un seul fournisseur, regroupés par jour calendaire new-yorkais ; The Motley Fool a rédigé 82.4% des articles identifiés. Ces décomptes mesurent donc l’attention accordée par le flux, et non l’importance des articles.
  • L’index EDGAR contient uniquement le type de formulaire, la date et l’URL. Rien dans cette page ne permet d’affirmer le sens d’une opération déclarée sur un Form 4.
  • La comparaison aller-retour couvre les 26 premiers jours calendaires de chaque action et repose sur des dates explicites ; elle peut donc être reproduite ultérieurement. « Jamais dans la fenêtre » doit être compris au sens strict.

Méthodologie

  • Il s’agit d’un article ROLLING. Chaque panneau consacré à l’état actuel est borné au moment de l’exécution, puis recalculé lors du traitement hebdomadaire. La page indique la date de référence des données (« Data as of »). Le panneau de comparaison historique utilise des dates explicites et reproduit les mêmes chiffres à toute date ultérieure.
  • Les horodatages sont stockés en UTC, puis convertis en heure de New York dans les requêtes. La séance régulière est sélectionnée selon l’heure de l’Est (barres à la minute de 9 h 30 à 15 h 59), afin que la fenêtre reste correcte lors du passage à l’heure d’été. La clôture (« Close ») correspond à la dernière barre à la minute de la séance régulière. Les prix proviennent de la vue consolidée différée.
  • Les colonnes décimales sont converties en nombres flottants sur 64 bits avant les calculs de ratios. L’échéance, le type et le strike des options sont extraits du ticker OCC (positions 7, 13 et 14 pour cette racine à quatre caractères ; length(ticker) = 21 fixe précisément la racine, ce qui empêche l’inclusion de racines similaires).

Cet article est le troisième de la série consacrée à SPCX. Il fait suite à l’analyse détaillée du premier mois et à l’opération liée à l’ajout de l’indice Nasdaq-100. Chaque chiffre provient du résultat d’une requête enregistrée. Exécutez vous-même le SQL sur le terminal Strasmore.

#spacex#spcx#ipo#bid-ask spread#options#market structure