Strasmore Research
Enquêtes Matt ConnorPar Matt Connor · Mis à jour le 2026-07-23

Marché boursier 24 février 2022 invasion Ukraine

Analyse du gap baissier et du renversement des indices US le 24 février 2022. Étude du spread, du pétrole, de l'or et des actions de défense après l'invasion.

Dans la nuit du 24 février 2022, la Russie a lancé son invasion de l'Ukraine à grande échelle. Le marché boursier américain a alors enregistré l'une des sessions les plus étudiées de la décennie. Les contrats futures sur indices ont chuté durant la nuit. L'ETF Nasdaq-100 QQQ a ouvert à -3.2% de baisse pour clôturer à +3.4%. Cette page retrace l'intégralité de l'événement : le renversement minute par minute, l'évolution du S&P 500 et du Dow Jones, ainsi que la performance du pétrole, de l'or, des actions de défense, des Treasuries et de la volatilité. Les semaines suivantes sont également détaillées. Chaque chiffre correspond à une requête enregistrée ; vous pouvez développer chaque panneau pour accéder au SQL.

Avant l'ouverture : déroulement de la nuit

L'invasion n'était pas imprévue. Entre la fin de 2021 et le début de 2022, la Russie a massé des troupes près de la frontière ukrainienne — les estimations occidentales de l'époque dépassaient largement les 100 000 soldats — et les marchés intégraient ce risque depuis des semaines. Le lundi 21 février, Moscou a reconnu les deux républiques séparatistes de l'est de l'Ukraine. Les marchés américains étaient fermés pour le jour de la fête de Washington ; la première séance capable de tarifer l'information était celle du mardi 22, une séance rouge. La première tranche de sanctions occidentales est tombée ce même mardi, parallèlement à l'arrêt de la certification du pipeline Nord Stream 2 par l'Allemagne.

Puis, peu avant 6h00 du matin heure de Moscou le jeudi 24 février — soit vers 22h00 le mercredi soir à New York — le président russe a annoncé l'opération. Des explosions ont été signalées dans plusieurs villes ukrainiennes dans l'heure qui a suivi. Les futures sur indices américains, qui s'échangent durant la nuit, ont immédiatement subi une vente massive. Au lever du soleil, la seule question restante était de savoir à quel niveau sous la clôture du mercredi l'enchère d'ouverture de 9h30 s'établirait.

La journée en une ligne

Une seule ligne résume l'ensemble des données : cours de clôture précédent, gap, plus bas, plus haut, clôture et volume :

RequêteQQQ le 24 février 2022 — le reversal du jour de l'invasion, acté
Le SQL exact derrière chaque chiffre
WITH
    (
        SELECT argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'QQQ'
          AND window_start >= toDateTime('2022-02-23 00:00:00') AND window_start < toDateTime('2022-02-24 04:00:00')
    ) AS prior_rth_close
SELECT
    round(prior_rth_close, 2) AS prior_close,
    round(toFloat64(argMinIf(open, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)), 2) AS rth_open,
    round((toFloat64(argMinIf(open, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)) / prior_rth_close - 1) * 100, 1) AS gap_pct,
    round(minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS rth_low,
    formatDateTime(toTimeZone(argMinIf(window_start, (toFloat64(low), toInt64(toUnixTimestamp(window_start))), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 'America/New_York'), '%H:%i') AS low_et,
    round(maxIf(toFloat64(high), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS rth_high,
    round(toFloat64(argMaxIf(close, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)), 2) AS rth_close,
    round((toFloat64(argMaxIf(close, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)) / prior_rth_close - 1) * 100, 1) AS day_change_pct,
    round((minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) / prior_rth_close - 1) * 100, 1) AS low_vs_prior_pct,
    round((toFloat64(argMaxIf(close, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)) / minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS trough_to_close_pct,
    round((maxIf(toFloat64(high), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) / toFloat64(argMaxIf(close, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)) - 1) * 100, 2) AS close_to_high_pct,
    round((toFloat64(argMinIf(open, window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)) / minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 2) AS open_above_low_pct,
    round(toFloat64(sum(volume)) / 1e6, 1) AS day_shares_m,
    countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS rth_minute_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'QQQ'
  AND window_start >= toDateTime('2022-02-24 04:00:00') AND window_start < toDateTime('2022-02-24 23:59:00')

Le point de référence à retenir : le plus bas de la séance de $318.26 a été atteint à 09:30 ET — la première minute d'ouverture — soit -3.4% sous la clôture précédente. Après ce point bas, le QQQ a progressé pendant six heures et demie pour clôturer à $340.65 : +3.4% sur la journée, soit un swing de 7% du point bas à la clôture sur un volume de 128 millions d'actions. La clôture n'a pas subi de baisse en fin de séance : elle s'est établie à seulement 0.11% sous le plus haut de la séance de $341.04, ce qui signifie que la journée s'est terminée proche de ses sommets. Quiconque a vendu durant la première minute de trading a vendu à moins de 0.18% du plus bas de la séance — le véritable point bas ayant été atteint quelques instants après l'ouverture et non lors de l'ouverture elle-même (le prix de l'enchère était de $318.84 ; le plus bas, $318.26).

Le renversement, par tranches horaires

Les tranches de trente minutes illustrent la dynamique de la hausse :

RequêteQQQ par tranches de 30 min — session régulière du 24 février 2022
Le SQL exact derrière chaque chiffre
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
    round(toFloat64(argMax(close, window_start)), 2) AS bucket_close,
    round(min(toFloat64(low)), 2) AS bucket_low,
    round(toFloat64(sum(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'QQQ'
  AND window_start >= toDateTime('2022-02-24 04:00:00') AND window_start < toDateTime('2022-02-24 23:59:00')
  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

La progression n'a pas été parfaitement linéaire — le bucket 12:00 de l'ETF a clôturé à $328.03, contre une clôture de $330.29 pour le 11:30 — mais la direction n'a jamais réellement changé. La dernière tranche a clôturé à $340.65, au sommet du tableau. Le volume a suivi la courbe en U habituelle : 18.6 millions d'actions lors de la première demi-heure et 15 millions lors de la dernière, contre 4.7 millions autour de la pause déjeuner. Cela forme l'image miroir de la descente en escalier de 2011. Ce type de séance explique pourquoi les récits affirmant que « le marché a chuté lors de l'invasion » sont trompeurs : les futures ont chuté durant la nuit ; la session cash a progressé dès la première minute. Votre expérience dépendait entièrement de l'heure d'arrivée de vos ordres — le thème des overnight gaps est mesuré lors des semaines plus calmes.

Pas seulement le Nasdaq : tout le marché a inversé sa tendance

Une analyse limitée à un seul indice laisserait une question en suspens : s'agissait-il d'une anomalie des actions de croissance ou d'un retournement général du marché ? Le tableau ci-dessous compare onze tickers sur une même échelle : les trois principaux ETF indiciels, suivis des actifs privilégiés en cas de choc géopolitique : l'énergie, l'or, les bons du Trésor à long terme, un ETF de volatilité et quatre entreprises de défense.

RequêteOnze tickers le 24 février 2022 — gap, extrêmes intraday, clôture (% vs clôture précédente)
Le SQL exact derrière chaque chiffre
SELECT
    ticker,
    round(prior_close, 2) AS prior_close,
    round((rth_open / prior_close - 1) * 100, 1) AS gap_pct,
    round((rth_low / prior_close - 1) * 100, 1) AS low_vs_prior_pct,
    round((rth_high / prior_close - 1) * 100, 1) AS high_vs_prior_pct,
    round((rth_close / prior_close - 1) * 100, 1) AS day_change_pct
FROM (
    SELECT
        ticker,
        argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959 AND toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2022-02-23')) AS prior_close,
        argMinIf(toFloat64(open), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959 AND toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2022-02-24')) AS rth_open,
        minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959 AND toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2022-02-24')) AS rth_low,
        maxIf(toFloat64(high), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959 AND toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2022-02-24')) AS rth_high,
        argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959 AND toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2022-02-24')) AS rth_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('QQQ', 'SPY', 'DIA', 'XLE', 'GLD', 'TLT', 'VIXY', 'LMT', 'NOC', 'RTX', 'GD')
      AND window_start >= toDateTime('2022-02-23 00:00:00') AND window_start < toDateTime('2022-02-24 23:59:00')
    GROUP BY ticker
)
ORDER BY indexOf(['QQQ', 'SPY', 'DIA', 'XLE', 'GLD', 'TLT', 'VIXY', 'LMT', 'NOC', 'RTX', 'GD'], ticker)

Le retournement a touché l'ensemble du marché, mais son ampleur n'a pas simplement suivi l'écart de prix (gap) de la matinée : le QQQ a ouvert avec un gap de -3.2% et a clôturé à +3.4%. Le SPY et le DIA ont affiché des gaps presque identiques — respectivement -2.6% et -2.6% — pourtant le SPY a clôturé à +1.5% contre +0.3% pour le DIA, soit une performance à peine positive. L'indice fortement exposé à la croissance a connu l'inversion la plus marquée ; le Dow, axé sur l'industrie, la moins importante. C'est la composition des indices, et non la taille du gap, qui distingue le SPY du DIA.

Répartition des flux : pétrole, or, défense et volatilité

Observez les lignes inférieures du même tableau — le « war trade ». Le secteur de l'énergie a ouvert à ses plus hauts avant de clôturer en baisse : le XLE a fait un gap de +2.1%, a chuté jusqu'à -3.4% sous la clôture précédente en séance, et a terminé à -0.9%. L'or a effectué un mouvement similaire : le GLD a ouvert à +2.4% et a clôturé à -0.6%. Le VIXY — un ETF répliquant les contrats futures à court terme sur le VIX, le proxy tradable le plus proche de l'indice de volatilité — a fait un gap de +11.1% à l'ouverture et a clôturé à -3%, soit sous la clôture de la veille. Les actifs de protection classiques ont atteint leur pic au moment même où les titres de presse étaient les plus alarmistes, puis ont décliné lors du redressement des actions : le renversement des actions était inversé.

Les entreprises de défense ont été l'exception en maintenant leur position. Les quatre ont clôturé en hausse — LMT +1.7%, NOC +2.4%, RTX +2.1%, GD +1.1% — et Northrop Grumman n'est jamais passé sous la clôture de mercredi durant la séance (son low intraday était de +1%), étant le seul des quatre à ne pas être passé en zone rouge.

Treasuries : la recherche de valeurs refuges est intervenue tardivement

Une baisse du rendement des Treasuries signifie une hausse des prix obligataires — le flux classique vers les valeurs refuges. Le jour même de l'invasion, ce flux était quasi inexistant à la clôture :

RequêteRendements Treasury 2 ans et 10 ans, 18 fév. – 8 mars 2022 (%)
Le SQL exact derrière chaque chiffre
SELECT
    toString(date) AS session,
    round(yield_2_year, 2) AS yield_2_year,
    round(yield_10_year, 2) AS yield_10_year
FROM global_markets.treasury_yields
WHERE date BETWEEN '2022-02-18' AND '2022-03-08'
ORDER BY date

Le rendement à 10 ans a clôturé à 1.96% le 24 février, soit légèrement sous les 1.99% de la veille. La véritable fuite vers la qualité a eu lieu la semaine suivante : au 2022-03-01, le 10 ans s'est établi à 1.72%, soit sa clôture la plus basse sur cette période, tandis que le 2 ans est passé de 1.58% à 1.31% sur la même période. Le TLT, l'ETF long-Treasury du tableau ci-dessus, a reflété cette tendance en séance : un gap de +1.8% à l'ouverture qui s'est résorbé à +0.2% à la clôture.

Les jours environnants

Trois semaines de clôtures quotidiennes permettent de contextualiser le renversement — et de vérifier s'il se maintient :

RequêteClôtures quotidiennes QQQ, 22 fév. – 14 mars 2022
Le SQL exact derrière chaque chiffre
SELECT
    toString(et_date) AS session,
    close_usd,
    round(if(prev_close = 0, NULL, (close_usd / prev_close - 1) * 100), 1) AS change_pct,
    shares_m
FROM (
    SELECT et_date, close_usd, shares_m,
           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(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS close_usd,
            round(toFloat64(sum(volume)) / 1e6, 1) AS shares_m
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'QQQ'
          AND window_start >= toDateTime('2022-02-18 00:00:00') AND window_start < toDateTime('2022-03-15 23:59:00')
        GROUP BY et_date
    )
)
WHERE et_date >= toDate('2022-02-22') AND et_date <= toDate('2022-03-14')
ORDER BY et_date

Les séances avant l'invasion étaient dans le rouge (-1% et -2.6% les 22 et 23 février) car l'accumulation de tensions dominait l'actualité. Le jour même de l'invasion s'est clôturé à +3.4%, suivi d'une hausse de +1.5% le lendemain. Le fait que les marchés chutent face à la menace et rebondissent lors de l'événement est un schéma classique, illustré ici de manière exemplaire. Cependant, l'analyse du tableau montre que le cours s'arrête à $318.21 le 2022-03-14 — soit un niveau inférieur au pic de panique du matin de l'invasion.

Le rallye a-t-il tenu ?

Non — et les chiffres le confirment :

RequêteAprès le reversal : quand le QQQ a cassé le plus bas du jour de l'invasion, et l'ampleur de la baisse
Le SQL exact derrière chaque chiffre
WITH
    daily AS (
        SELECT
            toDate(toTimeZone(window_start, 'America/New_York')) AS d,
            round(argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS c
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'QQQ'
          AND window_start >= toDateTime('2022-02-24 04:00:00') AND window_start < toDateTime('2023-01-01 00:00:00')
        GROUP BY d
    ),
    (SELECT c FROM daily WHERE d = toDate('2022-02-24')) AS invasion_close,
    (
        SELECT round(minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2)
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'QQQ'
          AND window_start >= toDateTime('2022-02-24 04:00:00') AND window_start < toDateTime('2022-02-24 23:59:00')
    ) AS invasion_low
SELECT
    invasion_close,
    invasion_low,
    toString(minIf(d, c < invasion_low AND d > toDate('2022-02-24'))) AS first_close_below_invasion_low,
    dateDiff('day', toDate('2022-02-24'), minIf(d, c < invasion_low AND d > toDate('2022-02-24'))) AS calendar_days_to_new_low,
    round(minIf(c, d BETWEEN toDate('2022-02-25') AND toDate('2022-03-31')), 2) AS march_low_close,
    toString(argMinIf(d, (c, d), d BETWEEN toDate('2022-02-25') AND toDate('2022-03-31'))) AS march_low_date,
    round((minIf(c, d BETWEEN toDate('2022-02-25') AND toDate('2022-03-31')) / invasion_close - 1) * 100, 1) AS march_low_vs_invasion_close_pct,
    round(minIf(c, d > toDate('2022-02-24')), 2) AS year_low_close,
    toString(argMinIf(d, (c, d), d > toDate('2022-02-24'))) AS year_low_date,
    round((minIf(c, d > toDate('2022-02-24')) / invasion_close - 1) * 100, 1) AS year_low_vs_invasion_close_pct
FROM daily

18 jours calendaires après l'invasion, le 2022-03-14, le QQQ a clôturé sous le plus bas de panique de 318.26 enregistré à la première minute de l'ouverture le matin de l'invasion. Cette clôture de mars à 318.21 se situait -6.6% sous la clôture du jour de l'invasion — et la tendance s'est poursuivie : en 2022-12-28, le QQQ a clôturé à 260.02, soit -23.7% sous le niveau de clôture du jour de l'invasion. Le renversement du 24 février était réel, violent — et local. Le cycle de hausse des taux, et non la guerre, a déterminé la direction de 2022, la même leçon que le krach de mars 2020 avait enseignée dans le sens inverse.

Quelle est la rareté d'un tel renversement ?

L'analyse de chaque séance du QQQ de 2003 jusqu'à la fin de 2025 identifie exactement 2 séances ayant clôturé au moins 1 % au-dessus de la clôture précédente, après avoir été échangées à au moins 3 % sous celle-ci en cours de séance :

RequêteSessions QQQ depuis 2003 : low intraday ≤ −3% vs clôture précédente ET clôture ≥ +1%
Le SQL exact derrière chaque chiffre
SELECT
    toString(d) AS session,
    low_vs_prior_pct,
    close_vs_prior_pct,
    trough_to_close_pct
FROM (
    SELECT
        d,
        round((lo / prev_c - 1) * 100, 1) AS low_vs_prior_pct,
        round((c / prev_c - 1) * 100, 1) AS close_vs_prior_pct,
        round((c / lo - 1) * 100, 1) AS trough_to_close_pct
    FROM (
        SELECT d, c, lo,
               lagInFrame(c) OVER (ORDER BY d ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_c
        FROM (
            SELECT
                toDate(toTimeZone(window_start, 'America/New_York')) AS d,
                argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS c,
                minIf(toFloat64(low), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS lo
            FROM global_markets.delayed_stocks_minute_aggs
            WHERE ticker = 'QQQ'
              AND window_start >= toDateTime('2003-01-01 00:00:00') AND window_start < toDateTime('2026-01-01 00:00:00')
            GROUP BY d
        )
    )
    WHERE prev_c > 0 AND isFinite(prev_c)
)
WHERE low_vs_prior_pct <= -3 AND close_vs_prior_pct >= 1
ORDER BY session

Le 24 février 2022 en fait partie. L'autre est 2022-10-13 — la séance ayant ouvert une heure après un rapport sur l'inflation plus élevé que prévu, un autre exemple de gap-down suivi d'une clôture verte. Le renversement du jour de l'invasion a été le plus important des deux : un swing de 7% entre le point bas et la clôture, contre 5.7%. Sur vingt-trois années de données, ces deux signaux sont survenus la même année.

Ce que cette journée nous enseigne

Trois mécanismes durables sont visibles sur ce tape. Premièrement : l'anticipation est souvent déjà intégrée avant qu'un événement majeur ne survienne — les deux sessions rouges précédant l'invasion ont porté cette anticipation. Deuxièmement : l'enchère d'ouverture est le moment où la peur accumulée durant la nuit se résout à un prix unique, et ce prix peut constituer l'extrême de la journée dans une direction ou l'autre. Troisièmement : un reversal violent sur une seule journée renseigne sur les flows du jour, pas sur la direction du prochain trimestre — les semaines suivant cette session ont de toute façon atteint de nouveaux points bas. Les jours d'événements récompensent la compréhension des mécanismes de marché ; ils pénalisent la confusion entre la structure d'une session et un changement de régime.

Le détail du volume confirme l'activité des acteurs : 128.5 millions d'actions ont fait de cette journée la plus volumineuse du tableau des trois dernières semaines ci-dessus. Un volume élevé lors d'une remontée du point bas vers la clôture signifie que des ordres d'achat massifs ont rencontré une vente réelle — il ne s'agit pas d'une dérive sans liquidité. Comparez cette signature avec le rallye du 24 mars 2020, où un volume de conviction a également marqué le retournement d'une panique, et contrastez-la avec les jours de rebond sur faible volume qui s'essoufflent dès la session suivante.

FAQ sur le jour de l'invasion

Quel a été l'impact sur le marché boursier lors de l'invasion de l'Ukraine par la Russie ?

Le jour même — 24 février 2022 — l'ETF Nasdaq-100 QQQ a ouvert à -3.2% suite à son point bas de la première minute d'ouverture, avant de progresser durant toute la séance pour clôturer à +3.4%. L'ETF S&P 500 SPY a clôturé à +1.5% et l'ETF Dow DIA à +0.3%.

Pourquoi les actions ont-elles progressé lors de l'invasion de l'Ukraine par la Russie ?

Cette page n'attribue pas de motifs ; elle enregistre la séquence des faits — une forte pression vendeuse s'est manifestée à l'ouverture de 9h30, puis les achats ont dominé chaque heure suivante. Le schéma de baisse sur la menace suivie d'un rebond lors de l'événement présente de nombreux parallèles historiques.

Quel a été l'évolution du pétrole et de l'or lors de l'invasion de l'Ukraine par la Russie ?

Les deux ont bondi à l'ouverture avant de reculer : l'ETF énergie XLE a fait un gap de +2.1% pour clôturer à -0.9%, et l'ETF or GLD a fait un gap de +2.4% pour clôturer à -0.6%. Les valeurs de la défense ont maintenu leurs gains : les quatre titres majeurs du panel ci-dessus ont clôturé en hausse.

Le rallye après l'invasion a-t-il duré ?

Non. Le QQQ a clôturé sous son point bas de panique du jour de l'invasion 18 jours calendaires plus tard, le 2022-03-14. À son point bas de 2022, le 2022-12-28, il se situait à -23.7% sous la clôture du jour de l'invasion.

Quelle est la rareté d'un retournement comme celui du 24 février 2022 ?

Très rare. De 2003 jusqu'à la fin de 2025, seules 2 séances du QQQ ont échangé à plus de 3 % sous la clôture précédente en cours de séance tout en clôturant avec une hausse d'au moins 1 % — celle-ci, et 2022-10-13.


Chaque panel ci-dessus est une requête SQL historisée et versionnée — développez la requête pour voir chaque mesure. Vous souhaitez tester cette journée plutôt que de la lire ? C'est l'un des scénarios jouables dans le simulateur de trading de Strasmore Labs.

#market history#geopolitics#reversals#qqq