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

GameStop, 28 janvier 2021 : 483 $ puis 112 $

Le 28 janvier 2021, GME a imprimé 483 $ puis 112 $ en une matinée, Robinhood est passé en vente seule, et 76 minutes ont disparu en coupures de séance.

Le 28 janvier 2021 fut l'apogée du short squeeze de GameStop : la matinée où GME a imprimé $483 puis $112.25 en moins de deux heures, le jour où Robinhood et d'autres courtiers ont restreint l'achat du titre, et — au décompte de ses propres barres minute, justifié plus bas — la journée la plus interrompue du squeeze lui-même. Les mécanismes du squeeze sont détaillés dans l'explication du short squeeze, avec ce même titre comme cas d'étude ; cette page porte sur la journée elle-même : la montée qui l'a préparée, la bande minute par minute, les restrictions des courtiers, le flux d'options et l'aller-retour vers le bas. Chaque chiffre est une requête stockée ; dépliez n'importe quel panneau pour voir le SQL.

La montée : de décembre 2020 au 27 janvier

La journée la plus folle de la saga n'a aucun sens sans les huit semaines qui la précèdent. GME a terminé la séance du 2020-12-01 à $15.81, un distributeur de centres commerciaux massivement vendu à découvert, échangeant quelques millions de titres par jour — 6.2 millions lors d'une séance ordinaire de début décembre. À la veille de la séance de cette page, il a clôturé à $345 — soit 21.8 fois le cours du 1er décembre.

RequêteClôture et volume quotidiens de GME — du 1er décembre 2020 au 27 janvier 2021 (cours tels que négociés)
Le SQL exact derrière chaque chiffre
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

Le tracé est un escalier, pas une rampe. Jusqu'à la mi-janvier, le titre végétait autour de dix à vingt dollars ; le 2021-01-13, il a clôturé à $31.44 sur 144.4 millions de titres — un volume plus de vingt fois supérieur à sa norme de décembre — et à partir de là chaque palier fut plus grand que le précédent, de la clôture à $64.85 le 2021-01-22 jusqu'au quasi-doublement à l'approche du 27 janvier. Les vendeurs à découvert étaient positionnés tout du long : les justificatifs par date de règlement, plus bas sur cette page, montrent ce que cette ascension leur a fait.

La journée, sur une seule ligne — comptez les barres

RequêteGME le 28 janvier 2021 — justifié (cours tels que négociés, avant le split de 2022)
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 = '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')

Commencez par le décompte des barres : 314 barres minute de séance régulière au lieu de 390. Les quelque soixante-seize minutes manquantes sont des coupures de volatilité Limit Up/Limit Down qui se déclenchent encore et encore à mesure que le cours se téléporte ; aucune autre séance de la période du squeeze, du 25 janvier au 4 février, n'a conservé moins de 348 barres de séance régulière. Entre les coupures : une ouverture à $265 — déjà -23.2 % sous la clôture officielle précédente, la bande de nuit et d'avant-bourse ayant tourné à la violence à l'annonce des restrictions des courtiers — puis une pointe jusqu'au plus haut historique de $483 dans la première heure, un effondrement à $112.25 à 11:24 ET — -67.5 % sous la clôture précédente — et une clôture à $197.44, en baisse de -42.8 % sur la journée. Tous les cours tels qu'ils se sont négociés, avant le split de quatre pour un de 2022.

L'échelle mérite sa propre phrase : 57.4 millions de titres ont changé de mains sur la journée étendue, soit environ 16.7 milliards de dollars de volume en valeur — une rotation digne d'une mégacapitalisation concentrée sur un distributeur de jeux vidéo qui avait échangé 6.2 millions de titres lors d'une séance calme huit semaines plus tôt.

Ce qu'est réellement une coupure Limit Up/Limit Down

Les coupures ne relevaient pas de l'appréciation de la Bourse ; elles sont automatiques. Une coupure Limit Up/Limit Down (LULD) est le coupe-circuit propre à un titre adopté après le flash crash de 2010. Chaque titre porte une bande de prix autour d'un cours de référence — une moyenne glissante sur cinq minutes de ses propres transactions — de 5 % de part et d'autre pour les plus grandes valeurs, 10 % pour la plupart des autres, et plus large pour les titres à bas prix, les bandes étant doublées dans les 25 dernières minutes de la séance. Si la meilleure offre d'achat ou de vente reste au bord de la bande pendant 15 secondes, la négociation du titre est suspendue sur toutes les places pendant cinq minutes, et il rouvre par une enchère sur la place de cotation ; lorsque l'enchère ne peut se régler dans la fourchette autorisée, la pause se prolonge. Sur une bande qui bouge comme celle de GME ce matin-là, le cycle se répète : réouverture, traversée de la largeur d'une bande en quelques secondes, nouvelle pause. C'est ainsi qu'une séance perd soixante-seize minutes sans que personne n'appuie sur un bouton — le mécanisme fonctionnant exactement comme prévu, consommant du temps de négociation à mesure qu'il opère.

La matinée, tranche par tranche

RequêteGME par demi-heure — séance régulière du 28 janvier 2021
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 = '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

Les tranches de 09:30 et 10:00 contiennent le sommet ; le plus bas à $112.25 de la tranche de 11:00 est le creux — un aller-retour qui a effacé puis partiellement reconstruit des dizaines de milliards de valeur boursière avant le déjeuner. Notez le volume manquant à l'intérieur des fenêtres de coupure : les tranches aux titres clairsemés sont celles où la négociation ne cessait de s'arrêter. Les cours $483 et $112.25 étaient tous deux « le prix de marché » ce matin-là, à quelques minutes d'écart — quiconque modélise les marchés comme continus devrait garder cette bande épinglée au-dessus de son bureau.

Les courtiers : Robinhood et la vente seule

L'autre fait déterminant du 28 janvier ne figure nulle part sur la bande des cours. Avant l'ouverture, Robinhood — le courtier où vivait une grande partie des achats des particuliers du squeeze — a fait passer GME et une liste d'autres titres en fermeture de position uniquement : les clients pouvaient vendre les titres qu'ils détenaient mais ne pouvaient pas en acheter. Interactive Brokers avait placé les options GME en liquidation seule à la mi-journée la veille, le 27 janvier, et plusieurs autres courtiers ont relevé les exigences de marge ou restreint les ordres d'ouverture. Robinhood a attribué sa restriction à un appel de dépôt d'avant l'aube émis par la chambre de compensation du secteur, qu'il a chiffré à environ 3 milliards de dollars — réduit après l'entrée en vigueur des restrictions — et la société a levé plus d'un milliard de dollars auprès de ses investisseurs cette nuit-là. L'audition au Congrès de février 2021 et le rapport des services de la SEC d'octobre 2021 détaillent tous deux cette séquence.

Ce que la bande enregistre, c'est une concomitance, pas un verdict : des restrictions annoncées avant l'ouverture, un écart à la baisse de -23.2 % à 9h30, le cours $483, les coupures, le plus bas à $112.25. Et la liste des titres restreints a bougé en bloc :

RequêteLes titres restreints le 28 janvier 2021 — clôture précédente vs clôture (séance régulière ET)
Le SQL exact derrière chaque chiffre
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

Chaque titre du panneau a clôturé en forte baisse, allant de -56.3 % pour le plus touché (AMC) à -29.1 % pour le plus modéré (Nokia), GME lui-même à -42.8 %. Cinq titres aux cinq activités sans rapport ont imprimé la même forme le même jour — le facteur commun était la liste elle-même.

La bande d'options : la machine à couverture à plein régime

À la semaine du squeeze, le marché d'options de GameStop comptait parmi les plus actifs de toutes les sociétés cotées. Le récit habituel inclut une boucle de gamma — un teneur de marché qui vend une option d'achat (call) achète généralement des titres pour se couvrir, et à mesure que le cours monte vers le prix d'exercice cette couverture doit grossir, ajoutant des achats mécaniques à la hausse. Les transactions imprimées ne montrent pas la couverture directement, mais elles montrent le débit :

RequêteTransactions sur options GME par séance — 25–28 janvier 2021
Le SQL exact derrière chaque chiffre
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

Le 2021-01-27, veille de cette séance, 7.99 milliards de dollars de primes d'options ont changé de mains rien que sur les contrats GME, à travers 351 milliers de transactions individuelles ; le 28 en a ajouté 3.97 milliards de plus. Et un détail que le récit oublie souvent : la bande était chargée en puts au sommet. Les calls ne représentaient que 24 % du volume de contrats le 27 (1.05 millions de puts contre 0.33 millions de calls) et 29.5 % le 28. Aux côtés de la foule courant après la hausse, une foule payait pour la baisse à mesure que le sommet se formait.

Les suites : l'aller-retour vers le bas

Le 28 janvier n'était pas la fin. À la séance suivante, le 29 janvier, l'achat limité a repris chez les courtiers restreints — les plafonds de position chez Robinhood se comptaient à un moment en nombres de titres à un seul chiffre — et GME a clôturé à $328.24, en hausse de 66.2 % sur la journée. Ce fut la dernière clôture proche des sommets.

RequêteClôture et volume quotidiens de GME — du 29 janvier au 9 février 2021
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 = '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

La descente fut aussi raide que la montée : -30.8 % le 2021-02-01, -60.1 % le 2021-02-02, et au 2021-02-04 la clôture était de $53.38 — pour un titre qui avait imprimé $483 cinq séances plus tôt. Le fichier bimensuel de positions vendeuses à découvert enregistre ce que le squeeze avait accompli à ce stade :

RequêtePositions vendeuses déclarées de GME par date de règlement — de novembre 2020 à février 2021
Le SQL exact derrière chaque chiffre
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

De 71.2 millions de titres vendus à découvert au règlement du 2020-12-31, les positions vendeuses déclarées se sont effondrées à 21.4 millions au 2021-01-29 — le règlement une séance après la date de cette page — et le nombre de jours de rachat est tombé de 14 au pic de novembre à 1. Les vendeurs à découvert dont les positions définissaient la configuration avaient, selon cette mesure, largement disparu à la fin du mois ; l'anatomie de ce dénouement figure dans l'explication du short squeeze, et la différence entre ce chiffre bimensuel et le volume quotidien de ventes à découvert est traitée dans positions à découvert et volume à découvert.

Ce que cette journée enseigne

Malgré son costume d'ère mème, le 28 janvier est une leçon classique de liquidité. Le cours d'un titre est fixé par son ordre marginal le plus urgent, et lorsque l'urgence de fermeture de position (les vendeurs à découvert qui achètent), les restrictions d'accès (les courtiers qui limitent les achats) et les pauses mécaniques (les coupures LULD) atterrissent toutes sur la même bande, la découverte des prix se fait par sauts saccadés plutôt qu'en courbes. Rien dans cette journée n'exige un coupable pour expliquer sa forme — et rien dans les barres minute ne peut en écarter ou en confirmer un. Les justificatifs ci-dessus sont ce qui s'est réellement imprimé.

FAQ GameStop — 28 janvier 2021

Quel a été le cours le plus haut de l'histoire de GameStop ?

$483 (en séance, tel que négocié), imprimé le matin du 28 janvier 2021. Ajusté du split de quatre pour un de 2022, cela correspond à $120.75 sur le nombre de titres actuel.

Pourquoi Robinhood a-t-il restreint l'achat de GameStop ?

Robinhood a fait passer GME et d'autres titres en fermeture de position uniquement le 28 janvier 2021, et a attribué cette décision à un appel de dépôt de la chambre de compensation qu'il a chiffré à environ 3 milliards de dollars ce matin-là. Il a levé plus d'un milliard de dollars auprès d'investisseurs dans la nuit et a rétabli un achat limité à la séance suivante. Le témoignage au Congrès et le rapport des services de la SEC de 2021 documentent ce récit.

Robinhood a-t-il provoqué le krach de GameStop ?

La bande enregistre la séquence, pas le verdict : les restrictions ont été annoncées avant l'ouverture, GME a ouvert avec un écart de -23.2 % à la baisse, a imprimé son record de $483 et son plus bas de $112.25 en moins de deux heures, et chaque titre restreint a clôturé en baisse à deux chiffres le même jour. Savoir quel ingrédient a le plus compté fait encore débat ; le rapport des services de la SEC n'a pas voulu trancher.

Combien de fois GME a-t-il été suspendu le 28 janvier 2021 ?

La bande minute montre 314 barres de séance régulière au lieu de 390 — environ soixante-seize minutes perdues en coupures Limit Up/Limit Down répétées. Cela a fait du 28 janvier la journée la plus interrompue de tout le squeeze : aucune autre séance du 25 janvier au 4 février n'a conservé moins de 348 barres de séance régulière.

Qu'est-il arrivé à GME après le 28 janvier 2021 ?

Encore une poussée — une clôture de $328.24 le 29 janvier — puis la glissade : au 2021-02-04 le titre a clôturé à $53.38, et les positions vendeuses déclarées s'étaient déjà effondrées à 21.4 millions de titres au règlement du 29 janvier.


Chaque panneau ci-dessus est une requête stockée et versionnée sur la bande historique — dépliez le SQL pour voir chaque mesure. Envie de ressentir cette journée plutôt que de la lire ? Elle fait partie des scénarios jouables du simulateur de trading Strasmore Labs.

#market history#gamestop#short squeeze#halts#robinhood