GME harga 28 Januari 2021 $483 ke $112 tengah hari
28 Januari 2021: GME mencecah $483 dan $112 dalam satu pagi, Robinhood hadkan belian, 76 minit penggantungan dagangan. Pita dagangan direkodkan.
Januari 28, 2021 merupakan kemuncak tekanan beli (squeeze) GameStop — pagi itu GME mencecah $483 dan $112.25 dalam tempoh dua jam, hari Robinhood dan broker lain menyekat pembelian saham tersebut, dan — berdasarkan kiraan bar minitnya sendiri, yang direkodkan di bawah — merupakan hari penggantungan dagangan paling berat sepanjang tekanan beli itu. Mekanik tekanan beli diliputi dalam penjelasan tekanan beli pendek, dengan saham yang sama sebagai kajian kes; halaman ini adalah hari itu sendiri — kenaikan yang mendahuluinya, pita dagangan minit demi minit, sekatan broker, aliran opsyen, dan perjalanan pulang ke bawah. Setiap nombor adalah pertanyaan yang disimpan; kembangkan mana-mana panel untuk SQL.
Kenaikan awal: Disember 2020 hingga 27 Januari
Hari paling liar dalam saga ini tidak masuk akal tanpa lapan minggu sebelumnya. GME menutup 2020-12-01 pada $15.81, sebuah peruncit pusat beli-belah yang banyak dipendekkan, berdagang beberapa juta saham sehari — 6.2 juta saham pada sesi biasa awal Disember. Pada malam sesi halaman ini, ia ditutup pada $345 — 21.8 kali ganda harga 1 Disember.
SQL tepat di sebalik setiap nombor
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_dateLaluannya seperti tangga, bukan landasan. Hingga pertengahan Januari, saham itu merangkak dalam lingkungan belasan dolar; pada 2021-01-13 ia ditutup pada $31.44 dengan 144.4 juta saham — volum lebih dua puluh kali ganda norma Disembernya — dan dari situ setiap langkah lebih besar daripada yang sebelumnya, melalui penutupan $64.85 pada 2021-01-22 hingga hampir dua kali ganda menjelang 27 Januari. Penjual pendek berada di kedudukan sepanjang masa: resit tarikh penyelesaian di bahagian bawah halaman ini menunjukkan apa yang dilakukan oleh kenaikan itu kepada mereka.
Hari itu, dalam satu baris — kira palangnya
SQL tepat di sebalik setiap nombor
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')Mulakan dengan kiraan palang: 314 palang minit sesi biasa berbanding 390. Kira-kira tujuh puluh enam minit yang hilang adalah akibat penghentian turun naik Had Naik/Had Turun yang tersandung berulang kali apabila harga melonjak; tiada sesi lain dalam tempoh tekanan ini, 25 Januari hingga 4 Februari, yang mengekalkan kurang daripada 348 palang sesi biasa. Di antara penghentian tersebut: pembukaan pada $265 — sudah -23.2% di bawah harga tutup rasmi sebelumnya, dengan dagangan semalaman dan prapasaran menjadi ganas apabila sekatan broker diumumkan — kemudian lonjakan ke paras tertinggi sepanjang masa $483 pada jam pembukaan, kejatuhan ke $112.25 pada 11:24 ET — -67.5% di bawah harga tutup sebelumnya — dan ditutup pada $197.44, turun -42.8% pada hari itu. Semua harga adalah seperti yang didagangkan, sebelum pecahan saham empat-ke-satu pada 2022.
Skala ini wajar mendapat ayat tersendiri: 57.4 juta saham bertukar tangan sepanjang hari lanjutan, kira-kira $16.7 bilion dalam nilai dolar — pusing ganti bersaiz megakap tertumpu pada peruncit permainan video yang hanya memperdagangkan 6.2 juta saham pada sesi sunyi lapan minggu lebih awal.
Apa itu Perhentian Had Naik/Had Turun (Limit Up/Limit Down)
Perhentian tersebut bukanlah budi bicara bursa; ia adalah automatik. Perhentian Had Naik/Had Turun (LULD) adalah pemutus litar saham tunggal yang diguna pakai selepas kejatuhan kilat 2010. Setiap saham membawa jalur harga di sekitar harga rujukan — purata bergerak lima minit dagangannya sendiri — sebanyak 5% di kedua-dua belah untuk nama terbesar, 10% untuk kebanyakan yang lain, dan lebih lebar untuk saham berharga rendah, dengan jalur digandakan dalam 25 minit terakhir sesi. Jika bida atau tawaran terbaik berada di tepi jalur selama 15 saat, dagangan saham tersebut berhenti di setiap bursa selama lima minit, dan ia dibuka semula melalui lelongan di bursa penyenaraian; apabila lelongan tidak dapat diselesaikan dalam julat yang dibenarkan, perhentian dilanjutkan. Pada pita yang bergerak seperti GME pagi itu, kitaran berulang: buka semula, lintasi lebar jalur dalam beberapa saat, berhenti lagi. Itulah cara sesi kehilangan tujuh puluh enam minit tanpa sesiapa menekan butang — mekanisme berfungsi tepat seperti yang direka, memakan masa dagangan semasa ia berfungsi.
Pagi, baldi demi baldi
SQL tepat di sebalik setiap nombor
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_timeBaldi 09:30 dan 10:00 mengandungi kemuncak; paras rendah $112.25 pada baldi 11:00 adalah palung — satu perjalanan pergi-balik yang menghapus dan membina semula puluhan bilion nilai pasaran sebelum waktu makan tengah hari. Perhatikan ketiadaan volum dalam tetingkap penggantungan: baldi dengan saham yang jarang adalah yang mana dagangan terus berhenti. Cetakan $483 dan $112.25 kedua-duanya adalah "harga pasaran" pagi itu, hanya beberapa minit berbeza — sesiapa yang memodelkan pasaran sebagai berterusan harus menyimpan pita ini terpampang di atas meja mereka.
Broker: Robinhood dan mod tutup-posisi-sahaja
Fakta penentu lain pada 28 Januari tidak kelihatan pada pita harga. Sebelum pembukaan pasaran, Robinhood — broker tempat kebanyakan pembelian runcit dalam squeeze ini berlaku — telah menukar GME dan beberapa saham lain kepada tutup-posisi-sahaja: pelanggan boleh menjual saham yang mereka miliki tetapi tidak boleh membeli. Interactive Brokers telah meletakkan opsyen GME dalam mod pembubaran-sahaja pada tengah hari sehari sebelumnya, iaitu 27 Januari, dan beberapa broker lain menaikkan keperluan margin atau menyekat dagangan baharu. Robinhood mengaitkan sekatan ini dengan panggilan deposit daripada pusat penjelasan industri pada awal pagi yang dianggarkan kira-kira $3 bilion — jumlah itu berkurangan selepas sekatan dikuatkuasakan — dan firma itu mengumpul lebih satu bilion dolar daripada pelaburnya pada malam itu. Pendengaran kongres Februari 2021 dan laporan kakitangan SEC Oktober 2021 kedua-duanya membincangkan urutan itu secara terperinci.
Apa yang direkodkan oleh pita harga adalah keserempakan masa, bukan keputusan muktamad: sekatan diumumkan sebelum pembukaan, jurang penurunan -23.2% pada 9:30, cetakan $483, penggantungan dagangan, paras rendah $112.25. Dan senarai sekatan itu bergerak sebagai satu blok:
SQL tepat di sebalik setiap nombor
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 ASCSetiap nama dalam panel ditutup dengan penurunan mendadak, antara -56.3% untuk yang paling teruk terjejas (AMC) hingga -29.1% untuk yang paling ringan (Nokia), dengan GME sendiri pada -42.8%. Lima saham dengan lima perniagaan yang tidak berkaitan mencetak bentuk yang sama pada hari yang sama — faktor sepunya ialah senarai itu sendiri.
Pita opsyen: mesin lindung nilai pada kelajuan penuh
Menjelang minggu squeeze, pasaran opsyen GameStop adalah antara yang paling sibuk bagi mana-mana syarikat tersenarai. Naratif biasa merangkumi gelung gamma — peniaga yang menjual opsyen panggilan biasanya membeli saham untuk lindung nilai, dan apabila harga naik menghampiri harga laksana, lindung nilai itu mesti bertambah, menambah pembelian mekanikal semasa kenaikan. Cetakan dagangan tidak dapat menunjukkan lindung nilai secara langsung, tetapi ia menunjukkan daya pemprosesan:
SQL tepat di sebalik setiap nombor
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 sessionPada 2021-01-27, malam sebelum sesi ini, $7.99 bilion premium opsyen bertukar tangan dalam kontrak GME sahaja, merentasi 351 ribu cetakan individu; pada 28hb ditambah $3.97 bilion lagi. Dan satu perincian yang biasanya ditinggalkan dalam penceritaan semula: pita itu banyak-letak di puncak. Panggilan hanya 24% daripada volum kontrak pada 27hb (1.05 juta letak berbanding 0.33 juta panggilan) dan 29.5% pada 28hb. Bersama orang ramai yang mengejar kenaikan, ada orang ramai yang membayar untuk penurunan semasa puncak terbentuk.
Kesan: perjalanan turun
28 Januari bukanlah penamat. Sesi berikutnya, 29 Januari, pembelian terhad disambung semula di broker yang terhad — had kedudukan di Robinhood pada satu ketika diukur dalam kiraan saham satu digit — dan GME ditutup pada $328.24, naik 66.2% pada hari itu. Ia adalah penutupan terakhir yang hampir dengan paras tertinggi.
SQL tepat di sebalik setiap nombor
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_dateJalan turun sama curamnya dengan jalan naik: -30.8% pada 2021-02-01, -60.1% pada 2021-02-02, dan menjelang 2021-02-04 penutupannya adalah $53.38 — dalam saham yang telah mencecah $483 lima sesi sebelumnya. Fail faedah jangka pendek dua mingguan merekodkan apa yang telah dicapai oleh squeeze ketika itu:
SQL tepat di sebalik setiap nombor
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_dateDaripada 71.2 juta saham pendek pada penyelesaian 2020-12-31, faedah jangka pendek yang dilaporkan runtuh kepada 21.4 juta menjelang 2021-01-29 — penyelesaian satu sesi selepas tarikh halaman ini — dan hari untuk ditutup jatuh daripada 14 pada puncak November kepada 1. Pihak short yang kedudukannya mentakrifkan persediaan ini, mengikut ukuran ini, sebahagian besarnya telah hilang menjelang akhir bulan; anatomi penggulungan itu ada dalam penjelasan short squeeze, dan perbezaan antara angka dua mingguan ini dengan volum jualan pendek harian diliputi dalam faedah jangka pendek vs volum jangka pendek.
Apa yang diajarkan oleh hari ini
Di sebalik pakaian era meme, 28 Januari adalah pengajaran kecairan klasik. Harga saham ditetapkan oleh pesanan marginal yang paling mendesak, dan apabila desakan menutup kedudukan (pembelian oleh short seller), sekatan akses (broker mengehadkan pembelian), dan jeda mekanikal (hentian LULD) semuanya berlaku pada pita yang sama, penemuan harga berlaku dalam lompatan staccato, bukan lengkung. Tiada apa-apa tentang hari itu yang memerlukan penjahat untuk menjelaskan bentuknya — dan tiada apa-apa dalam bar minit yang boleh mengesahkan atau menafikan kewujudannya. Resit di atas adalah apa yang sebenarnya tercetak.
Soalan Lazim GameSpot 28 Januari
Apakah harga tertinggi GameSpot sepanjang masa?
$483 (intra hari, seperti yang didagangkan), dicetak pada pagi 28 Januari 2021. Setelah diselaraskan untuk pecahan saham empat-ke-satu pada 2022, ia bersamaan dengan $120.75 pada kiraan saham hari ini.
Mengapa Robinhood menyekat pembelian GameSpot?
Robinhood memindahkan GME dan nama lain kepada mod penutupan kedudukan sahaja pada 28 Januari 2021, dan mengaitkan keputusan itu dengan panggilan deposit rumah penjelasan yang dianggarkan sekitar $3 bilion pada pagi itu. Ia mengumpul lebih satu bilion dolar daripada pelabur semalaman dan memulihkan pembelian terhad pada sesi berikutnya. Keterangan Kongres dan laporan kakitangan SEC 2021 mendokumenkan perkara ini.
Adakah Robinhood menyebabkan kejatuhan GameSpot?
Rakaman merekodkan urutan, bukan keputusan: sekatan diumumkan sebelum pembukaan, GME melonjak -23.2% ke bawah, mencetak rekod $483 dan paras rendah $112.25 dalam masa dua jam, dan setiap nama yang disekat ditutup turun dua digit pada hari yang sama. Faktor mana yang paling penting masih diperdebatkan; laporan kakitangan SEC enggan menyelesaikannya.
Berapa kali GME dihentikan pada 28 Januari 2021?
Rakaman minit menunjukkan 314 bar sesi biasa dan bukannya 390 — kira-kira tujuh puluh enam minit hilang akibat penghentian Had Naik/Had Turun yang berulang. Ini menjadikan 28 Januari sebagai hari penghentian paling berat sepanjang keseluruhan tekanan beli: tiada sesi lain dari 25 Januari hingga 4 Februari yang mengekalkan kurang daripada 348 bar sesi biasa.
Apa yang berlaku kepada GME selepas 28 Januari 2021?
Satu lagi lonjakan — penutupan $328.24 pada 29 Januari — dan kemudian penurunan: menjelang 2021-02-04 saham ditutup pada $53.38, dan faedah pendek yang dilaporkan telah runtuh kepada 21.4 juta saham pada penyelesaian 29 Januari.
Setiap panel di atas adalah pertanyaan tersimpan dan berversi ke atas rakaman sejarah — kembangkan SQL untuk melihat setiap ukuran. Ingin merasai hari ini dan bukannya membacanya? Ia adalah salah satu senario yang boleh dimainkan dalam simulator dagangan Strasmore Labs.