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

GME 2021年1月28日行情回顾

回顾 GME 从 $483 暴跌至 $112 的极端交易日,深度解析 Robinhood 限制买入及频繁停牌背后的数据真相。

2021年1月28日是 GameStop 挤压行情的高潮。当天上午两小时内,GME 的价格分别达到 $483$112.25。当天 Robinhood 及其他券商限制了该股票的买入。根据下文的分钟线统计,这也是该挤压行情中停牌最频繁的一天。关于挤压机制的详细说明请见 空头挤压说明,该文以该股作为案例。本页面记录了当天的完整过程:行情爆发前的走势、逐分钟的成交记录、券商限制措施、期权资金流向,以及随后的价格回落。所有数据均通过数据库查询获取;您可以展开任何面板以查看 SQL 语句。

涨势回顾:2020年12月至1月27日

若不看此前的八周走势,这场史诗中最疯狂的一天将显得毫无逻辑。GME 在 2020-12-01 收于 $15.81。这是一家被大量做空的商场零售商,每日成交量仅为数百万股 —— 在12月初的一个普通交易日,成交量仅为 6.2 百万股。在本页面记录的交易日前夕,其收盘价为 $345 —— 是12月1日价格的 21.8

查询GME 日收盘价与成交量 — 2020年12月1日至2021年1月27日 (实际成交价)
每个数字背后的完整 SQL
SELECT
    toString(et_date) AS session,
    close_usd,
    round(close_usd / first_value(close_usd) OVER (ORDER BY et_date ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), 1) AS mult_from_dec1,
    shares_m
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 = 'GME'
      AND window_start >= toDateTime('2020-12-01 00:00:00') AND window_start < toDateTime('2021-01-27 23:59:00')
    GROUP BY et_date
)
WHERE et_date >= toDate('2020-12-01') AND et_date <= toDate('2021-01-27')
ORDER BY et_date

股价走势呈阶梯状,而非直线攀升。截至1月中旬,股价一直在10多美元区间徘徊;在 2021-01-13,该股以 144.4 百万股的成交量收于 $31.44 —— 成交量超过12月常态的二十倍以上。此后,每一波涨幅都超过前一波,直到 2021-01-22 以 $64.85 收盘,并在1月27日几乎翻倍。空头头寸贯穿始终:本文后文列出的结算日收据显示了这一涨势对他们的打击。

交易日概览 —— K线数量统计

查询GME 2021年1月28日 — 成交记录 (实际成交价,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 = 'GME'
          AND window_start >= toDateTime('2021-01-27 00:00:00') AND window_start < toDateTime('2021-01-28 04:00:00')
    ) AS prior_rth_close,
    (
        SELECT min(bars)
        FROM (
            SELECT
                toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
                countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS bars
            FROM global_markets.delayed_stocks_minute_aggs
            WHERE ticker = 'GME'
              AND window_start >= toDateTime('2021-01-25 04:00:00') AND window_start < toDateTime('2021-02-05 04:00:00')
            GROUP BY et_date
            HAVING et_date != toDate('2021-01-28')
        )
    ) AS thinnest_other
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(sum(volume)) / 1e6, 1) AS day_shares_m,
    round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 1) AS day_notional_bn,
    countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS rth_minute_bars,
    round(maxIf(toFloat64(high), (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) / 4, 2) AS rth_high_splitadj,
    thinnest_other AS thinnest_other_session_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'GME'
  AND window_start >= toDateTime('2021-01-28 04:00:00') AND window_start < toDateTime('2021-01-28 23:59:00')

首先看K线数量:常规交易时段仅包含 314 根分钟K线,而非通常的390根。由于价格剧烈波动,多次触发涨跌幅限制(Limit Up/Limit Down)导致交易暂停,缺失了约76分钟。在1月25日至2月4日的挤压行情期间,没有任何一个交易日的常规时段K线数少于 348 根。在暂停期间:开盘价为 $265 —— 已较前一官方收盘价低 -23.2%,此前因券商限制公告,盘后及盘前交易已陷入剧烈波动 —— 随后在开盘首小时内冲至 $483 的历史高点,随后在东部时间 11:24 暴跌至 $112.25 —— 比前一收盘价低 -67.5% —— 最终收于 $197.44,当日跌幅为 -42.8%。所有价格均为交易价,未计入2022年1比4的拆股调整。

交易规模值得单独说明:全天交易量达 57.4 百万股,成交金额约为 $16.7 十亿 —— 这种巨头级别的成交量集中在一家视频游戏零售商身上,而八周前该股在平稳交易日仅成交了 6.2 百万股。

什么是涨跌幅限制(LULD)熔断机制

熔断并非交易所自主决定,而是自动触发的。涨跌幅限制(LULD)是 2010年闪崩 后采用的个股熔断机制。每只股票都会围绕参考价格设定价格区间。该参考价格是其自身交易价格的五分钟滚动平均值。对于市值最大的股票,区间为上下5%;对于大多数其他股票,区间为10%;低价股的区间更宽。在交易时段最后25分钟,区间会扩大一倍。如果最佳买价或卖价在区间边缘停留15秒,该股票在所有交易所的交易将暂停五分钟,并由上市交易所通过拍卖方式重新开盘。如果拍卖价格无法落在允许的区间内,暂停时间将延长。在当天 GME 那样剧烈的行情中,这种循环会不断重复:重新开盘,在几秒钟内触及区间边界,再次暂停。这就是为什么在无人干预的情况下,交易时段会白白流失七十六分钟——该机制正按设计运行,在运作过程中消耗交易时间。

早盘:逐桶分析

查询GME 每半小时走势 — 2021年1月28日常规交易时段
每个数字背后的完整 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 = 'GME'
  AND window_start >= toDateTime('2021-01-28 04:00:00') AND window_start < toDateTime('2021-01-28 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

09:30 和 10:00 的交易桶包含交易高峰;11:00 的交易桶处于 $112.25 低点,即交易谷底 —— 在午餐时间之前,这一轮行情抹去了部分市场价值,随后又进行了部分重建,涉及金额达数百亿。请注意暂停窗口内的成交量缺失:成交量稀少的交易桶即为交易频繁中断的时段。$483 和 $112.25 的成交价在当天早些时候仅相隔几分钟,且均为“市场价格” —— 任何将市场建模为连续过程的人,都应时刻铭记这一事实。

券商:Robinhood 与仅限平仓限制

1月28日的另一个关键事实并未体现在价格走势中。在开盘前,Robinhood(此次挤压行情中大量散户买盘的所在地)将 GME 及其他一系列股票转为仅限平仓:客户可以卖出持有的股票,但不能买入。Interactive Brokers 在前一日(1月27日)中午已将 GME 期权设为仅限清算,其他几家券商也提高了保证金要求或限制了开仓交易。Robinhood 将此限制归因于清算中心在黎明前提出的存款要求,金额约为30亿美元(限制实施后有所减少);该机构当晚向投资者募集了超过10亿美元。2021年2月的国会听证会和SEC在2021年10月的员工报告中均详细阐述了这一过程。

行情记录的是时间上的巧合,而非定论:开盘前宣布限制、9:30出现 -23.2% 跳空低开、483 的成交价、交易暂停以及 112.25 的低点。限制名单呈现整体移动态势:

查询2021年1月28日受限股票 — 前一交易日收盘 vs 收盘价 (美东常规时段)
每个数字背后的完整 SQL
SELECT
    ticker,
    round(argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) = '2021-01-27' AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS close_jan27,
    round(argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) = '2021-01-28' AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS close_jan28,
    round((argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) = '2021-01-28' AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) / argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) = '2021-01-27' AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS change_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('GME', 'AMC', 'BB', 'NOK', 'KOSS')
  AND window_start >= toDateTime('2021-01-27 00:00:00') AND window_start < toDateTime('2021-01-29 04:00:00')
GROUP BY ticker
ORDER BY change_pct ASC

面板上的每只股票均大幅下跌,跌幅从受影响最严重的 -56.3% (AMC) 到影响较轻的 -29.1% (Nokia) 不等,GME 本身的跌幅为 -42.8%。五家业务完全不同的公司在同一天呈现出相同的走势——共同因素在于该限制名单。

期权交易盘:全力运转的对冲机器

在挤压周期间,GameStop 的期权市场是所有上市公司中最活跃的市场之一。典型的特征包括伽马循环(gamma loop)——卖出看涨期权的交易商通常需要买入股票进行对冲;随着股价向行权价靠近,对冲规模必须扩大,从而在上涨过程中产生机械性买盘。交易记录无法直接显示对冲行为,但能反映出交易吞吐量:

查询GME 期权交易分时段统计 — 2021年1月25日至28日
每个数字背后的完整 SQL
SELECT
    toString(toDate(toTimeZone(sip_timestamp, 'America/New_York'))) AS session,
    round(sumIf(size, substring(ticker, 12, 1) = 'C') / 1e6, 2) AS call_contracts_m,
    round(sumIf(size, substring(ticker, 12, 1) = 'P') / 1e6, 2) AS put_contracts_m,
    round(100.0 * sumIf(size, substring(ticker, 12, 1) = 'C') / sum(size), 1) AS call_share_pct,
    round(sum(toFloat64(price) * size * 100) / 1e9, 2) AS premium_bn,
    round(count() / 1e3, 0) AS prints_k
FROM global_markets.options_trades
WHERE ticker >= 'O:GME21' AND ticker < 'O:GME22'
  AND sip_timestamp >= toDateTime('2021-01-25 00:00:00') AND sip_timestamp < toDateTime('2021-01-29 00:00:00')
GROUP BY session
ORDER BY session

2021-01-27(即该交易日的前夕),仅 GME 合约就有 $7.99 billion 的期权权利金通过 351 thousand 笔个人交易成交;28 日又增加了 $3.97 billion。还有一个叙述中常被忽略的细节:在价格高位时,看跌期权交易占据主导。27 日看涨期权仅占合约成交量的 24%(1.05 million 份看跌期权对比 0.33 million 份看涨期权),28 日则仅占 29.5%。在追逐上涨的同时,另一群人在价格形成高点时为下跌支付保费。

余波:大幅回落

1月28日并非终点。在随后的1月29日交易日,受限券商的买盘有限恢复——Robinhood 的持仓限制一度降至个位数股数——GME 收盘价为 $328.24,当日上涨 66.2%。这是最后一次接近高点的收盘价。

查询GME 日收盘价与成交量 — 2021年1月29日至2月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 = 'GME'
          AND window_start >= toDateTime('2021-01-27 00:00:00') AND window_start < toDateTime('2021-02-09 23:59:00')
        GROUP BY et_date
    )
)
WHERE et_date >= toDate('2021-01-29') AND et_date <= toDate('2021-02-09')
ORDER BY et_date

股价回落的幅度与上涨时一样剧烈:2021-02-01 下跌 -30.8%,2021-02-02 下跌 -60.1%,到 2021-02-04 收盘时跌至 $53.38 ——而该股在五个交易日前曾达到 $483。半月度卖空报告记录了当时逼空行情所取得的成果:

查询GME 按结算日统计的空头头寸 — 2020年11月至2021年2月
每个数字背后的完整 SQL
SELECT toString(settlement_date) AS settled,
       round(short_interest / 1e6, 1) AS shares_short_m,
       round(days_to_cover, 1) AS days_to_cover
FROM global_markets.stocks_short_interest
WHERE ticker = 'GME'
  AND settlement_date >= '2020-11-01'
  AND settlement_date <= '2021-02-28'
ORDER BY settlement_date

卖空股数从 2020-12-31 结算日的 71.2 百万股,到 2021-01-29 骤降至 21.4 百万(即本文日期后一个交易日的结算数据),且 回补天数 从11月的峰值 14 降至 1。从这一指标来看,构成该局面的空头头寸在月底前已基本平仓;关于该平仓过程的详细分析请见 逼空解释,而半月度数据与每日卖空成交量之间的区别请见 卖空头寸与卖空成交量

这一天的启示

尽管这一天充满了模因时代的特征,但 1 月 28 日本质上是一堂经典的流动性课程。股票价格由最紧迫的边际订单决定。当平仓紧迫性(空头回补)、准入限制(券商限制买入)以及机械性暂停(LULD 停牌)同时发生时,价格发现不再呈现平滑曲线,而是呈现断续的跳跃。这一天的走势并不需要通过“反派角色”来解释,分钟线数据也无法证实或排除此类说法。上述记录反映的是真实的成交情况。

GameStop 1月28日常见问题解答

GameStop 的历史最高价是多少?

$483(盘中成交价),记录于 2021 年 1 月 28 日早晨。若按 2022 年一拆四进行复权计算,则对应当前股数的 $120.75

为什么 Robinhood 限制购买 GameStop?

2021 年 1 月 28 日,Robinhood 将 GME 及其他股票转为仅限平仓交易。其原因是当天早晨清算所要求约 30 亿美元的保证金。Robinhood 在隔夜期间向投资者筹集了超过 10 亿美元,并在下一个交易日恢复了有限的购买权限。国会证词和 SEC 2021 年的员工报告记录了此事。

Robinhood 是否导致了 GameStop 的暴跌?

交易记录显示了过程,而非定论:限制措施在开盘前公布,GME 出现 -23.2% 的跳空低开,并在两小时内分别创下 $483 的历史高点和 $112.25 的低点,且当天所有受限股票的收盘跌幅均超过两位数。究竟哪个因素影响最大仍有争议;SEC 员工报告未对此做出定论。

2021 年 1 月 28 日 GME 被停牌多少次?

分钟级交易记录显示,该交易日仅有 314 个常规交易时段,而非 390 个——由于反复触发涨跌幅限制(Limit Up/Limit Down)停牌,损失了约 76 分钟。这使得 1 月 28 日成为整个挤仓行情中停牌最严重的一天:从 1 月 25 日到 2 月 4 日,没有其他交易日的常规交易时段少于 348 个。

2021 年 1 月 28 日之后 GME 发生了什么?

经历最后一次飙升(1 月 29 日收于 $328.24)后开始下跌:到 2021-02-04 时,该股收于 $53.38;而在 1 月 29 日结算时,报告的空头头寸已降至 21.4 百万股。


以上每个面板均为针对历史交易数据的存储版本化查询——您可以展开 SQL 语句查看各项测量指标。想亲身体验这一天,而不仅仅是阅读文字吗?您可以在 Strasmore Labs 交易模拟器 中体验这一模拟场景。