Strasmore Research
深度研究 Matt Connor作者: Matt Connor · 更新于 2026-08-01

2022年2月24日战争开盘,收盘转绿

2022年2月24日,俄罗斯入侵乌克兰,美股大幅低开后收涨。完整记录盘中反转,以及油价、黄金、防务股、美债、波动率和后续几周表现。

2022年2月24日凌晨,俄罗斯对乌克兰发动全面入侵。美国股市经历了本十年最受研究的交易时段之一。股指期货在隔夜交易中大幅下跌,纳斯达克-100 ETF QQQ开盘下跌 -3.2%,收盘时为 +3.4%。本页记录了整个事件:市场如何逐分钟反转,标普500指数和道琼斯指数的表现,油价、金价、防务股、美国国债和波动率的走势,以及随后几周的市场表现。所有数字均来自存储查询;展开任意面板即可查看 SQL。

开盘前:夜间局势如何演变

入侵并非毫无征兆。2021年末至2022年初,俄罗斯在乌克兰边境附近集结军队。当时西方估计兵力远超十万人,市场也已连续数周交易这一风险。2月21日星期一,莫斯科承认乌克兰东部两个自行宣布成立的分离主义共和国。美国市场因华盛顿诞辰纪念日休市,能够对这一消息定价的首个交易日是次日2月22日星期二,当天市场全线下跌。首批西方制裁也于当日落地,德国同时暂停了北溪2号管道的认证程序。

随后,2月24日星期四莫斯科时间清晨6点前不久,也就是纽约时间周三晚间约10点,俄罗斯总统宣布展开军事行动。不到一小时内,乌克兰多个城市传出爆炸声。美国股指期货可在夜间交易,因此立即下跌。到日出时,唯一尚未确定的问题是,上午9点30分的开盘竞价将低于周三收盘价多少。

一行概览

一行数据包含全部关键信息:前收盘价、跳空幅度、最低价、最高价、收盘价和成交量:

查询2022年2月24日 QQQ:入侵日反转,已核实
前收盘价常规交易时段开盘价跳空幅度 (%)常规交易时段最低价最低价时间(ET)常规交易时段最高价常规交易时段收盘价日变动 (%)最低价较前收盘 (%)最低点至收盘 (%)收盘价较最高价 (%)开盘价较最低价 (%)日成交股数(百万)常规交易时段分钟线
329.41318.84-3.2318.2609:30341.04340.653.4-3.470.110.18128390
每个数字背后的完整 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%,从盘中低点到收盘价上涨 7%,成交量为 128 百万股。收盘并非在收盘铃声前回落:收盘价仅比盘中最高价 $341.04 低 0.11%,这意味着当天基本收在最高位。任何在开盘第一分钟卖出的人,卖出价距离当天最终低点仅 0.18%;真正的最低成交价出现在开盘集合竞价后不久,而不是集合竞价本身(集合竞价成交价为 $318.84;最低价为 $318.26)。

逐个时段看反转

半小时分段展现了这轮上涨的形态:

查询QQQ半小时走势:2022年2月24日常规交易时段
ET 时间区间收盘价区间最低价成交股数(百万)
09:30325.41318.2618.6
10:00326.04323.1113.8
10:30328.14324.69.5
11:00329.12327.38
11:30330.29327.66.1
12:00328.03326.936
12:30328.18327.164.7
13:00328.8327.765.1
13:30331.72328.777.6
14:00333.3330.77.6
14:30335.94333.298.1
15:00336.89335.487.3
15:30340.65336.8215
每个数字背后的完整 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
自己运行这个查询

这段阶梯走势并非完全平滑。12:00 ET时段收于$328.03,低于11:30收盘价$330.29。但走势从未出现明显反转。最后一个时段收于$340.65,位居表格顶部。成交量呈现典型的U形:开盘半小时成交18.6百万股,最后半小时成交15百万股,而午盘附近为4.7百万股。这与2011年的阶梯式下跌正好相反。这类交易日说明,“市场因入侵而下跌”的说法会造成误导:期货在隔夜下跌;现货市场从开盘第一分钟起便上涨。你实际经历哪一种走势,完全取决于订单何时到达市场。这也是较为平静的几周中隔夜跳空所衡量的主题。

不只是纳斯达克:整个市场都出现反转

如果只看一个指数,显然还无法回答一个问题:这是成长股特有的现象,还是整个市场都出现了反转?下图将十一个 ticker 放在同一尺度上进行比较,包括三只主要指数 ETF,以及地缘政治冲击交易策略通常会配置的资产:能源、黄金、长期美债、波动率 ETF 和四家国防承包商。

查询2022年2月24日 11只股票:跳空、日内极值、收盘价(相对前收盘价%)
ticker前收盘价跳空幅度 (%)最低价较前收盘 (%)最高价较前收盘 (%)日变动 (%)
QQQ329.41-3.2-3.43.53.4
SPY421.97-2.6-2.71.61.5
DIA331.44-2.6-2.60.40.3
XLE67.642.1-3.42.2-0.9
GLD178.282.4-1.72.4-0.6
TLT136.621.8-0.320.2
VIXY20.1711.1-3.811.2-3
LMT389.142.3-0.42.51.7
NOC386.12.514.42.4
RTX92.270.8-3.22.62.1
GD216.250.2-2.21.21.1
每个数字背后的完整 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)
自己运行这个查询

这次反转波及整个市场,但反转幅度并不简单取决于早盘跳空缺口的大小:QQQ 开盘跳空 -3.2%,收盘上涨 3.4%。SPY 和 DIA 的跳空幅度几乎相同,分别为 -2.6% 和 -2.6%,但 SPY 收盘上涨 1.5%,而 DIA 仅上涨 0.3%,几乎没有上涨。成长股权重较高的指数反转最为剧烈;工业股权重较高的道琼斯指数反转幅度最小。SPY 与 DIA 的差异来自指数成分,而不是缺口大小。

资金流向:石油、黄金、国防和波动率

现在来看同一面板的下方几行,即“战争交易”。能源板块开盘即触及高点,随后收跌:XLE 跳空高开 +2.1%,盘中一度跌至较前收盘低 -3.4%,最终收于 -0.9%。黄金走出了相同的完整行情:GLD 高开 +2.4%,收于 -0.6%。VIXY 是一只持有短期 VIX 期货的 ETF,也是可交易的波动率指数最接近的代理工具。该 ETF 开盘跳空高开 +11.1%,最终收于 -3%,低于前一日收盘价。传统避险资产在新闻最为糟糕时恰好触顶,随后随着股市反弹而回落:这与股市反转方向相反。

国防承包商是唯一守住涨幅的板块。四只股票均收涨:LMT 上涨 1.7%,NOC 上涨 2.4%,RTX 上涨 2.1%,GD 上涨 1.1%。Northrop Grumman 全天从未跌破周三收盘价,其盘中低点为上涨 1%。这是四只股票中唯一没有触及下跌区间的一只。

国债:避险买盘随后才出现

国债收益率下行意味着债券价格受到追捧,这是教科书式的避险资金流入。但在入侵当天,这一资金流在收盘时几乎没有体现:

查询2年期和10年期美国国债收益率,2022年2月18日–3月8日(%)
交易时段2年期收益率10年期收益率
2022-02-181.471.92
2022-02-221.561.94
2022-02-231.581.99
2022-02-241.541.96
2022-02-251.551.97
2022-02-281.441.83
2022-03-011.311.72
2022-03-021.51.86
2022-03-031.531.86
2022-03-041.51.74
2022-03-071.551.78
2022-03-081.631.86
每个数字背后的完整 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
自己运行这个查询

2月24日,10年期国债收益率收于1.96%,略低于前一日的1.99%。真正的避险买盘在下一周出现:到2022-03-01,10年期收益率报1.72%,为这一窗口期内的最低收盘水平;同期,2年期收益率从1.58%降至1.31%。上文面板中的长期国债ETF TLT则显示了盘中版本的相同走势:开盘跳涨+1.8%,但收盘时涨幅收窄至+0.2%。

前后几天

连续三周的日收盘数据为这次反转提供了背景,也清楚说明了反转是否站稳:

查询QQQ每日收盘价,2022年2月22日–3月14日
交易时段收盘价(美元)变动 (%)成交股数(百万)
2022-02-22338.09-185.1
2022-02-23329.41-2.685.1
2022-02-24340.653.4128.5
2022-02-25345.871.577.6
2022-02-28347.150.476.4
2022-03-01341.56-1.666.8
2022-03-02347.181.669.8
2022-03-03342.26-1.470.6
2022-03-04337.35-1.475.8
2022-03-07324.83-3.789.2
2022-03-08323.28-0.5115.3
2022-03-09335.053.663.8
2022-03-10331.42-1.168.7
2022-03-11324.34-2.165.6
2022-03-14318.21-1.978.9
每个数字背后的完整 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
自己运行这个查询

入侵前的交易日收跌(2月22日至23日分别为 -1% 和 -2.6%),因为局势升级占据了头条。入侵当天收盘为 +3.4%,次日又上涨了 +1.5%。市场因威胁下跌,却因事件发生而上涨,这是一个足以配上华尔街谚语的经典模式,而这组行情是其最清晰的现代例证。但请继续查看表格:截至 2022-03-14,数据收于 $318.21,低于入侵当日上午恐慌性交易形成的价格。

反弹守住了吗?

没有。现在这一说法已有成交记录为证:

查询反转之后:QQQ何时跌破入侵日低点,以及跌幅多大
入侵日收盘价入侵日最低价首次收盘低于入侵日最低价至新低的日历日数3月低点收盘价3月低点日期3月低点较入侵日收盘 (%)年内低点收盘价年内低点日期年内低点较入侵日收盘 (%)
340.65318.262022-03-1418318.212022-03-14-6.6260.022022-12-28-23.7
每个数字背后的完整 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%。2月24日的反转真实而剧烈,但影响是局部的。决定2022年市场方向的不是战争,而是加息周期。这与2020年3月崩盘传达的教训方向相反。

这种幅度的反转有多罕见?

扫描2003年至2025年底的每个QQQ交易日后发现,确切有2个交易日盘中一度较前收盘价下跌至少3%,但最终收盘时较前收盘价上涨至少1%:

查询自2003年以来的QQQ交易日:日内低点≤−3%(相对前收盘价)且收盘价≥+1%
交易时段最低价较前收盘 (%)收盘价较前收盘 (%)最低点至收盘 (%)
2022-02-24-3.43.47
2022-10-13-3.22.35.7
每个数字背后的完整 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
自己运行这个查询

2022年2月24日是其中之一。另一个是2022-10-13,该交易日在一份高于预期的通胀报告发布一小时后开盘,同样经历了跳空低开、收盘上涨。入侵日的反转幅度更大:从盘中低点到收盘价上涨7%,相对于5.7%。二十三年的行情数据中,这两笔成交都出现在同一年。

这一天带来的启示

这份行情记录体现了三个持久有效的市场机制。第一,广受预期的事件真正发生时,市场通常已经完成了仓位调整;入侵前的两个下跌交易日已经反映了这种预期。第二,开盘集合竞价会以单一价格消化隔夜累积的恐慌,而这个价格可能成为当天的极值,无论方向是上行还是下行。第三,剧烈的单日反转只能说明当天的资金流向,不能说明下一季度的方向;本交易日之后的几周仍然创出了新低。事件日要求交易者了解市场运行机制,也会惩罚把单个交易日的形态误认为市场制度性趋势。

成交量细节进一步说明了各方的行为:128.5百万股使其成为上方三周表格中成交最活跃的交易日;在从盘中低点上涨至收盘的过程中,成交量放大意味着真实规模的买盘遇上了真实的卖盘,而不是成交清淡的行情自然漂移。请比较2020年3月24日的反弹中相同的特征:信念驱动的成交量同样标志着恐慌行情的转折;还要将其与随后一个交易日便回落的清淡反弹日区分开来。

入侵日常见问题

俄罗斯入侵乌克兰时,股市表现如何?

当天,即2022年2月24日,纳斯达克-100 ETF QQQ开盘下跌-3.2%,并在开盘第一分钟触及低点,随后整个交易时段持续攀升,最终收涨3.4%。标普500 ETF SPY收涨1.5%,道琼斯指数 ETF DIA收涨0.3%。

俄罗斯入侵乌克兰时,股票为何上涨?

本页面不对动机作出判断;盘面记录了事件顺序。沉重的抛售压力在9:30开盘时已充分释放,之后每个小时买盘都占据主导。市场在威胁出现时下跌、事件发生时反弹,这种模式在历史上有许多先例。

俄罗斯入侵乌克兰时,原油和黄金表现如何?

两者都在开盘时飙升,随后回落:能源 ETF XLE跳空上涨2.1%,最终收涨-0.9%;黄金 ETF GLD跳空上涨2.4%,最终收涨-0.6%。国防股守住了涨幅:上方面板中的四只主要股票均收涨。

入侵后的反弹是否持续?

没有。QQQ在18个日历日后,即2022-03-14,收盘跌破入侵日的恐慌低点;到2022年低点2022-12-28时,其价格已较入侵日收盘价低-23.7%。

2022年2月24日这样的反转有多罕见?

非常罕见。从2003年至2025年年底,只有2个QQQ交易日盘中较前一日收盘价下跌至少3%,但最终仍收涨至少1%。其中包括这一天,以及2022-10-13。


上方每个面板都是基于历史盘面的已存档、版本化查询。展开 SQL即可查看每项测量结果。与其阅读这一天的行情,不如亲身体验?这是Strasmore Labs交易模拟器中的可操作场景之一。

#market history#geopolitics#reversals#qqq