24 Mart 2020 piyasa çöküşü ve dönüşü
24 Mart 2020 tarihindeki piyasa hareketleri, nakit talebi, Fed paketleri ve sektör bazlı genişleme ile piyasanın dönüş noktası inceleniyor.
23 Mart 2020 tarihinde Federal Reserve, herhangi bir sınır belirtilmeyen sınırsız varlık alımları —QE— ve daha önce hiç yapmadığı bir uygulamayı duyurdu: şirket tahvillerini satın alma imkanları. 24 Mart 2020 piyasanın yanıtı oldu: COVID teşvik rallisi, ABD hisse senetlerinde kayıtlara geçen en büyük tek günlük kazançlardan biri gerçekleşti ve —geriye dönüp bakıldığında görüldüğü üzere— yeni bir boğa piyasasının ikinci günüydü. Dip seviyesi, duyuru yapılmadan bir önceki öğleden sonra kapanışını yapmıştı.
Dönüşten önceki çöküş
Çöküşün kendisi için ayrı bir sayfa bulunmaktadır; buradaki veriler mevcut durumun temelini oluşturmaktadır — tüm zamanların en yüksek seviyesinden en dip noktaya kadar her seans ve baz puan cinsinden 10 yıllık tahvil getirisi:
Her verinin arkasındaki tam SQL
WITH daily AS (
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
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2020-02-19 00:00:00') AND window_start < toDateTime('2020-03-24 04:00:00')
GROUP BY et_date
HAVING et_date >= toDate('2020-02-19') AND et_date <= toDate('2020-03-23') AND close_usd > 0
)
SELECT
toString(d.et_date) AS session,
d.close_usd,
round((d.close_usd / (SELECT max(close_usd) FROM daily) - 1) * 100, 1) AS drawdown_pct,
round(t.yield_10_year * 100) AS y10_bps
FROM daily AS d
LEFT JOIN global_markets.treasury_yields AS t ON t.date = d.et_date
ORDER BY d.et_date2020-02-19 tarihindeki 338.31 dolarlık tüm zamanların en yüksek kapanış seviyesinden, SPY 2020-03-23 tarihinde 222.51 dolara gerilemiştir — bu, paneldeki 24 satırında her bir düşüş seansının gösterildiği -34.2% oranında bir düşüştür.
Getiri sütunu belirleyici faktördür. 2020-03-09 süresince 10 yıllık getiri, 156 baz puanından o zamanki rekor seviye olan 54 baz puana gerilemiştir — bu, paranın hisselerden tahvillere kaydığı klasik güvenli liman arayışıdır. Ardından bu döngü kırılmıştır: 2020-03-18 itibarıyla getiri 118 baz puana yükselerek iki kattan fazla artarken, SPY'ın düşüşü -18.9% seviyesinden -28.8% seviyesine derinleşmiştir. Hisse senetleri ve tahvillerin birlikte düşmesi, zorunlu satışların bir göstergesidir — yatırımcıların nakit yaratmak amacıyla alıcısı olan her varlığı satmasıyla gerçekleşir. Mart ayı ortasına gelindiğinde kriz, hisse senedi fiyatlarından ziyade kredi piyasasının işleyişiyle ilgili hale gelmiştir.
Fed'in gerçekte ne açıkladığı — ve nelerin işe yaramadığı
Faiz indirimleri halihazırda denenmişti. Yukarıdaki panelde okunabilen tarihsel sıralama şöyledir:
- 2020-03-03 — toplantı aralarında yapılan ilk indirim olarak, acil bir yarım puanlık faiz indirimi gerçekleştirildi. SPY, zirvenin -11.2% altında, $300.34 seviyesinden kapanış yaptı ve düşüş devam etti.
- 15 Mart, bir Pazar — faizler sıfıra indirildi ve 700 milyar dolarlık bir varlık satın alma programı başlatıldı. Bir sonraki seans olan 2020-03-16, Şubat zirvesinin -29.2% altında kapandı; bu, çöküşün en kötü tekil seanslarından biriydi.
- 23 Mart, sabah 08:00 ET — Fed tavan fiyatı kaldırdı: Hazine tahvilleri ve konut kredisi teminatlı menkul kıymetlerin satın alınması "gereken miktarlarda" ve ucu açık bir şekilde devam edecekti. PMCCF ve SMCCF — Fed'in ilk kurumsal tahvil satın alma tesisleri — ile tüketici kredilerini destekleyen yenilenmiş TALF programı sürece dahil edildi. SPY, o öğleden sonra ayı piyasasının en düşük seviyesinde kapandı.
- 24 Mart — aşağıdaki seans. Gece boyunca Kongre, yaklaşık 2 trilyon dolarlık CARES Yasası üzerinde uzlaştı; yasa 27 Mart'ta imzalandı ve aşağıda belirtilen üç günlük yoğun süreç içinde yürürlüğe girdi.
23 Mart paketini önceki girişimlerden ayıran iki tasarım farkı vardı. Sabit büyüklükteki bir programın, stres altındaki piyasaların öngörebileceği bir bitiş tarihi vardır; "gereken miktarlarda" ifadesi ise böyle bir tarih içermez. Ayrıca kurumsal tesisler, likidite akışının durduğu kredi piyasalarına doğrudan bir kamu alıcısı yerleştirdi. Bu farkların asıl belirleyici olup olmadığı bir yorum meselesidir; ancak veriler sıralamayı kaydetmektedir — iki kademeli artış, süregelen düşüş, üçüncü bir tasarım ve ardından gelen dönüş.
Günlük seyir
Her verinin arkasındaki tam 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 = 'SPY'
AND window_start >= toDateTime('2020-03-23 00:00:00') AND window_start < toDateTime('2020-03-24 04:00:00')
) AS prior_rth_close
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,
countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS rth_minute_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2020-03-24 04:00:00') AND window_start < toDateTime('2020-03-24 23:59:00')Ayı piyasasının son kapanışı olan 23 Mart'taki $222.51 seviyesinden, SPY +5.4% farkla $234.42 seviyesinden açılış yaptı. Açılış dakikalarında (09:31 ET) $233.8 seviyesini gördü ve bu seviyeye bir daha geri dönmedi: Gün sonu kapanışı $243.59 seviyesinde, günlük bazda +9.5% olarak gerçekleşti. İlk dakikadaki düşük seviyelerin, en düşük seviyede kapanan bir çöküşün tam tersi olduğu bir yükseliş yaşandı. Ancak, yarım saatlik veriler seansın absorbe etmek zorunda kaldığı düşüşü göstermektedir.
Seansın seyri
Her verinin arkasındaki tam 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 = 'SPY'
AND window_start >= toDateTime('2020-03-24 04:00:00') AND window_start < toDateTime('2020-03-24 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_timeVeriler net bir tablo çiziyor: fiyat hareketi yön değiştirdi. Açılış dakikasında görülen 233.8 seviyesi bir daha test edilmedi; bu durum tek yönlü hareketin gerçekliğini gösteriyor. Ancak öğle seansına doğru 242.24 seviyesine ulaşıldığında, fiyatlar iki saat boyunca geriledi. 13:30 seansı 237.25 seviyesinden kapandı; 14:00 seansı ise günün en düşük seviyesi olan 235.05 değerini gördü. Bu süreç, günün başarısız bir tepki yükselişine dönüşebileceği kritik bir dönemdi. Buna rağmen, geri çekilme açılış düşüğünün oldukça üzerinde kaldı. Son yarım saatte, 232.4 milyon hisselik toplam hacmin en yoğun olduğu 27.3 milyon hisselik hacimle, seansın en yüksek kapanış seviyesi olan 243.59 değerine, 34.7 milyon hisse ile ulaşıldı. Gün ortasındaki düşüş alıcı buldu ve seans en yüksek seviyelerden, zirve hacimle kapandı.
Broad rally, or narrow?
An index can be dragged higher by a handful of mega-caps. That is not what this was. Twelve funds — the three major index trackers plus nine S&P sector funds — on the same two closes:
Her verinin arkasındaki tam SQL
SELECT
ticker,
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 AND toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2020-03-23')), 2) AS mar23_close,
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 AND toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2020-03-24')), 2) AS mar24_close,
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 AND toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2020-03-24')) / argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959 AND toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2020-03-23')) - 1) * 100, 1) AS change_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'DIA', 'QQQ', 'IWM', 'XLE', 'XLI', 'XLF', 'XLK', 'XLY', 'XLV', 'XLU', 'XLP')
AND window_start >= toDateTime('2020-03-23 00:00:00') AND window_start < toDateTime('2020-03-25 00:00:00')
GROUP BY ticker
ORDER BY change_pct DESCAll 12 closed higher. Energy (XLE) led at +16.4%, with industrials (XLI, +12.8%) and financials (XLF, +12.7%) right behind — the most economically-sensitive corners of the market, the ones a shutdown threatens first. The Dow tracker DIA gained 11.3% — the move behind that week's "best day since 1933" headlines, a superlative that belongs to the Dow's longer price history. The smallest gains sat in the classic defensives, consumer staples (XLP, +5.1%) and healthcare (XLV, +7.4%), and the Nasdaq-100's QQQ (+7.7%) trailed SPY's +9.5%. A cyclicals-led, everything-green tape is the opposite shape of a narrow mega-cap squeeze — breadth was the day's signature.
Gerçekten ne kadar tarihiydi?
O haftanın gazetelerindeki Dow istatistiği "1933'ten bu yana en büyük gün" ifadesini kullanmaktadır. Kendi verilerimizle, yalnızca kapsadığı alanla sınırlı olarak doğrulanabilecek olanlar şunlardır:
Her verinin arkasındaki tam SQL
SELECT
countIf(isFinite(day_pct)) AS sessions_measured,
toString(min(et_date)) AS first_session,
round(mar24_d, 1) AS mar24_gain_pct,
countIf(isFinite(day_pct) AND day_pct > mar24_d) AS bigger_days,
countIf(isFinite(day_pct) AND day_pct > mar24_d) + 1 AS mar24_rank,
arrayStringConcat(arraySort(groupArrayIf(toString(et_date), isFinite(day_pct) AND day_pct > mar24_d)), ', ') AS bigger_day_dates,
round(mar26_b, 1) AS burst3_gain_pct,
countIf(isFinite(burst3_pct) AND burst3_pct > mar26_b) AS bigger_bursts,
round(mar24_r30, 2) AS vol_vs_30d,
round(mar24_r250, 2) AS vol_vs_250d,
round(mar24_shares / 1e6, 0) AS mar24_shares_m
FROM (
SELECT
et_date, day_pct, burst3_pct,
max(if(et_date = toDate('2020-03-24'), day_pct, -999)) OVER () AS mar24_d,
max(if(et_date = toDate('2020-03-26'), burst3_pct, -999)) OVER () AS mar26_b,
max(if(et_date = toDate('2020-03-24'), shares / vol_avg_30, -999)) OVER () AS mar24_r30,
max(if(et_date = toDate('2020-03-24'), shares / vol_avg_250, -999)) OVER () AS mar24_r250,
max(if(et_date = toDate('2020-03-24'), shares, -999)) OVER () AS mar24_shares
FROM (
SELECT
et_date,
(close_usd / lagInFrame(close_usd, 1) OVER (ORDER BY et_date ASC ROWS BETWEEN 3 PRECEDING AND CURRENT ROW) - 1) * 100 AS day_pct,
(close_usd / lagInFrame(close_usd, 3) OVER (ORDER BY et_date ASC ROWS BETWEEN 3 PRECEDING AND CURRENT ROW) - 1) * 100 AS burst3_pct,
shares,
avg(shares) OVER (ORDER BY et_date ASC ROWS BETWEEN 30 PRECEDING AND 1 PRECEDING) AS vol_avg_30,
avg(shares) OVER (ORDER BY et_date ASC ROWS BETWEEN 250 PRECEDING AND 1 PRECEDING) AS vol_avg_250
FROM (
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS close_usd,
toFloat64(sum(volume)) AS shares
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start < toDateTime('2026-01-01 00:00:00')
GROUP BY et_date
HAVING close_usd > 0
)
)
)
GROUP BY mar24_d, mar26_b, mar24_r30, mar24_r250, mar24_sharesDakikalık verilerimizin ilk oturumu olan 2003-09-10'den bu yana SPY, kapanıştan kapanışa günlük bazda 5613 getiri kaydetmiştir. 24 Mart 2020'deki +9.5% oranı #3 sıradadır: tam olarak 2 oturum bu oranı geçmiştir (2008-10-13, 2008-10-28) ve her ikisi de Ekim 2008 panik dönemine aittir. Üç günlük dizi ise daha da nadirdir: 23 Mart kapanışından 26 Mart kapanışına kadar olan +17.5%'lik artıştan daha büyük bir üç oturumluk kazanç, örneklemdeki hiçbir yerde 0 değildir. Bu veri havuzunun kontrol edebildiği her şey dahilinde, bu patlamayla eşleşen hiçbir veri bulunmamaktadır.
Hacim daha sessiz bir hikaye anlatmaktadır: 232 milyon SPY hissesi, son bir yılın ortalamasının 2.86 katıydı — ve önceki 30 oturumun ortalamasının sadece 1.12 katıydı. Herhangi bir normal tarihsel süreçle kıyaslandığında faaliyetler olağanüstüydü; çöküşten önceki haftalarla kıyaslandığında ise fırtına içindeki sıradan bir gündü. Tarihi dönüm noktaları, tarihi hacimlerle kendilerini ilan etmezler.
Üç günlük yükseliş patlaması
Her verinin arkasındaki tam 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 = 'SPY'
AND window_start >= toDateTime('2020-03-20 00:00:00') AND window_start < toDateTime('2020-03-26 23:59:00')
GROUP BY et_date
)
)
WHERE et_date >= toDate('2020-03-23') AND et_date <= toDate('2020-03-26')
ORDER BY et_dateDönüş hemen ivme kazandı: 24'ünde +9.5%, 25'inde +1.3%, 26'sında +5.9% — haftalar süren düşüşü tersine çeviren ve örneklemdeki diğer verilerden daha büyük olmayan üç seanslık bir dizi yükseliş gerçekleşti. Mart 2020 örüntüsü, Mart 2009 ile kasıtlı bir benzerlik göstermektedir: Her iki durumda da belirleyici politika yanıtı dip noktaya yakın bir zamanda geldi, ilk yükseliş ayağı şiddetliydi ve maksimum fırsat günü —o sabah— başka bir ayı piyasası tepkisinden ayırt edilemiyordu.
Yükseliş korundu mu?
Gerçek zamanlı verilerde, genel görüş "ayı piyasası tepkisi" yönündeydi ve şüphecilerin de kendi verileri vardı: on bir gün önce piyasa neredeyse bu boyutta bir yükseliş gerçekleştirmişti — 2020-03-12 tarihinde $248.1 seviyesinden 2020-03-13 tarihinde $270.93 seviyesine kadar — ve bundan sonraki işlem günü, çöküşün en kötü günü olan $239.41 seviyesinde kapandı. Tek bir yeşil gün hiçbir şeyi kanıtlamadı. 24 Mart'ı farklı kılan, sonrasında yaşananlardır:
Her verinin arkasındaki tam SQL
SELECT
round(ath_close, 2) AS feb19_ath_close,
round(bottom_close, 2) AS mar23_bottom_close,
toString(rec_date) AS recovery_date,
countIf(et_date > toDate('2020-03-23') AND et_date <= rec_date) AS sessions_to_new_high,
dateDiff('day', toDate('2020-03-23'), rec_date) AS days_low_to_new_high,
dateDiff('day', toDate('2020-02-19'), rec_date) AS round_trip_days,
round(minIf(close_usd, et_date > toDate('2020-03-23') AND et_date <= rec_date), 2) AS lowest_close_after,
toString(argMinIf(et_date, (close_usd, et_date), et_date > toDate('2020-03-23') AND et_date <= rec_date)) AS lowest_close_date,
round((minIf(close_usd, et_date > toDate('2020-03-23') AND et_date <= rec_date) / bottom_close - 1) * 100, 1) AS closest_retest_pct,
toString(peak07_date) AS peak_2007_date,
toString(rec07_date) AS recovery_2013_date,
dateDiff('day', peak07_date, rec07_date) AS round_trip_2008_days
FROM (
SELECT
et_date, close_usd, ath_close, bottom_close, peak07_date,
min(if(et_date > toDate('2020-03-23') AND close_usd >= ath_close, et_date, toDate('2099-01-01'))) OVER () AS rec_date,
min(if(et_date >= toDate('2008-01-01') AND close_usd >= peak07_close, et_date, toDate('2099-01-01'))) OVER () AS rec07_date
FROM (
SELECT
et_date, close_usd,
max(if(et_date = toDate('2020-02-19'), close_usd, -999)) OVER () AS ath_close,
max(if(et_date = toDate('2020-03-23'), close_usd, -999)) OVER () AS bottom_close,
max(if(et_date >= toDate('2007-01-01') AND et_date < toDate('2008-01-01'), (close_usd, et_date), (-999., toDate('1970-01-01')))) OVER () .1 AS peak07_close,
max(if(et_date >= toDate('2007-01-01') AND et_date < toDate('2008-01-01'), (close_usd, et_date), (-999., toDate('1970-01-01')))) OVER () .2 AS peak07_date
FROM (
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
argMaxIf(toFloat64(close), window_start, (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) AS close_usd
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start < toDateTime('2021-01-01 00:00:00')
GROUP BY et_date
HAVING close_usd > 0
)
)
)
GROUP BY ath_close, bottom_close, rec_date, peak07_date, rec07_dateYeniden test gerçekleşmedi. 23 Mart'tan sonra, SPY'nin gördüğü en düşük kapanış $243.59 oldu — bu tarih, teşvik rallisinin yaşandığı 2020-03-24 günüydü. Piyasa bir daha asla dibin 9.5% yakınında kapanmadı. COVID öncesi $338.31 olan zirve seviyesi 2020-08-18 tarihinde geri kazanıldı — bu, en düşük seviyeden 103 işlem günü sonra gerçekleşti ve tüm zamanların en yüksek seviyesinden tekrar tüm zamanların en yüksek seviyesine 181 günlük bir gidiş-dönüş hareketiydi. Aynı yöntemle hesaplanan 2008 karşılaştırması: SPY'nin 2007-10-09 zirvesi, 2013-03-14 gün sonra, yani 1983 gün sonra yeni bir kapanış zirvesi görmedi. İki kriz, iki farklı hız ve bu süreçte metabolizması değişmiş tek bir piyasa.
Bu günün öğrettikleri
İçselleştirilmesi gereken üç ders bulunmaktadır. Birincisi, farkın etkisi: Gün içindeki kazancın büyük bir kısmı açılış öncesinde gerçekleşti; piyasa saatleri içinde giriş bekleyenler gün boyunca yüksek maliyetle işlem yaptı — gece farkı mekaniği maksimum genlikte seyretti. İkincisi, dip seviyesi onaylamadan önce geldi: 23 Mart kapanışı en düşük seviyeydi; bu durum ancak bu tür seansların o seviyeyi tekrar ziyaret etmemesiyle netleşti. Üçüncüsü, hız her iki yönde de etkilidir: -34.2% oranındaki bir düşüşü 24 seviyelerinin üzerine sıkıştıran piyasa yapısı, başlangıçtaki toparlanmayı da üç seans içinde sıkıştırdı. Hız, iyi veya kötü haberlerden ziyade, dönemin piyasa işleyişinin bir özelliğidir.
O haftanın şüphecileri hatalı değildi: Piyasa genişliği, ani yükseliş ve gerçekleşmeyen yeniden test — 24 Mart ile başarısız ralliler arasındaki farkı ayıran her bir veri ancak geriye dönüp bakıldığında ölçülebilir. Bir ayı piyasası rallisi ile yeni bir boğa piyasası arasındaki fark, ilk gün görünmezdir ancak aylar içinde netleşir.
COVID yükselişi SSS
24 Mart 2020'de ne oldu?
Fed'in sınırsız QE duyurusundan sonraki ilk tam işlem günü: SPY açılışta +5.4% farkla açıldı ve +9.5% ile kapandı — bu, dakika bazlı verilerimizin kapsadığı 5613 işlem günü içindeki #3 en yüksek günlük kazançtır; sadece Ekim 2008'deki iki günden sonra en yüksek seviyedir.
Fed, 23 Mart 2020'de ne duyurdu?
Hazine tahvilleri ve mortgage destekli menkul kıymetlerin "gereken miktarlarda" ucu açık alımları; ayrıca kurumsal tahvil alımı için ilk kez oluşturulan PMCCF ve SMCCF ile tüketici kredisi için yeniden canlandırılan TALF. Açıklama, piyasa açılmadan önce Doğu Saati ile 08:00'de yapıldı; SPY o gün yine ayı piyasası dibinde kapandı.
23 Mart 2020, COVID çöküşünün dibi miydi?
Evet, kapanış fiyatına göre: Fed'in duyurusundan saatler sonra, 23 Mart'ta SPY için 222.51 seviyesinde düşük bir kapanış gerçekleşti. Bu seviye bir daha görülmedi — sonraki en düşük kapanış 2020-03-24 tarihinde, dibin 9.5% üzerinde gerçekleşti.
Hisse senedi piyasası COVID öncesi zirvesini ne zaman geri kazandı?
SPY, 19 Şubat 2020'deki tüm zamanların en yüksek kapanış seviyesinin üzerine ilk kez, dipten 103 2020-08-18 işlem günü sonra çıktı — 2008 çöküşündeki eşdeğer yolculuğun 1983 gününe kıyasla 181 günlük bir geri dönüş süreciydi.
Haberlerden sonra alım yapıp yine de iyi kazanç sağlamak mümkün müydü?
Normal işlem süreci başlamadan önce açılış +5.4% farkla gerçekleşti ve gün yükselmeye devam etti — sonraki her giriş bir önceki kapanıştan daha yüksek maliyetli oldu ve yine de piyasanın Ağustos 2020 toparlanmasındaki seviyesinin çok altında kaldı.
Veri notları
- Kapanışlar, dakika bazlı verilerdeki düzenli seans (Doğu Saati ile 09:30-16:00) son işlemleridir; resmi ihale kapanışlarından birkaç sent farklılık gösterebilirler.
- Toparlanma tarihleri sadece fiyat bazlıdır; toplam getiri ölçümü (temettülerin yeniden yatırılmasıyla) yapısal olarak daha erken toparlanır.
- 10 yıllık verim, işlem tarihlerinde Hazine'nin günlük serisine dahil edilir; baz puanlar yüzde bir puanın yüzde biridir.
- Sıralama panelinin örneklemi 2003-09-10 ile başlar — bu sayfadaki "2003'ten beri" ifadesi o zaman aralığını kasteder, kaydedilen tüm piyasa geçmişini değil.
Yukarıdaki her panel, tarihsel veriler üzerinde çalıştırılan, versiyonlanmış bir sorgudur — her bir ölçümü görmek için SQL sorgusunu genişletin. Bu günü okumak yerine deneyimlemek ister misiniz? Strasmore Labs işlem simülatöründe oynanabilir senaryolardan biridir.