Strasmore Research
Mga imbestigasyon Matt ConnorNi Matt Connor · Na-update noong 2026-07-25

Peb 24, 2022: Digmaan sa Open, Green sa Close

Pebrero 24, 2022: sinakop ng Russia ang Ukraine at bumagsak ang US stocks sa open, ngunit nagsara green. Buong reversal, plus oil, gold, defense, bonds at aftermath.

Sa madaling-araw ng Pebrero 24, 2022, inilunsad ng Russia ang buong-pamamaraang pagsalakay sa Ukraine — at ang US stock market ay gumawa ng isa sa pinaka-pinag-aralang sesyon ng dekada. Ang index futures ay bumagsak nang husto sa gabing iyon, ang Nasdaq-100 ETF QQQ ay bumukas -3.2% pababa — at nagsara ng +3.4%. Tinatala ng pahinang ito ang buong kaganapan: ang reversal kada minuto, ang ginawa ng S&P 500 at Dow, kung saan napunta ang langis, ginto, defense stocks, Treasuries at volatility, at kung ano ang hitsura ng mga sumunod na linggo. Ang bawat numero ay isang nakaimbak na query; palawakin ang anumang panel para sa SQL.

Bago magbukas: paano naganap ang gabing iyon

Hindi biglaan ang pagsalakay.

Sa huling bahagi ng 2021 at unang bahagi ng 2022, nag-ipon ng tropa ang Russia malapit sa hangganan ng Ukraine — ang mga pagtataya ng Kanluran noon ay lampas sa 100,000 — at ilang linggo nang itinratrade ng mga merkado ang panganib.

Noong Lunes, Pebrero 21, kinilala ng Moscow ang dalawang sariling idineklara na republikang separatista sa silangang Ukraine;

Nakasara ang mga merkado ng US para sa holiday ng Kaarawan ni Washington, at ang unang sesyon na nakapag-presyo ng balita ay ang Martes, ika-22, isang pulang araw.

Lumapag ang unang tranche ng mga parusa ng Kanluran sa parehong Martes na iyon, kasama ang pagpapatigil ng Germany sa sertipikasyon ng pipeline na Nord Stream 2.

Pagkatapos, sandali bago ang alas-6 ng umaga, oras ng Moscow, noong Huwebes, Pebrero 24 — mga alas-10 ng gabi ng Miyerkoles sa New York — inanunsyo ng presidente ng Russia ang operasyon, at naiulat ang mga pagsabog sa iba't ibang lungsod ng Ukraine sa loob ng isang oras.

Agad na nagbenta ang mga futures index ng US, na naiitrade buong gabi.

Sa pagdating ng umaga, ang tanging bukas na tanong ay gaano kalalim sa ibaba ng pagtatapos ng Miyerkoles ang 9:30 ng umagang auksyon sa pagbubukas ay magtatala.

Ang araw, sa isang hanay

Isang hanay lang ang nagbibigay ng buong sagot — prior close, gap, low, high, close, at volume:

QueryQQQ noong Pebrero 24, 2022 — ang reversal sa araw ng invasyon, naka-receipt
Ang eksaktong SQL sa likod ng bawat numero
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')

Ang resibo na dapat pag-isipan ng lahat: ang session low na $318.26 ay na-print sa 09:30 ET — ang opening minute-3.4% sa ibaba ng prior close. Mula sa unang print na iyon, umakyat ang QQQ sa loob ng anim at kalahating oras at nagsara sa $340.65: +3.4% sa araw, isang 7% swing trough-to-close sa 128 million shares. At ang close ay hindi isang fade-into-the-bell: ito ay nagsara nang lang 0.11% sa ibaba ng session high na $341.04, na nangangahulugang ang araw ay halos nagtapos sa pinakamataas nito. Sinumang nagbenta sa unang minuto ng trading ay nagbenta sa loob ng 0.18% ng ultimate low ng session — ang aktwal na bottom tick ay na-print sandali matapos ang opening cross, hindi sa opening cross mismo (ang auction print ay $318.84; ang low, $318.26).

Ang reversal, bucket by bucket

Ipinapakita ng mga half-hour na bucket ang hugis ng pag-akyat:

QueryQQQ kada kalahating oras — Pebrero 24, 2022 regular session
Ang eksaktong SQL sa likod ng bawat numero
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

Ang hagdan ay hindi perpektong malinis — ang 12:00 ET bucket ay nagsara sa $328.03, sa ilalim ng 11:30 close na $330.29 — pero ang direksyon ay hindi talaga bumalik, at ang huling bucket ay nagsara sa $340.65, ang tuktok ng talahanayan. Ang volume ay sumunod sa karaniwang U: 18.6 milyong shares sa unang kalahating oras at 15 milyon sa huli, laban sa 4.7 milyon sa paligid ng tanghalian. Ito ay ang salamin na larawan ng 2011's staircase down. Ang mga sesyon na katulad nito ang dahilan kung bakit nakakalito ang mga salaysay na "bumagsak ang market nang sumiklab ang invasion": ang futures ay bumagsak nang magdamag; ang cash session ay umakyat mula sa unang minuto nito. Alin sa dalawang ito ang naranasan mo ay lubos na nakadepende kung kailan dumating ang iyong mga order — ang tema na overnight gaps ang sumusukat sa mas tahimik na mga linggo.

Hindi lang ang Nasdaq: ang buong merkado ay bumaliktad

Ang kuwento na nakatuon sa isang indeks lamang ay mag-iiwan ng malinaw na tanong na walang sagot: ito ba ay kakaibang galaw ng mga growth stock o isang pagbaliktad ng buong merkado? Ang panel sa ibaba ay naglagay ng labing-isang ticker sa iisang sukatan — ang tatlong pangunahing index ETF, pagkatapos ang mga asset na hinahanap-hanap ng playbook para sa geopolitical shock: enerhiya, ginto, mahahabang Treasuries, isang volatility ETF, at apat na defense contractor.

QueryLabing-isang ticker noong Pebrero 24, 2022 — gap, intraday extremes, close (% vs prior close)
Ang eksaktong SQL sa likod ng bawat numero
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)

Ang pagbaliktad ay sumaklaw sa buong merkado, ngunit ang laki nito ay hindi simpleng sumunod sa lalim ng gap ng umaga: ang QQQ ay nag-gap ng -3.2% sa pagbubukas at nagsara sa +3.4%. Ang SPY at DIA ay nag-gap ng halos parehong halaga — -2.6% at -2.6% ayon sa pagkakasunod-sunod — ngunit ang SPY ay nagsara sa +1.5% laban sa +0.3% ng DIA, bahagyang berde. Ang indeks na mabigat sa growth ang pinakamalakas na bumaliktad; ang industriyal na Dow, ang pinakamahina — komposisyon, hindi laki ng gap, ang naghihiwalay sa SPY at DIA.

Kung saan pumunta ang pera: langis, ginto, depensa, volatility

Basahin ngayon ang mas mababang mga row ng parehong panel — ang tinatawag na "war trade". Nagbukas ang Energy sa kanyang mga mataas at nagsara ng pula: XLE nag-gap +2.1%, umabot ng hanggang -3.4% sa ibaba ng prior close intraday, at nagsara na -0.9%. Ginto ay ginawa rin ang parehong round trip: GLD nagbukas +2.4% at nagsara -0.6%. VIXY — isang ETF na may hawak na short-term VIX futures, ang pinakamalapit na tradable proxy para sa volatility index — nag-gap +11.1% sa pagbubukas at nagsara -3%, sa ibaba ng prior day's close. Ang mga classic fear assets ay umabot ng tugatog eksaktong nangangahulugang pinakamasama ang mga headline at namatay kasabay ng equity recovery: ang equity reversal, naka-invert.

Ang mga defense contractors ang eksepsiyon na nagtagumpay. Lahat ng apat ay nagsara ng berde — LMT +1.7%, NOC +2.4%, RTX +2.1%, GD +1.1% — at ang Northrop Grumman ay hindi kailanman nag-print ng ibaba ng Wednesday's close sa buong session (ang intraday low nito ay +1%), ang tanging isa sa apat na hindi bumagsak sa pula.

Treasuries: ang safe-haven bid ay dumating nang medyo huli

Ang pagbagsak ng Treasury yield ay nangangahulugang tumataas ang presyo ng mga bond — ang karaniwang safe-haven flow. Sa mismong araw ng paglusob, halos hindi ito naitala sa pagtatapos ng sesyon:

Query2-year at 10-year Treasury yields, Pebrero 18 – Marso 8, 2022 (%)
Ang eksaktong SQL sa likod ng bawat numero
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

Ang 10-year yield ay nagsara sa 1.96% noong Pebrero 24, bahagyang mas mababa sa 1.99% ng naunang araw. Ang tunay na pagtakas ay dumating sa sumunod na linggo: sa 2022-03-01 ang 10-year ay nakapag-print ng 1.72% — ang pinakamababang pagsara sa window na ito — at ang 2-year ay bumagsak mula 1.58% hanggang 1.31% sa parehong panahon. Ang TLT, ang long-Treasury ETF na nasa panel sa itaas, ay nagbigay ng intraday na bersyon ng parehong kwento: isang +1.8% gap sa pagbubukas na humina at naging +0.2% sa pagtatapos.

Ang mga araw sa paligid nito

Tatlong linggo ng pang-araw-araw na pagsasara ang naglagay ng reversal sa konteksto — at tahimik na nagtatakda kung ito ba ay nanatili:

QueryQQQ daily closes, Pebrero 22 – Marso 14, 2022
Ang eksaktong SQL sa likod ng bawat numero
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

Ang mga sesyon bago ang invasyon ay pula (-1% at -2.6% noong Pebrero 22–23) dahil ang paghahanda ang nanaig sa mga headline, at ang mismong araw ng invasyon ay nagsara +3.4%, na sinundan ng isa pang +1.5% sa susunod na araw. Ang pagbagsak ng mga merkado sa banta at ang pag-rally sa kaganapan ay isang pattern na sapat na luma upang magkaroon ng kasabihang Wall Street, at ang tape na ito ang pinakamalinis na modernong resibo nito. Ngunit ipagpatuloy ang pagbasa sa talahanayan: nagtatapos ito sa $318.21 noong 2022-03-14 — mas mababa kaysa sa kung saan na-print ang panic noong umaga ng invasyon.

Tumagal ba ang rally?

Hindi — at may katibayan na angayon angay ang sinasabi:

QueryPagkatapos ng reversal: kailan binasag ng QQQ ang invasion-day low, at gaano kalayo ang pagbagsak
Ang eksaktong SQL sa likod ng bawat numero
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 araw ng kalendaryo pagkatapos ng pagsalakay, noong 2022-03-14, ang QQQ ay nagsara sa ibaba ng $318.26 panic low mula sa unang minuto ng pagbubukas noong umaga ng pagsalakay. Ang Marso low close na $318.21 ay nanatiling -6.6% sa ilalim ng close noong araw ng pagsalakay — at nagpatuloy ang taon: pagsapit ng 2022-12-28, ang QQQ ay nagsara sa $260.02, na -23.7% mula sa kung saan nagtapos ang araw ng pagsalakay. Ang Pebrero 24 reversal ay totoo, marahas — at lokal. Ang rate-hike cycle, hindi ang digmaan, ang nagtakda ng direksyon ng 2022, na parehong aral na itinuro ng crash noong Marso 2020 sa kabaliktaran na direksyon.

Gaano kadalang ang reversal na ganito kalaki?

Ang pag-scan sa bawat QQQ session mula 2003 hanggang katapusan ng 2025 ay nakakahanap ng eksaktong 2 na session na bumaba nang hindi bababa sa 3% mula sa prior close intraday at nagtapos pa rin nang hindi bababa sa 1% sa itaas nito:

QueryQQQ sessions mula 2003: intraday low ≤ −3% vs prior close AT close ≥ +1%
Ang eksaktong SQL sa likod ng bawat numero
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

Ang February 24, 2022 ay isa sa mga iyon. Ang isa pa ay ang 2022-10-13 — ang session na bumukas isang oras pagkatapos ng mas mainit kaysa inaasahang inflation report, isa ring gap-down-close-green na araw. Ang invasion-day reversal ang mas malaki sa dalawa: isang 7% trough-to-close swing laban sa 5.7%. Dalawampu't-tatlong taon ng tape, at parehong prints ay nasa parehong taon.

Ano ang itinuturo ng araw na ito

May tatlong matibay na mekanika na nakatira sa tape na ito. Una: sa oras na mangyari ang isang malawakang inaasahang pangyayari, madalas ay nangyari na ang positioning — ang dalawang red sessions bago ang invasion ay nagdala ng pag-aantala. Pangalawa: ang opening auction ang siyang lugar kung saan nagbabayad ang naiipong takot sa magdamag sa isang solong presyo, at ang presyong iyon ay maaaring maging extreme ng araw sa alinmang direksyon. Pangatlo: isang marahasang one-day reversal ang nagsasabi sa iyo tungkol sa mga daloy ng araw na iyon, hindi sa direksyon ng susunod na quarter — ang mga linggo pagkatapos ng session na ito ay bumaba pa sa mga bagong mababang antas. Ang mga araw ng event ay gantimpala sa pag-alam sa makinarya; pinarurusahan nila ang pagkalito ng hugis ng isang session sa rehimen nito.

Ang detalye ng volume ay nagkukumpirma kung sino ang gumagawa ng ano: 128.5 milyong shares ang naging pinakamabigat na session sa tatlong-linggong talahanayan sa itaas, at ang mabigat na volume sa isang pag-akyat mula sa trough hanggang sa pagsara ay nangangahulugang ang pagbili ay tunay na laki na nakakatugon sa tunay na pagbebenta — hindi isang empty-tape drift. Ihambing ang parehong lagda sa rally ng Marso 24, 2020, kung saan ang conviction volume ay minarkahan din ang pagliko ng isang panic, at i-contrast ito sa mga manipis na bounce days na namamatay sa sumusunod na session.

Invasion day FAQ

Ano ang ginawa ng stock market nang invading Russia ang Ukraine?

Sa mismong araw na iyon — 2022-03-14 — ang Nasdaq-100 ETF na QQQ ay nagsimula nang -3.2% pababa na ang pinakamababa ay nasa unang minuto ng pagbubukas, pagkatapos ay umakyat sa buong session at nagsara sa +3.4%. Ang S&P 500 ETF na SPY ay nagsara sa +1.5% at ang Dow ETF na DIA sa +0.3%.

Bakit umakyat ang mga stock nang invading Russia ang Ukraine?

Ang pahinang ito ay hindi nagtatalaga ng mga motibo; ang tape ay nagtatala ng sequence — ang mabigat na presyur ng pagbebenta ay lubos na naipahayag sa 9:30 open, at ang pagbili ang nanaig sa bawat kasunod na oras. Ang pattern na pagbagsak-sa-banta, pag-akyat-sa-event ay may maraming historical parallels.

Ano ang ginawa ng langis at ginto nang invading Russia ang Ukraine?

Parehong tumaas sa open at humina: ang energy ETF na XLE ay nag-gap ng +2.1% at nagsara sa -0.9%, at ang gold ETF na GLD ay nag-gap ng +2.4% at nagsara sa -0.6%. Ang mga defense stock ay nagsara sa kanilang mga gain: ang lahat ng apat na major sa panel sa itaas ay nagsara nang green.

Tumagal ba ang rally pagkatapos ng invasion?

Hindi. Ang QQQ ay nagsara sa ibaba ng invasion-day panic low na 18 na calendar days mamaya, sa 2022-03-14, at sa pamamagitan ng 2022 low nito sa 2022-12-28 ay nakatayo itong -23.7% sa ibaba ng invasion-day close.

Gaano ka-rara ang isang reversal tulad ng 2022-03-14?

Napakarara. Mula 2003 hanggang sa katapusan ng 2025, 2 lang na QQQ session ang nag-trade ng 3% o higit pang sa ibaba ng prior close intraday at nagsara pa rin ng kahit 1% na mas mataas — ang session na ito, at 2022-10-13.


Ang bawat panel sa itaas ay isang stored, versioned query sa historical tape — palawakin ang SQL upang makita ang bawat sukat. Gustong maramdaman ang araw na ito sa halip na basahin? Isa ito sa mga playable scenario sa Strasmore Labs trading simulator.

Want to feel this day instead of reading it? It is one of the playable scenarios in the Strasmore Labs trading simulator.

#market history#geopolitics#reversals#qqq