GameStop 28 de janeiro de 2021 GME 483 para 112
Em 28 de janeiro de 2021, o ticker GME oscilou entre 483 e 112 dólares. A Robinhood limitou o trading e o dia registrou diversas interrupções de negociação.
28 de janeiro de 2021 foi o ápice do squeeze da GameStop — na manhã, o ticker GME registrou $483 e $112.25 em duas horas, o dia em que a Robinhood e outras corretoras restringiram a compra do ativo e — conforme o registro de seus próprios candles de um minuto abaixo — o dia com o maior número de interrupções de negociação do próprio squeeze. A mecânica do squeeze é detalhada em explicativo sobre short squeeze, utilizando este mesmo ativo como estudo de caso; esta página foca no dia em questão — a valorização que preparou o cenário, o histórico minuto a minuto, as restrições das corretoras, o fluxo de opções e a queda subsequente. Cada número provém de uma consulta armazenada; expanda qualquer painel para visualizar o SQL.
The run-up: December 2020 to January 27
The single wildest day in the saga makes no sense without the eight weeks in front of it. GME ended 2020-12-01 at $15.81, a heavily-shorted mall retailer trading a few million shares a day — 6.2 million on an ordinary early-December session. On the eve of this page's session it closed at $345 — 21.8 times the December 1 price.
O SQL exato por trás de cada número
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_dateThe path is a staircase, not a ramp. Through mid-January the stock crept along in the teens; on 2021-01-13 it closed at $31.44 on 144.4 million shares — volume more than twenty times its December norm — and from there each leg was larger than the last, through the $64.85 close on 2021-01-22 to the near-doubling into January 27. Short sellers were positioned throughout: the settlement-date receipts further down this page show what that climb did to them.
O dia, em uma linha — contagem de barras
O SQL exato por trás de cada número
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')Comece pela contagem de barras: 314 barras de minuto da sessão regular em vez de 390. Os aproximadamente setenta e seis minutos ausentes referem-se às interrupções de volatilidade (Limit Up/Limit Down) que ocorreram repetidamente enquanto o preço disparava; nenhuma outra sessão do rali, de 25 de janeiro a 4 de fevereiro, registrou menos de 348 barras da sessão regular. Entre as interrupções: uma abertura a $265 — já -23.2% abaixo do fechamento oficial anterior, com o volume do overnight e do premarket tornando-se extremamente volátil após o anúncio de restrições das corretoras — seguida por um pico à máxima histórica de $483 na primeira hora de negociação, uma queda para $112.25 às 11:24 ET — -67.5% abaixo do fechamento anterior — e um fechamento a $197.44, com queda de -42.8% no dia. Todos os preços referem-se ao valor negociado, antes do split de quatro para um de 2022.
O volume merece uma frase própria: 57.4 milhões de ações foram negociadas ao longo do dia estendido, totalizando aproximadamente $16.7 bilhões em volume financeiro — um turnover de escala megacap concentrado em um varejista de videogames que havia negociado 6.2 milhões de ações em uma sessão calma oito semanas antes.
O que é, de fato, uma interrupção por Limit Up/Limit Down
As interrupções não foram uma decisão da bolsa; elas são automáticas. O Limit Up/Limit Down (LULD) é o disjuntor de ações individuais adotado após o flash crash de 2010. Cada ação possui uma banda de preço em torno de um preço de referência — uma média móvel de cinco minutos de suas próprias negociações — de 5% para cada lado para as maiores empresas, 10% para a maioria das outras, e bandas mais largas para ações de baixo valor, com as bandas dobradas nos últimos 25 minutos da sessão. Se o melhor bid ou offer atingir o limite da banda por 15 segundos, a negociação daquela ação é pausada em todas as bolsas por cinco minutos, e ela é reaberta via leilão na bolsa de listagem; quando o leilão não consegue liquidar dentro da faixa permitida, a pausa é estendida. Em um tape com a volatilidade da GME naquela manhã, o ciclo se repete: reabertura, ultrapassagem da largura da banda em segundos, nova pausa. É assim que uma sessão perde setenta e seis minutos sem que ninguém aperte um botão — o mecanismo funcionando exatamente como projetado, consumindo o tempo de negociação enquanto opera.
A manhã, balde por balde
O SQL exato por trás de cada número
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_timeOs baldes das 09:30 e 10:00 contêm o pico; a mínima de $112.25 do balde das 11:00 é o vale — um movimento de ida e volta que apagou e reconstruiu parcialmente dezenas de bilhões em valor de mercado antes do almoço. Observe a falta de volume dentro das janelas de suspensão: os baldes com poucas ações são aqueles em que as negociações continuaram sendo interrompidas. Os registros de $483 e $112.25 foram ambos "o preço de mercado" naquela manhã, com minutos de diferença — qualquer um que modele mercados como contínuos deve manter este tape em evidência.
As corretoras: Robinhood e a restrição de apenas fechamento de posição
Outro fato determinante de 28 de janeiro não aparece nos registros de preços. Antes da abertura, a Robinhood — a corretora onde se concentrou grande parte das compras de varejo do squeeze — moveu GME e uma lista de outros ativos para o modo apenas fechamento de posição: os clientes podiam vender as ações que possuíam, mas não podiam comprar novas. A Interactive Brokers havia colocado as opções de GME em liquidação obrigatória ao meio-dia do dia anterior, 27 de janeiro, e diversas outras corretoras aumentaram as exigências de margem ou restringiram operações de abertura. A Robinhood atribuiu sua restrição a um chamado de depósito feito pela câmara de compensação do setor antes do amanhecer, estimado em cerca de $3 bilhões — valor reduzido após a implementação das restrições — e a empresa captou mais de um bilhão de dólares com seus investidores naquela noite. A audiência no Congresso em fevereiro de 2021 e o relatório da SEC de outubro de 2021 detalham essa sequência.
O que os registros mostram é uma coincidência de horários, não um veredito: restrições anunciadas antes da abertura, um gap de baixa de -23.2% às 9:30, a cotação de $483, as interrupções de negociação e a mínima de $112.25. E a lista de restrições moveu-se em bloco:
O SQL exato por trás de cada número
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 ASCTodos os ativos do painel fecharam em forte queda, variando de -56.3% para o mais afetado (AMC) a -29.1% para o menos afetado (Nokia), com a própria GME em -42.8%. Cinco ações de cinco setores distintos apresentaram o mesmo padrão no mesmo dia — o fator comum era a própria lista.
O tape de opções: a máquina de hedging em velocidade máxima
Na semana do squeeze, o mercado de opções da GameStop figurou entre os mais movimentados de qualquer empresa listada. O cenário padrão inclui um gamma loop — um dealer que vende uma call option geralmente compra ações para fazer o hedge e, conforme o preço sobe em direção ao strike, esse hedge precisa aumentar, gerando compras mecânicas durante a alta. Os prints de negociação não mostram o hedging diretamente, mas mostram o volume transacionado:
O SQL exato por trás de cada número
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 sessionEm 2021-01-27, na véspera desta sessão, $7.99 bilhões de prêmio de opções mudaram de mãos apenas em contratos de GME, através de 351 mil prints individuais; o dia 28 adicionou mais $3.97 bilhões. E um detalhe que o relato costuma omitir: o tape estava com excesso de puts no topo. As calls representaram apenas 24% do volume de contratos no dia 27 (1.05 milhões de puts contra 0.33 milhões de calls) e 29.5% no dia 28. Enquanto o varejo buscava a alta, um grupo pagava pela queda conforme o topo se formava.
O desfecho: a queda livre
O dia 28 de janeiro não foi o fim. Na sessão seguinte, 29 de janeiro, as compras recomeçaram de forma limitada nos brokers com restrições — os limites de posição no Robinhood chegaram a ser medidos em dígitos únicos de ações — e o GME fechou a $328.24, alta de 66.2% no dia. Foi o último fechamento próximo às máximas.
O SQL exato por trás de cada número
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_dateA queda foi tão íngreme quanto a subida: -30.8% em 2021-02-01, -60.1% em 2021-02-02, e até 2021-02-04 o fechamento foi de $53.38 — em uma ação que havia registrado $483 cinco sessões antes. O relatório quinzenal de short interest registra o que o squeeze havia alcançado até então:
O SQL exato por trás de cada número
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_dateDe 71.2 milhões de ações vendidas no settlement de 2020-12-31, o short interest reportado desabou para 21.4 milhões até 2021-01-29 — o settlement de uma sessão após a data desta página — e o days to cover caiu de 14 no pico de novembro para 1. Os shorts cujas posições definiram o cenário estavam, por essa métrica, praticamente fora do mercado até o fim do mês; a anatomia desse unwind está em o explicador do short squeeze, e a diferença entre este número quinzenal e o volume diário de short-sale é abordada em short interest vs short volume.
O que este dia ensina
Apesar da estética da era dos memes, o dia 28 de janeiro é uma lição clássica de liquidez. O preço de uma ação é definido pela sua ordem marginal mais urgente. Quando a urgência de fechamento de posição (comprados em shorts), as restrições de acesso (corretoras limitando compras) e as pausas mecânicas (halts LULD) ocorrem simultaneamente, a descoberta de preço acontece em saltos bruscos em vez de curvas suaves. Nada no dia exige um vilão para explicar seu comportamento — e nada nos gráficos de um minuto pode confirmar ou descartar um. Os registros acima são o que realmente foi executado.
FAQ GameStop 28 de janeiro
Qual foi a maior cotação histórica da GameStop?
$483 (intraday, preço de negociação), registrada na manhã de 28 de janeiro de 2021. Ajustada pelo split de quatro para um de 2022, o valor equivale a $120.75 na quantidade de ações atual.
Por que a Robinhood restringiu a compra de GameStop?
A Robinhood limitou a negociação de GME e outros ativos apenas para o fechamento de posições em 28 de janeiro de 2021. A decisão foi atribuída a uma chamada de depósito de uma câmara de compensação, estimada em cerca de 3 bilhões de dólares naquela manhã. A corretora arrecadou mais de um bilhão de dólares com investidores durante a noite e restabeleceu a compra limitada na sessão seguinte. Depoimentos no Congresso e o relatório da SEC de 2021 documentam o ocorrido.
A Robinhood causou o crash da GameStop?
O registro de negociação mostra a sequência, não o veredito: as restrições foram anunciadas antes da abertura, GME teve um gap de -23.2% para baixo, atingiu sua máxima de $483 e sua mínima de $112.25 em duas horas, e todos os ativos restritos fecharam com queda de dois dígitos no mesmo dia. Qual fator foi o mais relevante ainda é objeto de debate; o relatório da SEC não encerrou a questão.
Quantas vezes a GME foi interrompida em 28 de janeiro de 2021?
O registro minuto a minuto mostra 314 barras de sessão regular em vez de 390 — aproximadamente setenta e seis minutos perdidos devido a interrupções repetidas de Limit Up/Limit Down. Isso fez de 28 de janeiro o dia com mais interrupções de todo o squeeze: nenhuma outra sessão entre 25 de janeiro e 4 de fevereiro teve menos de 348 barras de sessão regular.
O que aconteceu com a GME após 28 de janeiro de 2021?
Mais um surto — um fechamento de $328.24 em 29 de janeiro — e depois a queda: até 2021-02-04 a ação fechou a $53.38, e o short interest reportado já havia caído para 21.4 milhões de ações no settlement de 29 de janeiro.
Cada painel acima é uma consulta armazenada e versionada sobre o histórico de negociação — expanda o SQL para ver cada medição. Quer vivenciar este dia em vez de apenas ler? É um dos cenários jogáveis no simulador de trading da Strasmore Labs.