Strasmore Research
Mga imbestigasyon Matt ConnorNi Matt Connor · Na-update noong 2026-08-08

COVID Crash 2020: Apat na Halt at Peak-to-Trough

COVID crash 2020 sa SPY: apat na circuit-breaker halt, nawawalang minuto sa March 9 tape, at kumpletong peak-to-trough map mula sa record close.

Dinala ng COVID crash ng 2020 ang S&P 500 mula sa record close noong February 19 tungo sa -34.2% peak-to-trough loss sa loob ng 23 trading days. Kasama rito ang apat na market-wide circuit-breaker halt, ang unang ganitong mga halt mula noong 1997. Mula sa tape, nire-replay ng pahinang ito ang buong takbo ng crash: ang mapa nito, ang March 9 halt session minuto kada minuto, kabilang ang mga minutong nawawala sa data na siyang pinakamalinaw na patunay sa pahinang ito, ang mga pangalan na pinakamalakas bumagsak, at ang galaw ng Treasuries at ng options tape kasabay nito. Stored query ang pinagmulan ng bawat numero; i-expand ang anumang panel para makita ang SQL.

Ang buong crash, sa isang row

Bago ang sikat na single-day crash, tingnan muna ang kabuuang mapa. Isang query sa daily regular-session closes ng SPY ang tumutukoy sa peak, trough, bilis, at recovery. Kasama rin dito ang kaparehong measurement run para sa 2008 bear market bilang panukat.

QueryCOVID crash, peak hanggang trough hanggang recovery: daily closes ng SPY, isang row
petsa ng peakpeak closepetsa ng troughtrough closeporsiyento ng pagbabamga session mula peak hanggang troughmga araw sa kalendaryomga session hanggang minus 30mga session ng GFC 2008 hanggang minus 30petsa ng recoverymga session mula trough hanggang recovery
2020-02-19338.312020-03-23222.51-34.22333222502020-08-18103
Ang eksaktong SQL sa likod ng bawat numero
WITH dailies AS (
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        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 c
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2020-02-01 00:00:00') AND window_start < toDateTime('2020-09-01 00:00:00')
    GROUP BY d
),
peak AS (SELECT argMax(d, (c, -toInt32(d))) AS pd, max(c) AS pc FROM dailies WHERE d < toDate('2020-03-01')),
trough AS (SELECT argMin(d, (c, toInt32(d))) AS td, min(c) AS tc FROM dailies WHERE d < toDate('2020-04-01')),
gfc AS (
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        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 c
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2007-06-01 00:00:00') AND window_start < toDateTime('2009-01-01 00:00:00')
    GROUP BY d
),
gpeak AS (SELECT argMax(d, (c, -toInt32(d))) AS pd, max(c) AS pc FROM gfc WHERE d < toDate('2008-01-01'))
SELECT
    toString((SELECT pd FROM peak)) AS peak_date,
    round((SELECT pc FROM peak), 2) AS peak_close,
    toString((SELECT td FROM trough)) AS trough_date,
    round((SELECT tc FROM trough), 2) AS trough_close,
    round(((SELECT tc FROM trough) / (SELECT pc FROM peak) - 1) * 100, 1) AS decline_pct,
    countIf(d > (SELECT pd FROM peak) AND d <= (SELECT td FROM trough)) AS sessions_peak_to_trough,
    dateDiff('day', (SELECT pd FROM peak), (SELECT td FROM trough)) AS calendar_days,
    countIf(d > (SELECT pd FROM peak) AND d <= (SELECT min(d) FROM dailies WHERE c <= 0.7 * (SELECT pc FROM peak))) AS sessions_to_minus_30,
    (SELECT countIf(d > (SELECT pd FROM gpeak) AND d <= (SELECT min(d) FROM gfc WHERE c <= 0.7 * (SELECT pc FROM gpeak))) FROM gfc) AS gfc_2008_sessions_to_minus_30,
    toString((SELECT min(d) FROM dailies WHERE d > (SELECT td FROM trough) AND c >= (SELECT pc FROM peak))) AS recovery_date,
    countIf(d > (SELECT td FROM trough) AND d <= (SELECT min(d) FROM dailies WHERE d > (SELECT td FROM trough) AND c >= (SELECT pc FROM peak))) AS sessions_trough_to_recovery
FROM dailies
Subukan mo mismo

Ang peak close ng SPY ay $338.31 noong 2020-02-19. Ang trough close na $222.51 noong 2020-03-23 ay -34.2% na mas mababa rito. Isa itong bear market na na-compress sa 23 trading sessions o 33 calendar days. Makikita rin sa parehong row ang batayan ng madalas banggitin na claim na ito ang “pinakamabilis na thirty-percent drawdown na naitala”: unang bumaba ang close ng SPY nang 30% mula sa peak makalipas lamang ang 22 sessions. Ang 2008 bear market, na sinukat sa parehong paraan mula sa peak close noong October 2007, ay nangailangan ng 250 sessions upang mawalan ng kaparehong 30%. Ang umabot nang humigit-kumulang isang taon noong 2008 ay nangyari sa loob ng halos isang buwan noong 2020.

Narito ang dated skeleton ng crash; lahat ng numero ay mula sa mga panel sa pahinang ito:

  • February 19, 2020, ang record close ng SPY na $338.31.
  • March 9, ang unang market-wide circuit breaker mula noong 1997; nagsara ang SPY nang -7.7% na mas mababa. Nakasaad sa ibaba ang minute-by-minute na batayan.
  • March 12, 16, at 18, tatlo pang Level-1 halt. Nagsara ang March 16 nang -11.6%, ang pinakamalalang single session ng crash.
  • March 23, ang closing low: $222.51, o -34.2% mula sa peak.
  • March 24, ang pagliko ng trend. Ang stimulus rally noong March 24 ang nagdala sa tape na iyon.
  • 2020-08-18, nagsara muli ang SPY sa itaas ng February peak, 103 sessions pagkatapos ng low.

March 9, 2020: ang session na nag-trigger sa circuit breaker

Ang market-wide circuit breakers ay nakabatay sa S&P 500, kaya binabasa ng panel na ito ang halt sa pamamagitan ng SPY, ang S&P 500 ETF, sa halip na ibang proxy. Noong weekend bago iyon, nagsabay ang repricing dahil sa pandemic at ang shock sa oil supply (higit pa tungkol dito sa ibaba), kaya hindi talaga nagbukas nang maayos ang merkado.

QuerySPY noong March 9, 2020: ang circuit-breaker session, may resibo
naunang closeRTH openporsiyento ng gapunang nawawalang ET dahil sa haltmga nawawalang minuto dahil sa haltRTH lowET ng lowRTH closeporsiyento ng pagbabago sa arawshares sa araw (M)mga RTH minute bar
297.42275.3-7.409:3514273.4514:44274.4-7.7304.6376
Ang eksaktong SQL sa likod ng bawat 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 = 'SPY'
          AND window_start >= toDateTime('2020-03-06 00:00:00') AND window_start < toDateTime('2020-03-09 04:00:00')
    ) AS prior_rth_close,
    (
        SELECT (formatDateTime(toTimeZone(addMinutes(prev_bar, 1), 'America/New_York'), '%H:%i'), gap_minutes - 1)
        FROM (
            SELECT
                lagInFrame(window_start) OVER (ORDER BY window_start ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_bar,
                dateDiff('minute', prev_bar, window_start) AS gap_minutes
            FROM global_markets.delayed_stocks_minute_aggs
            WHERE ticker = 'SPY'
              AND window_start >= toDateTime('2020-03-09 04:00:00') AND window_start < toDateTime('2020-03-09 23:59:00')
              AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
        )
        WHERE prev_bar > toDateTime('2020-03-09 00:00:00')
        ORDER BY gap_minutes DESC
        LIMIT 1
    ) AS halt_gap
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,
    halt_gap.1 AS halt_first_missing_et,
    halt_gap.2 AS halt_missing_minutes,
    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(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(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-09 04:00:00') AND window_start < toDateTime('2020-03-09 23:59:00')
Subukan mo mismo

Dalawang numero muna. Una, ang gap: nagbukas ang SPY sa $275.3, -7.4% na mas mababa kaysa sa Friday close na $297.42, at sa mga unang minuto ay umabot sa 7% Level-1 threshold ang pagbaba ng S&P 500. Ikalawa, at mas mainam: 376 regular-session minute bars sa halip na karaniwang 390. Huminto ang tape makalipas ang 9:34 am: mula 09:35 ET, 14 magkakasunod na minuto ang walang naitalang bar. Walang na-trade saanman. Ang puwang sa data ang mismong circuit breaker. Nagsara ang session sa $274.4, -7.7% ang ibinaba, sa dami na 304.6 milyong shares.

Ang hugis ng isang halted na session

QuerySPY kada kalahating oras: regular session noong March 9, 2020
oras ng ETbucket closebucket lowshares (M)
09:30279.93273.517.4
10:00280.72275.623.4
10:30278.61275.519.1
11:00281.03275.517.2
11:30282.69280.0619.1
12:00281.01280.9517.2
12:30279.71275.9513.4
13:00278.59278.2411.5
13:30275.84275.3419.4
14:00274.95274.0621.2
14:30276.59273.4525.9
15:00277.9275.5524.5
15:30274.4274.3746.7
Ang eksaktong SQL sa likod ng bawat 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 = 'SPY'
  AND window_start >= toDateTime('2020-03-09 04:00:00') AND window_start < toDateTime('2020-03-09 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
Subukan mo mismo

Pinagsasama ng opening bucket ang crash, halt, at muling pagbubukas: ang low nito na $273.5 ay halos kapantay ng low ng buong araw na $273.45, at ang afternoon print noong 14:44 ET ay muling sumubok sa level ng umaga. Pagkatapos ng reopening, halos hindi gumalaw ang tape: ang bawat half-hour close ay nasa loob lamang ng ilang dolyar mula sa reopening price, at nangyari sa unang mga minuto ng trading ang buong pinsala sa araw. Ganito rin ang ipinakita ng volume, ngunit pabaligtad: ang final half hour, na may 46.7 million shares, ang may pinakamalaking bucket ng araw habang nagtawid ang closing flows. Dinisenyo ang circuit breakers upang lumikha ng eksaktong ganitong hugis: ihinto ang waterfall, pilitin ang isang reopening auction, at ipagpatuloy ang continuous trading sa muling itinakdang level. Permanente nang nakapaloob ang mekanismong ito sa orasan ng merkado.

Apat na trading halt sa loob ng walong session

Marso 9 ang simula lamang.

QueryApat na circuit-breaker session noong March 2020: close, change, volume ng SPY
sessionclose ($)porsiyento ng pagbabagoshares (M)
2020-03-09274.4-7.7304.6
2020-03-12248.1-9.6389.3
2020-03-16239.41-11.6291.5
2020-03-18241.01-5.2324.7
Ang eksaktong SQL sa likod ng bawat numero
SELECT
    toString(et_date) AS session,
    close_usd,
    change_pct,
    shares_m
FROM (
    SELECT et_date, close_usd, shares_m,
           round((close_usd / lagInFrame(close_usd) OVER (ORDER BY et_date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) - 1) * 100, 1) AS change_pct
    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-06 00:00:00') AND window_start < toDateTime('2020-03-19 00:00:00')
        GROUP BY et_date
    )
)
WHERE toString(et_date) IN ('2020-03-09', '2020-03-12', '2020-03-16', '2020-03-18')
ORDER BY et_date
Subukan mo mismo

Na-trigger din ang Level-1 breakers noong Marso 12 (nagsara sa -9.6%), Marso 16 (nagsara sa -11.6% sa $239.41, ang pinakamalaking one-day percentage drop ng S&P mula noong 1987), at Marso 18 (na-halt sa intraday trading at nagsara sa -5.2%). Apat na market-wide halt sa loob ng walong trading day, matapos ang dalawampu't tatlong taon na walang ganito. Pansinin ang hindi nangyari: Level 1 lamang ang bawat halt, ang 7% tier. Hindi kailanman naabot ang 13% at 20% tiers. Kahit noong Marso 16, bumagal ang cascade matapos ang halt at nagtapos ang session sa loob ng Level-2 line.

Sino ang pinakamalaking ibinagsak

Itinatago ng isang index number ang pagkakaiba-iba sa loob nito. Kapag isinagawa ang parehong daily-close arithmetic sa ilang kinatawang large-cap, makikita kung saan talaga tumama ang crash—noong March 9 mismo at sa buong pagbaba mula February 19 hanggang March 23.

QueryMarch 9 at full-crash moves: cruise, airline, energy, bank, tech, staples laban sa SPY
tickerMar 9 (%)Crash (%)
CCL-19.9-72.3
UAL-10.4-66.9
XOM-12.2-47.9
JPM-13.7-42.6
SPY-7.7-34.2
AAPL-7.9-31
WMT-0.1-2.9
Ang eksaktong SQL sa likod ng bawat numero
WITH dailies AS (
    SELECT
        ticker,
        toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        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 c
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('UAL', 'CCL', 'XOM', 'JPM', 'AAPL', 'WMT', 'SPY')
      AND window_start >= toDateTime('2020-02-18 00:00:00') AND window_start < toDateTime('2020-03-25 00:00:00')
    GROUP BY ticker, d
)
SELECT
    ticker,
    round((anyIf(c, d = toDate('2020-03-09')) / anyIf(c, d = toDate('2020-03-06')) - 1) * 100, 1) AS mar9_pct,
    round((anyIf(c, d = toDate('2020-03-23')) / anyIf(c, d = toDate('2020-02-19')) - 1) * 100, 1) AS crash_pct
FROM dailies
GROUP BY ticker
ORDER BY crash_pct ASC
Subukan mo mismo

Ang pinakamalaking tinamaan sa panel, CCL (Carnival, ang cruise operator), ay bumagsak ng -19.9% noong March 9 lamang at -72.3% mula peak hanggang trough. Bumaba ang United Airlines ng -66.9% sa buong crash; ang ExxonMobil ng -47.9%; at ang JPMorgan ng -42.6%. Kung ihahambing sa kanila, halos banayad ang -34.2% ng SPY. Bumagsak ang Apple nang halos kasabay ng merkado, sa -31%, habang ang Walmart—na nagbebenta ng groceries at essentials at nanatiling bukas sa panahon ng lockdown—ay nagtapos sa parehong window sa -2.9% lamang. Muling tinantiya ng merkado ang halaga ng travel at energy para sa mundong biglang huminto; halos hindi gumalaw ang staples.

Ang oil-price war, sa maikling paliwanag

Nararapat sa energy row sa itaas ang isang maikling paliwanag dahil ang “oil-price war” ang kabilang bahagi ng kuwento noong March 9. Natapos nang walang kasunduan ang production talks ng OPEC+ sa pagitan ng Saudi Arabia at Russia noong Friday, March 6, 2020. Noong weekend, ibinaba ng Saudi Arabia ang official selling prices nito at nag-anunsyo ng planong itaas ang output habang humihina na ang travel demand sa buong mundo. Supply shock ito na nadagdagan pa ng demand shock. Parehong tumama ang mga ito sa pagbubukas ng equity market noong Monday. Makikita ang resulta sa panel sa itaas: bumaba ang ExxonMobil ng -12.2% noong araw na iyon, kumpara sa -7.7% ng SPY.

Ang paglipat sa safety, at ang linggong bumaligtad ito

Kalahati lamang ng kuwento ang equities. Ang kalahati ay ang Treasury market, kung saan umabot sa record ang klasikong flight to safety at pagkatapos, sa isang kapansin-pansing linggo, ay bumaligtad.

Query10-year at 3-month Treasury yields sa buong crash, daily closes
31 rows (showing 20)
Petsa10-year (%)3-month (%)
2020-02-181.551.58
2020-02-191.561.58
2020-02-201.521.58
2020-02-211.461.56
2020-02-241.381.53
2020-02-251.331.53
2020-02-261.331.53
2020-02-271.31.45
2020-02-281.131.27
2020-03-021.11.13
2020-03-031.020.95
2020-03-041.020.72
2020-03-050.920.62
2020-03-060.740.45
2020-03-090.540.33
2020-03-100.760.44
2020-03-110.820.42
2020-03-120.880.33
2020-03-130.940.28
2020-03-160.730.24
Ang eksaktong SQL sa likod ng bawat numero
SELECT
    toString(date) AS date,
    round(yield_10_year, 2) AS ten_year_pct,
    round(yield_3_month, 2) AS three_month_pct
FROM global_markets.treasury_yields
WHERE date >= '2020-02-18' AND date <= '2020-03-31'
  AND isNotNull(yield_10_year)
ORDER BY date
Subukan mo mismo

Ang 10-year yield ay nasa 1.56% noong peak ng equities noong February 19. Pagsapit ng March 9, ang halt session, nagsara ito sa 0.54%, ang pinakamababang antas sa kasaysayan, habang tinanggap ng mga buyer ang kalahating porsiyento kada taon sa loob ng isang dekada kapalit ng safety. Pagkatapos, bumaligtad ang pattern: pagsapit ng March 18, tumaas ang 10-year yield sa 1.18% habang patuloy na bumabagsak ang equities. Ito ang “dash for cash,” isang linggong nagbenta ang mga fund, kumpanya, at foreign holder ng anumang liquid, kabilang ang Treasuries, upang makalikom ng dollars. Samantala, nagsara ang 3-month bill sa 0.02% nang araw na iyon, at ang cash equivalent ay nanatiling halos zero. Kapag sabay na bumabagsak ang pinakaligtas at pinakamapanganib na asset, liquidity mismo ang binibili ng merkado. Ang yield curve ay permanenteng nagtatala ng episode na ito sa kasaysayan nito.

Ano ang ipinapakita ng options tape

Ang listed options ng SPY, ang pangunahing venue ng merkado para sa hedging, ay nagtala rin ng sarili nitong bakas ng panic. Kapansin-pansin ang timing nito.

QuerySPY options: puts kumpara sa calls na na-trade, March 2–13, 2020 (millions of contracts)
sessionPut contracts (M)Call contracts (M)Put-call ratio
2020-03-023.742.541.47
2020-03-033.142.241.4
2020-03-043.062.271.35
2020-03-053.141.821.73
2020-03-064.642.381.95
2020-03-094.352.381.83
2020-03-103.612.41.5
2020-03-113.752.441.54
2020-03-124.533.431.32
2020-03-134.633.271.41
Ang eksaktong SQL sa likod ng bawat numero
SELECT
    toString(toDate(toTimeZone(sip_timestamp, 'America/New_York'))) AS session,
    round(sumIf(toFloat64(size), substring(ticker, 12, 1) = 'P') / 1e6, 2) AS put_contracts_m,
    round(sumIf(toFloat64(size), substring(ticker, 12, 1) = 'C') / 1e6, 2) AS call_contracts_m,
    round(sumIf(toFloat64(size), substring(ticker, 12, 1) = 'P') / sumIf(toFloat64(size), substring(ticker, 12, 1) = 'C'), 2) AS put_call_ratio
FROM global_markets.options_trades
WHERE ticker >= 'O:SPY2' AND ticker < 'O:SPY3'
  AND sip_timestamp >= toDateTime('2020-03-02 00:00:00') AND sip_timestamp < toDateTime('2020-03-14 00:00:00')
GROUP BY session
ORDER BY session
Subukan mo mismo

Umabot sa 1.95 ang put/call volume ratio—halos two puts para sa bawat call—noong Biyernes, March 6, bago ang session na may trading halt. Noong March 9 mismo, 4.35 million puts ang na-trade kumpara sa 2.38 million calls, na may ratio na 1.83. Pagsapit ng March 12, isang -9.6% session, bumaba ang ratio sa 1.32 habang tumaas ang call volume kasabay ng put volume. Pinakamalakas ang skew pabor sa puts sa simula ng cascade, hindi sa pinakailalim nito: maagang bumili ng protection ang mga market participant, at ang mga sumunod na araw na may mas malalaking pagbaba ay nagkaroon ng mas balanced na options tape.

Paano talaga gumagana ang market-wide halt

Ang mechanics nito ay bihirang gamitin kaya madalas nakalilimutan sa pagitan ng mga paggamit. Nakabatay ang market-wide breakers sa pagbaba ng S&P 500 mula sa nakaraang close. Ang pagbaba ng 7% (Level 1) at 13% (Level 2) ay kapwa nagti-trigger ng 15-minute halt kung maabot bago mag-3:25 pm ET. Kapag umabot sa 20% (Level 3), tuluyang nagtatapos ang session. Habang may halt, walang trade sa alinmang exchange. Naka-queue ang mga order para sa reopening auction, na pinagsasama ang naipong buying at selling interest sa iisang presyo, gaya ng opening auction tuwing umaga. Itinatag ang disenyong ito matapos ang flash crash noong 2010, na nagpakitang masyadong maluwag ang mga naunang threshold para mag-trigger kahit sa isang totoong cascading sell-off.

Ang March 2020 ang unang live test ng disenyong ito, at sa ngayon ay ito pa rin ang nag-iisang pagsubok nito. Makikita ang resulta sa mga panel sa itaas: apat na Level-1 halt, na bawat isa ay sinundan ng maayos na reopening; walang Level 2 o Level 3 na naabot; at nanatiling gumagana ang merkado sa lahat ng 23 session ng pinakamabilis na malaking drawdown sa kasaysayan ng index. Nanatiling ipinatutupad ang mga rule pagkatapos nito. Ang parehong 7/13/20 threshold, na nakabatay sa S&P 500, ay nananatiling epektibo hanggang ngayon. Bumigay nang kaunti ang system, ngunit nanatiling matatag ang market plumbing.

FAQ tungkol sa COVID crash

Ano ang nag-trigger sa circuit breaker noong March 9, 2020?

Bumagsak ang S&P 500 nang 7% mula sa nakaraang closing nito, na siyang Level-1 market-wide threshold, sa mga unang minuto ng trading. Pansamantalang itinigil ang trading sa buong merkado nang 15 minuto, at pagkatapos ay muling binuksan sa pamamagitan ng auction. Makikita ang halt sa minute tape ng pahinang ito bilang 14 magkakasunod na nawawalang bar na nagsisimula sa 09:35 ET.

Gaano kalaki ang ibinagsak ng stock market sa COVID crash?

Batay sa daily closes ng SPY, -34.2%, mula $338.31 noong February 19, 2020 hanggang $222.51 noong March 23, 2020, sa loob ng 23 trading sessions.

Ilang circuit breaker ang na-trigger noong March 2020?

Apat na market-wide Level-1 halt: noong March 9, 12, 16, at 18. Ito ang mga unang ganitong halt mula noong October 1997.

Na-trigger ba ang Level 2 o Level 3 circuit breaker noong 2020?

Hindi. Level 1 (7%) ang lahat ng apat na halt noong 2020. Wala pang market-wide Level-2 (13%) o Level-3 (20%) halt na na-trigger sa ilalim ng kasalukuyang disenyo, kahit noong March 16, ang pinakamasamang session ng crash na may -11.6%.

Ganap bang nakabawi ang merkado mula sa COVID crash?

Oo. Nagsara ang SPY nang mas mataas sa peak nito noong February 19, 2020 noong 2020-08-18, 103 trading sessions matapos ang low noong March 23. Isa ito sa pinakamabilis na ganap na pagbangon mula sa isang bear market na ganito kalalim.


Ang bawat panel sa itaas ay isang naka-store at may bersyon na query mula sa historical tape. I-expand ang SQL upang makita ang bawat measurement. Gusto mo bang maranasan ang galaw ng araw na ito sa halip na basahin lamang ito? Isa ito sa mga playable scenario sa trading simulator ng Strasmore Labs.

#market history#covid crash#circuit breakers#spy