Strasmore Research
Analisi approfondite Matt ConnorDi Matt Connor · Aggiornato 2026-07-24

GameStop 28 gennaio 2021 da 483 a 112 dollari

Analisi di GME il 28 gennaio 2021: il titolo passa da 483 a 112 dollari in una mattina tra restrizioni di Robinhood e numerose trading halts.

Il 28 gennaio 2021 ha segnato il culmine dello squeeze di GameStop: nella mattinata, GME ha registrato $483 e $112.25 nell'arco di due ore. Durante la giornata, Robinhood e altri broker hanno limitato l'acquisto del titolo e, secondo i dati delle candele da un minuto riportati di seguito, si è registrato il maggior numero di sospensioni di negoziazione durante lo squeeze stesso. La meccanica dello squeeze è approfondita in la spiegazione dello short squeeze, utilizzando proprio questo titolo come caso studio; questa pagina analizza la giornata specifica: l'ascesa che ha preparato l'evento, i dati minuto per minuto, le restrizioni dei broker, il flusso delle opzioni e il successivo ritorno ai livelli precedenti. Ogni numero deriva da una query salvata; è possibile espandere ogni pannello per visualizzare il codice SQL.

Il rally: da dicembre 2020 al 27 gennaio

Il giorno più folle della vicenda non ha senso senza le otto settimane precedenti. GME ha chiuso 2020-12-01 a $15.81; il retailer specializzato in centri commerciali era pesantemente shortato e scambiava pochi milioni di azioni al giorno — 6.2 milioni in una sessione ordinaria di inizio dicembre. Alla vigilia della sessione descritta in questa pagina, il titolo ha chiuso a $345 — ovvero 21.8 volte il prezzo del primo dicembre.

QueryGME chiusura giornaliera e volume — 1 dicembre 2020 - 27 gennaio 2021 (prezzi as-traded)
L'esatto SQL dietro ogni numero
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

Il percorso è una scala, non una rampa. Fino a metà gennaio il titolo è cresciuto lentamente attestandosi nell'ordine delle decine; il 2021-01-13 ha chiuso a $31.44 su 144.4 milioni di azioni — un volume superiore a venti volte la media di dicembre — e da quel momento ogni incremento è stato maggiore del precedente, fino alla chiusura a $64.85 del 2021-01-22 e al quasi raddoppio raggiunto il 27 gennaio. Gli short seller erano posizionati durante tutto il periodo: i rendimenti alla data di settlement riportati più avanti in questa pagina mostrano l'impatto di quella salita su di loro.

La giornata, in un'unica riga — conteggio delle candele

QueryGME il 28 gennaio 2021 — receipted (prezzi as-traded, pre-2022-split)
L'esatto SQL dietro ogni 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 = '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')

Iniziando dal conteggio delle candele: 314 candele da un minuto della sessione regolare invece di 390. I circa settantasei minuti mancanti sono dovuti ai continui arresti per volatilità Limit Up/Limit Down causati dai rapidi spostamenti del prezzo; nessuna altra sessione dello squeeze tra il 25 gennaio e il 4 febbraio ha registrato meno di 348 candele della sessione regolare. Tra gli arresti: un'apertura a $265 — già -23.2% sotto la chiusura ufficiale precedente, con la volatilità del tape overnight e premarket aumentata drasticamente dopo l'annuncio delle restrizioni dei broker — seguita da un picco al massimo storico di $483 nella prima ora di negoziazione, un crollo a $112.25 alle 11:24 ET — -67.5% sotto la chiusura precedente — e una chiusura a $197.44, con un calo giornaliero del -42.8%. Tutti i prezzi si riferiscono ai valori di negoziazione, prima del split four-for-one del 2022.

Il volume merita una sezione dedicata: 57.4 milioni di azioni sono state scambiate durante la sessione estesa, per un volume di circa $16.7 miliardi — un turnover di dimensioni megacap concentrato su un rivenditore di videogiochi che aveva scambiato 6.2 milioni di azioni in una sessione tranquilla otto settimane prima.

Cos'è realmente un halt Limit Up/Limit Down

Gli halt non sono stati decisi dalle borse; sono automatici. Un halt Limit Up/Limit Down (LULD) è il circuit breaker per i singoli titoli adottato dopo il flash crash del 2010. Ogni titolo ha una fascia di prezzo attorno a un prezzo di riferimento — una media mobile di cinque minuti dei propri scambi — del 5% per entrambi i lati per i titoli più grandi, del 10% per la maggior parte degli altri, e più ampia per i titoli a basso prezzo, con le fasce raddoppiate negli ultimi 25 minuti della sessione. Se il miglior bid o offer si trova al limite della fascia per 15 secondi, il trading di quel titolo si interrompe su ogni borsa per cinque minuti, e la riapertura avviene tramite auction sulla borsa di quotazione; quando l'auction non riesce a stabilizzarsi all'interno del range consentito, la pausa si estende. Su un tape che si muove come quello di GME quella mattina, il ciclo si ripete: riapertura, superamento dell'ampiezza della fascia in pochi secondi, nuova pausa. È così che una sessione perde settantasei minuti senza che nessuno prema un tasto — il meccanismo funziona esattamente come progettato, consumando tempo di trading mentre opera.

La mattina, bucket dopo bucket

QueryGME ogni mezz'ora — sessione regolare 28 gennaio 2021
L'esatto SQL dietro ogni 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 = '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

I bucket delle 09:30 e delle 10:00 contengono il picco; il minimo di $112.25 nel bucket delle 11:00 rappresenta il punto di minimo — un round trip che ha cancellato e parzialmente ricostituito decine di miliardi di market value prima di pranzo. Si noti la mancanza di volume all'interno delle finestre di halt: i bucket con poche shares sono quelli in cui il trading ha subito continui stop. Le quotazioni di $483 e $112.25 erano entrambe "il prezzo di mercato" quella mattina, a pochi minuti di distanza — chiunque modelli i mercati come continui dovrebbe tenere questo tape sotto controllo costante.

I broker: Robinhood e il limite al solo chiudimento delle posizioni

Un altro elemento determinante del 28 gennaio non è visibile nei dati di prezzo. Prima dell'apertura, Robinhood — il broker che ha ospitato gran parte degli acquisti retail durante lo squeeze — ha spostato GME e altri titoli in modalità position-closing only: i clienti potevano vendere le azioni in possesso, ma non acquistarne di nuove. Interactive Brokers aveva già spostato le opzioni su GME in modalità liquidation-only a metà giornata del giorno precedente, il 27 gennaio, mentre altri broker avevano aumentato i margin requirements o limitato l'apertura delle operazioni. Robinhood ha attribuito tali restrizioni a una richiesta di deposito effettuata dalla camera di compensazione del settore prima dell'alba, pari a circa tre miliardi di dollari — cifra ridotta dopo l'introduzione delle restrizioni — e la società ha raccolto oltre un miliardo di dollari dai propri investitori durante quella notte. L'udienza del Congresso del febbraio 2021 e il report dello staff della SEC di ottobre 2021 analizzano entrambi questa sequenza nel dettaglio.

I dati registrano una coincidenza temporale, non un verdetto: restrizioni annunciate prima dell'apertura, un gap down del -23.2% alle 9:30, il print da $483, i halt e il minimo di $112.25. E l'elenco delle restrizioni si è mosso come un blocco unico:

QueryNomi restricted al 28 gennaio 2021 — chiusura precedente vs chiusura (sessione regolare ET)
L'esatto SQL dietro ogni numero
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

Ogni titolo nel pannello ha chiuso in forte calo, con un range che andava dal -56.3% per il più colpito (AMC) al -29.1% per il meno colpito (Nokia), con GME stesso al -42.8%. Cinque titoli con cinque business non correlati hanno registrato la stessa dinamica lo stesso giorno: il fattore comune era l'elenco stesso.

Il tape delle opzioni: la macchina di hedging a pieno regime

Durante la settimana dello squeeze, il mercato delle opzioni di GameStop è stato tra i più attivi per qualsiasi società quotata. La spiegazione standard include un gamma loop: un dealer che vende una call option solitamente acquista azioni per fare hedge, e man mano che il prezzo sale verso lo strike, tale hedge deve aumentare, aggiungendo acquisti meccanici durante la salita. I dati delle transazioni non mostrano direttamente l'hedging, ma mostrano il volume operativo:

QueryOperazioni options GME per sessione — 25–28 gennaio 2021
L'esatto SQL dietro ogni numero
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

Il 2021-01-27, alla vigilia di questa sessione, $7.99 miliardi di premi delle opzioni sono stati scambiati solo sui contratti GME, attraverso 351 mila singole transazioni; il giorno 28 ha aggiunto altri $3.97 miliardi. E un dettaglio che solitamente viene omesso: il tape era put-heavy nella parte alta. Le call erano solo il 24% del volume dei contratti il giorno 27 (1.05 milioni di put contro 0.33 milioni di call) e il 29.5% il giorno 28. Insieme alla massa che inseguiva il rialzo, un gruppo di investitori pagava per la protezione al ribasso mentre si formava il picco.

Le conseguenze: la discesa

Il 28 gennaio non è stato la fine. Nella sessione successiva, il 29 gennaio, sono riprese acquisti limitati presso i broker con restrizioni — i limiti di posizione su Robinhood hanno raggiunto in un momento punti singoli di azioni — e GME ha chiuso a $328.24, con un rialzo del 66.2% nella giornata. È stato l'ultimo closing vicino ai massimi.

QueryGME chiusura giornaliera e volume — 29 gennaio - 9 febbraio 2021
L'esatto SQL dietro ogni 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 = '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 discesa è stata ripida quanto la salita: -30.8% su 2021-02-01, -60.1% su 2021-02-02, e entro il 2021-02-04 la chiusura è stata di $53.38 — per un titolo che aveva registrato $483 cinque sessioni prima. Il report quindicinale dello short-interest registra quanto lo squeeze avesse ottenuto entro quel momento:

QueryShort interest riportato di GME per data di settlement — novembre 2020 - febbraio 2021
L'esatto SQL dietro ogni numero
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

Da 71.2 milioni di azioni short al settlement del 2020-12-31, lo short interest riportato è crollato a 21.4 milioni entro il 2021-01-29 — il settlement di una sessione dopo la data di questa pagina — e i days to cover sono scesi da 14 al picco di novembre a 1. Gli short le cui posizioni avevano definito il setup erano, secondo questo parametro, ampiamente usciti entro la fine del mese; l'analisi di tale unwind è in la spiegazione dello short squeeze, e la differenza tra questo dato quindicinale e il volume giornaliero delle vendite allo scoperto è trattata in short interest vs short volume.

Cosa insegna questa giornata

Nonostante l'estetica tipica della meme-era, il 28 gennaio rappresenta una lezione classica sulla liquidità. Il prezzo di un'azione è determinato dal suo ordine marginale più urgente. Quando l'urgenza di chiudere le posizioni (gli short che comprano), le restrizioni di accesso (i broker che limitano gli acquisti) e le pause meccaniche (gli halt LULD) si verificano simultaneamente, la formazione del prezzo avviene tramite salti discontinui anziché attraverso curve fluide. Nulla della dinamica odierna richiede la presenza di un colpevole per spiegarne l'andamento — e nulla nei grafici a un minuto può confermarne o escluderne uno. I dati riportati sopra sono i risultati effettivi di mercato.

FAQ GameStop 28 gennaio

Qual è stato il massimo storico di GameStop?

$483 (intraday, prezzo di mercato), registrato nella mattina del 28 gennaio 2021. Rivalutato per lo split four-for-one del 2022, corrisponde a $120.75 con l'attuale numero di azioni.

Perché Robinhood ha limitato l'acquisto di GameStop?

Robinhood ha spostato GME e altri titoli alla sola chiusura delle posizioni il 28 gennaio 2021. La decisione è stata attribuita a una richiesta di deposito presso la clearinghouse di circa 3 miliardi di dollari quella mattina. La piattaforma ha raccolto oltre un miliardo di dollari dagli investitori durante la notte e ha ripristinato l'acquisto limitato nella sessione successiva. Le testimonianze del Congresso e il report del personale della SEC del 2021 documentano l'accaduto.

Robinhood ha causato il crash di GameStop?

I dati registrano la sequenza degli eventi, non il verdetto: le restrizioni sono state annunciate prima dell'apertura, GME ha subito un gap down di -23.2%, ha toccato il record di $483 e il minimo di $112.25 entro due ore, e ogni titolo con restrizioni ha chiuso in calo a doppia cifra lo stesso giorno. Quale fattore sia stato determinante è ancora oggetto di dibattito; il report del personale della SEC non ha risolto la questione.

Quante volte è stato sospeso GME il 28 gennaio 2021?

Il tape dei minuti mostra 314 barre della sessione regolare invece di 390 — circa settantasei minuti persi a causa di ripetute sospensioni Limit Up/Limit Down. Ciò ha reso il 28 gennaio il giorno con il maggior numero di sospensioni dell'intero squeeze: nessuna altra sessione dal 25 gennaio al 4 febbraio ha registrato meno di 348 barre della sessione regolare.

Cosa è successo a GME dopo il 28 gennaio 2021?

Un ultimo picco — una chiusura a $328.24 il 29 gennaio — e poi il declino: entro il 2021-02-04 il titolo ha chiuso a $53.38, e lo short interest riportato era già crollato a 21.4 milioni di azioni al settlement del 29 gennaio.


Ogni pannello sopra è una query memorizzata e versionata sul tape storico — espandi la SQL per vedere ogni misurazione. Vuoi vivere questa giornata invece di leggerla? È uno degli scenari giocabili nel simulatore di trading di Strasmore Labs.