Strasmore Research
เจาะลึกข้อมูล Matt Connorโดย Matt Connor · อัปเดตเมื่อ 2026-07-24

วิเคราะห์ตลาดหุ้นวันที่ 24 กุมภาพันธ์ 2022

สรุปเหตุการณ์รัสเซียรุกรานยูเครนเมื่อวันที่ 24 กุมภาพันธ์ 2022 ที่ทำให้ตลาดหุ้นสหรัฐฯ ผันผวนรุนแรง พร้อมวิเคราะห์ราคาน้ำมัน ทองคำ และหุ้นกลุ่มป้องกันประเทศ

ในช่วงเช้ามืดของวันที่ 24 กุมภาพันธ์ 2022 รัสเซียได้เปิดฉากรุกรานยูเครนเต็มรูปแบบ ซึ่งส่งผลให้ตลาดหุ้นสหรัฐฯ เกิดความผันผวนอย่างรุนแรงจนกลายเป็นหนึ่งในเซสชันที่มีการศึกษามากที่สุดในทศวรรษนี้ ดัชนีฟิวเจอร์สปรับตัวลดลงอย่างหนักในช่วงข้ามคืน โดย Nasdaq-100 ETF (QQQ) เปิดตลาดลดลง -3.2% และปิดที่ +3.4% หน้าเว็บนี้รวบรวมเหตุการณ์ทั้งหมดที่เกิดขึ้น ทั้งการกลับตัวของราคาในแต่ละนาที ความเคลื่อนไหวของ S&P 500 และ Dow รวมถึงทิศทางของราคาน้ำมัน ทองคำ หุ้นกลุ่มป้องกันประเทศ พันธบัตรสหรัฐฯ และดัชนีความผันผวน ตลอดจนภาพรวมในช่วงสัปดาห์หลังจากนั้น ข้อมูลตัวเลขทั้งหมดมาจากการดึงข้อมูลโดยตรง คุณสามารถขยายแถบข้อมูลเพื่อดูคำสั่ง SQL ได้

ก่อนตลาดเปิด: สรุปเหตุการณ์ในช่วงคืนที่ผ่านมา

การรุกรานไม่ได้เกิดขึ้นอย่างกะทันหัน ตลอดช่วงปลายปี 2021 ถึงต้นปี 2022 รัสเซียได้เคลื่อนกำลังทหารมาประชิดชายแดนยูเครน โดยการประเมินจากชาติตะวันตกในขณะนั้นระบุว่ามีจำนวนมากกว่า 100,000 นาย ซึ่งตลาดได้ซื้อขายเพื่อรับความเสี่ยงนี้มาหลายสัปดาห์แล้ว เมื่อวันจันทร์ที่ 21 กุมภาพันธ์ รัสเซียได้ให้การรับรองสาธารณรัฐแบ่งแยกดินแดนสองแห่งในยูเครนตะวันออก ขณะที่ตลาดสหรัฐฯ ปิดทำการเนื่องในวัน Washington's Birthday ทำให้การซื้อขายครั้งแรกที่สามารถสะท้อนข่าวนี้ได้คือวันอังคารที่ 22 กุมภาพันธ์ ซึ่งเป็นวันที่ตลาดปิดตัวลงในแดนลบ มาตรการคว่ำบาตรชุดแรกจากชาติตะวันตกถูกประกาศใช้ในวันอังคารเดียวกัน พร้อมกับการระงับการรับรองท่อส่งก๊าซ Nord Stream 2 โดยเยอรมนี

ต่อมา เมื่อเวลาประมาณ 06:00 น. ตามเวลาในมอสโกของวันพฤหัสบดีที่ 24 กุมภาพันธ์ หรือประมาณ 22:00 น. ของคืนวันพุธในนิวยอร์ก ประธานาธิบดีรัสเซียได้ประกาศเริ่มปฏิบัติการ และมีรายงานเหตุระเบิดเกิดขึ้นในเมืองต่างๆ ทั่วยูเครนภายในหนึ่งชั่วโมงหลังจากนั้น ดัชนีฟิวเจอร์สของสหรัฐฯ ซึ่งมีการซื้อขายตลอดทั้งคืน ปรับตัวลดลงทันที เมื่อถึงเวลาพระอาทิตย์ขึ้น คำถามเดียวที่เหลืออยู่คือราคาจากการ ประมูลเปิดตลาด เวลา 09:30 น. จะลดลงจากราคาปิดของวันพุธมากน้อยเพียงใด

สรุปภาพรวมรายวัน

ข้อมูลแถวเดียวที่รวบรวมคำตอบทั้งหมด ทั้งราคาปิดวันก่อนหน้า, ช่องว่างราคา (gap), ราคาต่ำสุด, ราคาสูงสุด, ราคาปิด และปริมาณการซื้อขาย:

คำสั่งดึงข้อมูลQQQ ณ วันที่ 24 กุมภาพันธ์ 2022 — การกลับตัวในวันที่มีการบุกรุก
SQL เบื้องหลังตัวเลขแต่ละตัว
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')

ข้อมูลสำคัญที่ทุกคนควรทราบ: ราคาต่ำสุดของเซสชันอยู่ที่ $318.26 ซึ่งเกิดขึ้นเมื่อเวลา 09:30 ET — ในนาทีแรกของการเปิดตลาด — โดยต่ำกว่าราคาปิดวันก่อนหน้า -3.4% จากจุดนั้น QQQ ปรับตัวขึ้นต่อเนื่องเป็นเวลาหกชั่วโมงครึ่ง และปิดที่ $340.65: +3.4% สำหรับวันนี้ โดยมีส่วนต่างจากจุดต่ำสุดถึงราคาปิด (swing trough-to-close) อยู่ที่ 7% จากปริมาณการซื้อขาย 128 ล้านหุ้น และราคาปิดไม่ได้มีการเทขายในช่วงท้ายตลาด โดยราคาปิดอยู่ต่ำกว่าราคาสูงสุดของเซสชันที่ $341.04 เพียง 0.11% ซึ่งหมายความว่าวันดังกล่าวปิดตลาดที่ระดับสูงสุดเกือบทั้งหมด ใครก็ตามที่ขายในช่วงนาทีแรกของการซื้อขาย จะเป็นการขายในช่วงที่ใกล้เคียงกับระดับต่ำสุดของเซสชันภายในระยะ 0.18% — ซึ่งจุดต่ำสุดที่แท้จริงเกิดขึ้นหลังจากช่วงเปิดตลาดเพียงไม่กี่ขณะ ไม่ใช่เกิดขึ้นพร้อมกับการเปิดตลาด (ราคาจากการประมูลคือ $318.84; ส่วนราคาต่ำสุดคือ $318.26)

การกลับทิศทางในแต่ละช่วงเวลา

ข้อมูลรายครึ่งชั่วโมงแสดงให้เห็นถึงรูปแบบการปรับตัวขึ้น:

คำสั่งดึงข้อมูลQQQ ทุกครึ่งชั่วโมง — ช่วงเวลาซื้อขายปกติวันที่ 24 กุมภาพันธ์ 2022
SQL เบื้องหลังตัวเลขแต่ละตัว
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

ทิศทางไม่ได้เป็นเส้นตรงที่สมบูรณ์แบบ โดย bucket ของ 12:00 ET ปิดที่ $328.03 ซึ่งต่ำกว่าราคาปิดของ 11:30 ที่ $330.29 แต่ทิศทางโดยรวมไม่ได้เปลี่ยนไปอย่างมีนัยสำคัญ และ bucket สุดท้ายปิดที่ $340.65 ซึ่งเป็นระดับสูงสุดของตาราง ปริมาณการซื้อขายมีลักษณะเป็นรูปตัว U ตามปกติ โดยมีปริมาณ 18.6 ล้านหุ้นในช่วงครึ่งชั่วโมงแรก และ 15 ล้านหุ้นในช่วงสุดท้าย เมื่อเทียบกับ 4.7 ล้านหุ้นในช่วงพักกลางวัน รูปแบบนี้เป็นภาพสะท้อนที่ตรงกันข้ามกับ ขาลงแบบขั้นบันไดในปี 2011 ตลาดที่มีลักษณะเช่นนี้เป็นเหตุผลว่าทำไมการเล่าเรื่องที่ว่า "ตลาดร่วงลงเนื่องจากการรุกราน" จึงเป็นการให้ข้อมูลที่ผิดพลาด เพราะ futures ปรับตัวลดลงในช่วงข้ามคืน แต่ cash session กลับพุ่งสูงขึ้นตั้งแต่นาทีแรก ผลลัพธ์ที่เกิดขึ้นขึ้นอยู่กับว่าคำสั่งซื้อขายของคุณถูกส่งเข้ามาในช่วงเวลาใด ซึ่งเป็นหัวข้อที่ ช่องว่างราคาข้ามคืน ใช้ในการวัดผลในช่วงสัปดาห์ที่ตลาดผันผวนน้อยกว่า

ไม่ใช่แค่ Nasdaq: ตลาดโดยรวมเกิดการกลับตัว

หากพิจารณาเพียงดัชนีเดียวอาจทำให้เกิดคำถามสำคัญว่า นี่เป็นเพียงความผิดปกติของหุ้นกลุ่มเติบโต (growth stock) หรือเป็นการกลับตัวของตลาดทั้งระบบ ข้อมูลด้านล่างนี้เปรียบเทียบหุ้นสิบเอ็ดตัวด้วยเกณฑ์เดียวกัน ประกอบด้วย ETF ของสามดัชนีหลัก ตามด้วยสินทรัพย์ที่มักเคลื่อนไหวเมื่อเกิดเหตุการณ์กระทบจากภูมิรัฐศาสตร์ ได้แก่ พลังงาน, ทองคำ, พันธบัตรสหรัฐฯ ระยะยาว, ETF ความผันผวน และหุ้นกลุ่มผู้รับเหมาด้านกลาโหมสี่บริษัท

คำสั่งดึงข้อมูล11 tickers ณ วันที่ 24 กุมภาพันธ์ 2022 — gap, intraday extremes, ราคาปิด (% เทียบกับราคาปิดก่อนหน้า)
SQL เบื้องหลังตัวเลขแต่ละตัว
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)

การกลับตัวเกิดขึ้นทั่วทั้งตลาด แต่ขนาดของการเคลื่อนไหวไม่ได้แปรผันตามระยะห่างของราคาตอนเปิดตลาด (gap) ในช่วงเช้าเพียงอย่างเดียว โดย QQQ เปิดตลาดด้วย gap ที่ -3.2% และปิดที่ +3.4% ขณะที่ SPY และ DIA มี gap ในระดับที่ใกล้เคียงกัน คือ -2.6% และ -2.6% ตามลำดับ อย่างไรก็ตาม SPY ปิดที่ +1.5% ในขณะที่ DIA ปิดที่ +0.3% ซึ่งถือว่าเพิ่มขึ้นเพียงเล็กน้อย ดัชนีที่มีหุ้นกลุ่มเติบโตสูงเกิดการกลับตัวรุนแรงที่สุด ส่วนดัชนี Dow ที่เน้นหุ้นกลุ่มอุตสาหกรรมมีการกลับตัวน้อยที่สุด ซึ่งความแตกต่างระหว่าง SPY และ DIA เกิดจากองค์ประกอบของหุ้นในดัชนี ไม่ใช่ขนาดของ gap

ทิศทางการเคลื่อนย้ายเงินทุน: น้ำมัน, ทองคำ, กลุ่มป้องกันประเทศ และความผันผวน

พิจารณาแถวด้านล่างในตารางเดียวกัน ซึ่งเป็น "การซื้อขายกลุ่มสงคราม" กลุ่มพลังงานเปิดตลาดที่ระดับสูงสุดและปิดในแดนลบ โดย XLE กระโดดขึ้น +2.1% แต่มีการซื้อขายลดลงไปถึง -3.4% จากราคาปิดวันก่อนหน้าในช่วงระหว่างวัน และปิดที่ -0.9% ทองคำมีการเคลื่อนไหวในลักษณะเดียวกันคือ GLD เปิดที่ +2.4% และปิดที่ -0.6% ส่วน VIXY ซึ่งเป็น ETF ที่ถือสัญญา VIX futures ระยะสั้นและเป็นตัวแทนที่ใกล้เคียงที่สุดของดัชนีความผันผวน กระโดดขึ้น +11.1% เมื่อเปิดตลาดและปิดที่ -3% ซึ่งเป็นระดับที่ ต่ำกว่า ราคาปิดของวันก่อนหน้า สินทรัพย์ที่สะท้อนความกลัว (fear assets) พุ่งขึ้นสูงสุดในช่วงที่มีข่าวร้ายที่สุด และปรับตัวลดลงพร้อมกับการฟื้นตัวของตลาดหุ้น ซึ่งเป็นการเคลื่อนไหวในทิศทางตรงกันข้ามกับการกลับตัวของตลาดหุ้น

กลุ่มผู้ผลิตอาวุธเป็นข้อยกเว้นที่ยังคงรักษาแรงซื้อไว้ได้ โดยทั้งสี่บริษัทปิดในแดนบวก ได้แก่ LMT +1.7%, NOC +2.4%, RTX +2.1% และ GD +1.1% โดย Northrop Grumman เป็นบริษัทเดียวในสี่แห่งที่ไม่ปรับตัวลงต่ำกว่าราคาปิดของวันพุธตลอดทั้งวัน (จุดต่ำสุดระหว่างวันอยู่ที่ +1%)

พันธบัตร: แรงซื้อสินทรัพย์ปลอดภัยเกิดขึ้นในภายหลัง

อัตราผลตอบแทนพันธบัตรที่ลดลงหมายถึงราคาพันธบัตรกำลังถูกซื้อเพิ่มขึ้น ซึ่งเป็นรูปแบบการไหลเข้าของเงินทุนสู่สินทรัพย์ปลอดภัยตามทฤษฎี ในวันที่มีการรุกรานนั้น แรงซื้อดังกล่าวปรากฏให้เห็นเพียงเล็กน้อยเมื่อตลาดปิดทำการ:

คำสั่งดึงข้อมูลอัตราผลตอบแทนพันธบัตรสหรัฐฯ อายุ 2 ปี และ 10 ปี, 18 กุมภาพันธ์ – 8 มีนาคม 2022 (%)
SQL เบื้องหลังตัวเลขแต่ละตัว
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

อัตราผลตอบแทนพันธบัตรอายุ 10 ปี ปิดที่ 1.96% เมื่อวันที่ 24 กุมภาพันธ์ ซึ่งต่ำกว่าระดับ 1.99% ของวันก่อนหน้าเพียงเล็กน้อย การไหลเข้าของเงินทุนอย่างแท้จริงเกิดขึ้นในสัปดาห์ถัดมา โดยเมื่อถึง 2022-03-01 อัตราผลตอบแทนอายุ 10 ปี ปิดที่ 1.72% ซึ่งเป็นระดับปิดที่ต่ำที่สุดในช่วงเวลานี้ และอัตราผลตอบแทนอายุ 2 ปี ลดลงจาก 1.58% เป็น 1.31% ในช่วงเวลาเดียวกัน สำหรับ TLT ซึ่งเป็น ETF พันธบัตรระยะยาวในตารางด้านบน แสดงให้เห็นถึงสถานการณ์เดียวกันในช่วงระหว่างวัน โดยเปิดตลาดด้วยราคาที่กระโดดขึ้น +1.8% ก่อนจะลดลงเหลือ +0.2% เมื่อตลาดปิดทำการ

ช่วงเวลาที่เกี่ยวข้อง

ราคาปิดรายวันตลอดสามสัปดาห์ช่วยให้เห็นภาพรวมของการกลับตัว และเป็นตัวบ่งชี้ว่าแนวโน้มนี้ยังคงอยู่หรือไม่:

คำสั่งดึงข้อมูลราคาปิดรายวันของ QQQ, 22 กุมภาพันธ์ – 14 มีนาคม 2022
SQL เบื้องหลังตัวเลขแต่ละตัว
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

ราคาปิดในช่วง ก่อน การรุกรานเป็นสีแดง (-1% และ -2.6% เมื่อวันที่ 22–23 กุมภาพันธ์) เนื่องจากข่าวการสะสมกำลังทหารเป็นประเด็นหลัก ส่วนในวันที่เกิดการรุกราน ราคาปิดที่ +3.4% และตามด้วย +1.5% ในวันถัดไป การที่ตลาดร่วงลงเมื่อมี ภัยคุกคาม แต่ดีดตัวขึ้นเมื่อเกิด เหตุการณ์จริง เป็นรูปแบบที่พบได้บ่อยจนมีสุภาษิตของ Wall Street รองรับ และสถานการณ์ครั้งนี้คือตัวอย่างที่ชัดเจนที่สุดในยุคปัจจุบัน อย่างไรก็ตาม เมื่อพิจารณาข้อมูลในตารางจะพบว่า ราคาปิดที่ $318.21 ณ วันที่ 2022-03-14 นั้น อยู่ในระดับที่ต่ำกว่าราคาในช่วงที่เกิดความตื่นตระหนกเมื่อเช้าวันที่มีการรุกราน

การฟื้นตัวยังคงอยู่หรือไม่?

ไม่ — และตอนนี้มีหลักฐานยืนยันแล้ว:

คำสั่งดึงข้อมูลหลังการกลับตัว: เมื่อ QQQ หลุดจุดต่ำสุดของวันที่มีการบุกรุก และระดับที่ลดลง
SQL เบื้องหลังตัวเลขแต่ละตัว
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 วัน เมื่อวันที่ 2022-03-14 ราคาปิดของ QQQ อยู่ต่ำกว่าระดับต่ำสุดที่เกิดจากความตื่นตระหนก ซึ่งอยู่ที่ $318.26 ในนาทีแรกของการเปิดตลาดเช้าวันที่เกิดการรุกราน ราคาปิดต่ำสุดในเดือนมีนาคมที่ $318.21 นั้นอยู่ต่ำกว่าราคาปิดของวันที่เกิดการรุกรานถึง -6.6% และแนวโน้มขาลงยังคงดำเนินต่อไป: เมื่อถึง 2022-12-28 QQQ ปิดที่ $260.02 ซึ่งต่ำกว่าระดับราคาปิดของวันที่เกิดการรุกรานอยู่ -23.7% การกลับตัวของราคาเมื่อวันที่ 24 กุมภาพันธ์ นั้นเกิดขึ้นจริง รุนแรง และเกิดขึ้นเฉพาะจุด วงจรการปรับขึ้นอัตราดอกเบี้ยต่างหาก ไม่ใช่สงคราม ที่เป็นตัวกำหนดทิศทางของปี 2022 ซึ่งเป็นบทเรียนเดียวกับที่ วิกฤตเดือนมีนาคม 2020 เคยสอนไว้ในทิศทางตรงกันข้าม

การกลับตัวที่มีขนาดใหญ่เช่นนี้เกิดขึ้นได้ยากเพียงใด?

จากการตรวจสอบข้อมูลทุกเซสชันของ QQQ ตั้งแต่ปี 2003 จนถึงสิ้นปี 2025 พบว่ามีเพียง 2 เซสชันเท่านั้น ที่ราคาซื้อขายระหว่างวันลดลงต่ำกว่าราคาปิดก่อนหน้าอย่างน้อย 3% แต่ยังสามารถปิดบวกได้มากกว่าราคาปิดเดิมอย่างน้อย 1%:

คำสั่งดึงข้อมูลQQQ sessions ตั้งแต่ปี 2003: intraday low ≤ −3% เทียบกับราคาปิดก่อนหน้า และ close ≥ +1%
SQL เบื้องหลังตัวเลขแต่ละตัว
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

วันที่ 24 กุมภาพันธ์ 2022 คือหนึ่งในนั้น อีกกรณีหนึ่งคือ 2022-10-13 ซึ่งเป็นเซสชันที่เปิดตลาดหนึ่งชั่วโมงหลังจากรายงานอัตราเงินเฟ้อที่สูงกว่าที่คาดการณ์ไว้ และเป็นอีกหนึ่งวันที่ราคาเปิดต่ำแต่ปิดบวกได้ (gap-down-close-green) การกลับตัวในวันที่เกิดการรุกรานนั้นมีขนาดใหญ่กว่า โดยมีการแกว่งตัวจากจุดต่ำสุดถึงราคาปิดอยู่ที่ 7% เมื่อเทียบกับ 5.7% จากข้อมูลย้อนหลังยี่สิบสามปี ทั้งสองเหตุการณ์เกิดขึ้นในปีเดียวกัน

บทเรียนจากวันนี้

มีกลไกที่ยั่งยืนสามประการที่ปรากฏในข้อมูลชุดนี้ ประการแรก เมื่อเหตุการณ์ที่หลายคนรอคอยเกิดขึ้น การวางสถานะมักจะเกิดขึ้นไปก่อนหน้าแล้ว เช่นเดียวกับตลาดที่ปิดลบสองวันก่อนการรุกรานซึ่งสะท้อนถึงการคาดการณ์ล่วงหน้า ประการที่สอง การประมูลช่วงเปิดตลาดคือจุดที่ความกลัวที่สะสมมาตลอดคืนจะถูกล้างออกด้วยราคาเดียว และราคานั้นอาจเป็นจุดสูงสุดหรือต่ำสุดของวันในทิศทางใดก็ได้ ประการที่สาม การกลับตัวอย่างรุนแรงภายในวันเดียวบอกให้ทราบถึงกระแสเงินทุนของวันนั้น ไม่ใช่ทิศทางของไตรมาสถัดไป ดังจะเห็นได้จากสัปดาห์หลังจากเซสชันนี้ที่ราคาปรับตัวลงสู่จุดต่ำสุดใหม่ วันที่มีเหตุการณ์สำคัญจะให้ผลตอบแทนแก่ผู้ที่เข้าใจกลไกตลาด แต่จะลงโทษผู้ที่สับสนระหว่างรูปแบบของเซสชันกับสภาวะตลาดระยะยาว

รายละเอียดปริมาณการซื้อขายช่วยยืนยันพฤติกรรมของตลาด โดยมีปริมาณการซื้อขายถึง 128.5 ล้านหุ้น ทำให้เป็นเซสชันที่มีปริมาณการซื้อขายสูงสุดในตารางรอบสามสัปดาห์ข้างต้น ปริมาณการซื้อขายที่หนาแน่นในช่วงที่ราคาดีดตัวจากจุดต่ำสุดขึ้นมาปิดตลาด หมายความว่าแรงซื้อที่มีขนาดใหญ่กำลังเข้าปะทะกับแรงขายที่มีขนาดใหญ่จริง ไม่ใช่การลอยตัวขึ้นอย่างไร้แรงสนับสนุน เมื่อเปรียบเทียบกับลักษณะเดียวกันใน การฟื้นตัวเมื่อวันที่ 24 มีนาคม 2020 ซึ่งปริมาณการซื้อขายที่ชัดเจนได้บ่งบอกถึงจุดเปลี่ยนจากสภาวะตื่นตระหนก และเมื่อเปรียบเทียบกับการดีดตัวด้วยปริมาณการซื้อขายที่เบาบางซึ่งมักจะจางหายไปในเซสชันถัดไป

คำถามที่พบบ่อยเกี่ยวกับวันเกิดเหตุการณ์รุกราน

ตลาดหุ้นมีปฏิกิริยาอย่างไรเมื่อรัสเซียบุกยูเครน?

ในวันเกิดเหตุ คือวันที่ 24 กุมภาพันธ์ 2022 Nasdaq-100 ETF QQQ เปิดตลาดลดลง -3.2% โดยทำจุดต่ำสุดในช่วงนาทีแรกของการเปิดตลาด จากนั้นราคาปรับตัวขึ้นตลอดทั้งวันและปิดที่ +3.4% ขณะที่ S&P 500 ETF SPY ปิดที่ +1.5% และ Dow ETF DIA ปิดที่ +0.3%

ทำไมหุ้นถึงปรับตัวขึ้นเมื่อรัสเซียบุกยูเครน?

หน้านี้ไม่ได้ระบุถึงแรงจูงใจ แต่เป็นการบันทึกลำดับเหตุการณ์ที่เกิดขึ้น โดยแรงขายอย่างหนักปรากฏชัดเจนในช่วงเปิดตลาดเวลา 9:30 น. และแรงซื้อกลับมาเป็นฝ่ายควบคุมตลาดในทุกชั่วโมงถัดมา รูปแบบราคาที่ร่วงลงเมื่อมีภัยคุกคามและดีดตัวกลับเมื่อเกิดเหตุการณ์จริงนี้ มีเหตุการณ์ในประวัติศาสตร์ที่คล้ายคลึงกันอยู่หลายครั้ง

ราคาน้ำมันและทองคำเป็นอย่างไรเมื่อรัสเซียบุกยูเครน?

ทั้งสองสินทรัพย์พุ่งสูงขึ้นในช่วงเปิดตลาดก่อนจะปรับตัวลดลง โดย energy ETF XLE กระโดดขึ้น +2.1% และปิดที่ -0.9% ส่วน gold ETF GLD กระโดดขึ้น +2.4% และปิดที่ -0.6% สำหรับหุ้นกลุ่มป้องกันประเทศสามารถรักษาผลกำไรไว้ได้ โดยหุ้นหลักทั้งสี่ตัวในตารางด้านบนปิดตลาดในแดนบวก

การดีดตัวขึ้นหลังการรุกรานนั้นยั่งยืนหรือไม่?

ไม่ QQQ ปิดตลาดต่ำกว่าจุดต่ำสุดในช่วงตื่นตระหนกของวันเกิดเหตุ 18 วันปฏิทิน ต่อมาในวันที่ 2022-03-14 และเมื่อราคาลงไปแตะจุดต่ำสุดของปี 2022 ในวันที่ 2022-12-28 ราคาปิดอยู่ที่ -23.7% ต่ำกว่าราคาปิดของวันเกิดเหตุ

การกลับตัวของราคาแบบวันที่ 24 กุมภาพันธ์ 2022 นั้นเกิดขึ้นยากเพียงใด?

เกิดขึ้นได้ยากมาก ตั้งแต่ปี 2003 จนถึงสิ้นปี 2025 มีเพียง 2 วันที่ QQQ มีการซื้อขายต่ำกว่าราคาปิดวันก่อนหน้าตั้งแต่ 3% ขึ้นไปในช่วงระหว่างวัน แต่ยังสามารถปิดตลาดได้สูงกว่าเดิมอย่างน้อย 1% ซึ่งเหตุการณ์นี้และเหตุการณ์ 2022-10-13 คือตัวอย่างดังกล่าว


ตารางทั้งหมดด้านบนมาจากการดึงข้อมูลย้อนหลังผ่านคำสั่ง SQL ที่มีการจัดเก็บเวอร์ชันไว้ หากต้องการดูรายละเอียดการวัดผลแต่ละตัวสามารถขยายคำสั่ง SQL ได้ หากต้องการทดลองเทรดในสถานการณ์นี้แทนการอ่านข้อมูล สามารถลองเล่นได้ใน โปรแกรมจำลองการเทรดของ Strasmore Labs

#market history#geopolitics#reversals#qqq