Strasmore Research
深度解析 Matt Connor作者: Matt Connor · 更新於 2026-07-25

2020年3月24日市場轉折點

逐分鐘重現2020年3月24日:崩跌與搶現金潮、聯準會不同以往的方案、類股廣度,以及從未發生的回測。

2020年3月23日,聯準會宣布無上限資產購買計畫——未設定規模上限的量化寬鬆——並首次推出購買公司債的融通機制。市場在2020年3月24日給出答案:新冠紓困行情,創下美國股市有紀錄以來最大單日漲幅之一,事後回顧,這一天也是新一輪多頭市場的第二天。真正的底部,其實在聯準會發布聲明的前一個下午就已收盤確立。

轉折前的崩跌

崩跌本身有獨立頁面;這裡是該頁面所依據的逐日紀錄——從歷史高點到底部的每一段交易,並附上10年期公債殖利率(基點):

查詢SPY日收盤、回撤與10年期殖利率 — 2020年2月19日至3月23日
每個數據背後的精確 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_date

2020-02-19 的歷史收盤高點 $338.31 起,SPY 至 2020-03-23 已跌至 $222.51——跌幅達 -34.2%,跌勢中的每一段交易都落在面板的 24 列內。

殖利率這一欄是關鍵線索。在 2020-03-09 期間,10年期殖利率從 156 個基點暴跌至當時的紀錄低點 54——典型的資金湧向安全資產,資金從股市撤出轉入債市。隨後這個模式瓦解:到了 2020-03-18,殖利率已翻倍不止,來到 118 個基點,而 SPY 的跌幅卻從 -18.9% 加深至 -28.8%。股票與公債同時下跌,這是強制拋售的特徵——持有者為了籌措現金,賣出任何還有人出價的資產。到了3月中旬,這場危機的核心已是信用體系本身的運作機制,而非股票價格。

聯準會實際宣布了什麼——以及哪些措施未能奏效

降息早已試過。按時間順序排列,每項措施皆可於上方面板查閱:

  • 2020-03-03 — 緊急降息兩碼,為2008年以來首次在會議間降息。SPY收於$300.34,自高點回落-11.2%,跌勢持續。
  • 3月15日,週日 — 利率降至零,外加7,000億美元資產購買計畫。下一個交易日,2020-03-16,收於2月高點下方-29.2%——為整波崩跌中表現最差的單日之一。
  • 3月23日,美東時間上午8點 — 聯準會取消上限:美國公債與房貸抵押證券的購買將「依所需金額」持續進行,不設上限。同時附帶推出初級市場公司信貸機制與次級市場公司信貸機制——聯準會史上首次購買公司債的工具——以及重啟用於支持消費者信貸的定期資產擔保證券貸款機制。SPY當日下午仍收於空頭低點。
  • 3月24日 — 即下文所述之交易時段。前一夜,國會就規模約2兆美元的《冠狀病毒援助、救濟與經濟安全法案》達成共識;該法案於3月27日簽署,落在下文記載的三日反彈區間內。

3月23日的方案與先前嘗試有兩項設計差異。固定規模的計畫有其終止日期,壓力市場能夠看穿這個期限;「依所需金額」則無此問題。而公司信貸機制則將公共買家直接置入已凍結的信用市場管道之中。這些差異是否為關鍵因素,屬於主觀判斷;市場記錄顯示了這個順序——兩次升級、持續下跌、第三次設計變更,隨後出現轉折。

一日行情,一列呈現

查詢SPY於2020年3月24日 — 轉折,逐筆記錄
每個數據背後的精確 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')

自3月23日收盤價$222.51——該熊市最終收盤價——起,SPY跳空開高+5.4%,以$234.42開盤,在開盤後幾分鐘內(美東時間09:31)觸及盤中低點$233.8,此後便再也未回到該價位:收盤報$243.59,當日上漲+9.5%。一輪在首分鐘即印出低點的反彈,正是收於最低點的崩盤之鏡像。然而,一列數據便足以抹平路徑——下方半小時走勢圖顯示了該交易時段必須消化的回檔。

盤勢輪廓

查詢SPY半小時走勢 — 2020年3月24日常規交易時段
每個數據背後的精確 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_time

這張圖表很誠實:路徑確實轉折了。233.8 美元的低點在開盤第一分鐘就出現,且之後再也沒有回測——單邊走勢的這部分是真實的。但在中午時段觸及 242.24 美元後,盤勢回吐了兩個小時——13:30 時段收在 237.25 美元,14:00 時段打出午後最深低點 235.05 美元——這段走勢原本可能讓今天變成又一次失敗的反彈。然而,這波回吐穩穩守在開盤低點之上,最後半小時更交出全日最高時段收盤價 243.59 美元,成交量 34.7 萬股——是這 232.4 萬股交易日中最重的時段,甚至超越開盤的 27.3 萬股。盤中回檔找到買盤,接著在峰值成交量下收於高點。

廣泛反彈,還是集中拉抬?

指數可以被少數幾檔巨型股拉高。這次並非如此。十二檔基金——三檔主要指數追蹤基金加上九檔標普類股基金——在相同的兩個收盤日表現:

查詢2020年3月24日各指數與產業ETF — 全面上漲,週期股領先
每個數據背後的精確 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 DESC

所有 12 均收高。能源(XLE)以 +16.4% 領漲,工業(XLI,+12.8%)與金融(XLF,+12.7%)緊追在後——這些是市場對經濟最敏感的角落,也是政府停擺最先威脅的領域。道瓊追蹤基金 DIA 上漲 11.3%——這是該週「1933年以來最佳單日表現」頭條背後的漲幅,這項最高級紀錄歸因於道瓊更長的價格歷史。最小漲幅落在典型的防禦性類股,必需消費品(XLP,+5.1%)與醫療保健(XLV,+7.4%),而那斯達克100的 QQQ(+7.7%)落後於 SPY 的 +9.5%。由週期性類股領漲、全面收紅的盤勢,與少數巨型股集中拉抬的格局恰恰相反——廣度是當日走勢的特徵。

這波漲勢到底有多歷史性?

「1933 年以來最大單日漲幅」是當週報紙上的道瓊統計數字。以下是我們自己的數據所能驗證的範圍,限定在它實際涵蓋的內容:

查詢2020年3月24日與SPY每分鐘逐筆紀錄的歷年排名
每個數據背後的精確 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_shares

2003-09-10 —— 我們分鐘數據的第一個交易時段 —— 以來,SPY 共記錄了 5613 筆收盤對收盤的每日報酬。2020 年 3 月 24 日的 +9.5% 排名為 3:正好有 2 個交易時段擊敗它(2008-10-13, 2008-10-28),全都落在 2008 年 10 月恐慌期間。連續三天的走勢更為罕見:從 3 月 23 日收盤到 3 月 26 日收盤的 +17.5% 漲幅,在整個樣本中只有 0 次的三日漲幅比它更大。在這個資料庫能查驗的所有範圍內,沒有什麼能與這波爆發相匹配。

成交量則訴說著較為平靜的故事:232 百萬股 SPY 成交量,是過去一年日均量的 2.86 倍 —— 卻僅是前 30 個交易日日均量的 1.12 倍。相對於任何一段正常的歷史時期,這樣的交易活動都堪稱異常;但相對於它之前那幾週的崩跌,這不過是風暴中的又一個交易日。歷史性的轉折,並不會用歷史性的成交量來宣告自己的到來。

三日急彈

查詢SPY收盤價,2020年3月23日至26日 — 三日噴發
每個數據背後的精確 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_date

反轉立刻加劇:24日上漲9.5%,25日上漲1.3%,26日上漲5.9%——連續三個交易日,就抹去了數週的崩跌,在上述樣本中找不到更大的三日漲幅。2020年3月的走勢刻意呼應2009年3月:兩次都是決定性的政策回應在低點附近出現,第一波反彈猛烈,而機會最大的那一天,當天早上看起來與又一次熊市反彈無異。

反彈有守住嗎?

當時市場的共識解讀是「熊市反彈」,而質疑者手上也有自己的證據:十一個交易日之前,盤面才剛出現過一波規模幾乎相同的漲勢——從2020-03-12的$248.1漲到2020-03-13的$270.93——結果隔天就收在$239.41,創下整波崩盤最慘的一天。一根紅K什麼都證明不了。讓3月24日與眾不同的是後續走勢:

查詢守住了嗎?未曾到來的再測試,與兩段復甦時鐘
每個數據背後的精確 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_date

回測始終沒有出現。3月23日之後,SPY的最低收盤價是$243.59——落在2020-03-24,也就是紓困案帶動反彈的那一天。此後市場收盤價再也沒有回到距底部9.5%以內的位置。疫情前高點$338.312020-08-18收復——距低點103個交易日,從歷史高點回到歷史高點,一趟來回花了181天。用同樣方式計算的2008年對照組:SPY的2007-10-09高點,直到2013-03-14才見到新的收盤高點,相隔1983天。兩次危機,兩種速度,一個已經改變自身代謝節奏的市場。

這一天教會我們的事

三張值得內化的收據。第一,跳空缺口完成了大部分工作:當日漲幅有很大一部分在開盤前就已存在——任何等待正規交易時段才進場的人,整天都在追高——隔夜跳空缺口的機制以最大振幅展現。第二,底部出現在確認之前:3月23日的收盤價就是低點,唯有在像今天這樣拒絕再次回測該低點的交易日之後,才能看出這一點。第三,速度是雙向的:同樣的市場結構,既將-34.2%的跌幅壓縮進上方24的欄位中,也將初步反彈壓縮進三個交易日之內。速度是這個時代市場管線的特性,與好消息或壞消息無關。

那一週的懷疑論者並非傻瓜:廣度、爆發力、從未出現的回測——每一張將3月24日與失敗反彈區分開來的收據,都只能在事後回顧時衡量。熊市反彈與新牛市的差別,在第一天是看不見的,但在幾個月內就會變得毫無疑問。

新冠反彈常見問答

2020年3月24日發生了什麼事?

聯準會宣布無限量化寬鬆後的第一個完整交易日:SPY 開盤跳空上漲 +5.4%,收盤上漲 +9.5% — 在我們分鐘數據涵蓋的 5613 個交易日中,這是第 3 大單日漲幅,僅次於2008年10月的兩個交易日。

聯準會在2020年3月23日宣布了什麼?

無限量購買國債與房貸抵押證券——「以所需數量」——同時推出初級市場與次級市場公司信貸機制,這是聯準會首次設立購買公司債的工具,並重啟用於消費者信貸的定期資產擔保證券貸款機制。聲明在美東時間上午8點、開盤前發布;SPY 當天仍收在熊市低點。

2020年3月23日是新冠崩盤的最低點嗎?

是的,就收盤價而言:SPY 的低收盤價 $222.51 出現在3月23日,聯準會宣布後數小時。此後從未再觸及——之後的最低收盤價出現在 2020-03-24,比底部高出 9.5%。

股市何時收復新冠前的高點?

SPY 首次收盤突破2020年2月19日的歷史收盤高點是在 2020-08-18,即觸底後 103 個交易日——一趟 181 天的往返,相較之下,2008年崩盤的同等旅程用了 1983 天。

在新聞發布後買入,仍能獲得不錯的回報嗎?

常規交易開始前,開盤已跳空上漲 +5.4%,當天持續攀升——之後每個進場點的成本都高於前一個收盤價,且仍遠低於2020年8月復甦時的市場水準。

數據說明
  • 收盤價為常規交易時段(美東時間上午9:30至下午4:00)分鐘數據的最後一筆成交價;可能與官方拍賣收盤價相差幾分錢。
  • 復甦日期僅計價格;總回報指標(股息再投資)在計算上會更早收復。
  • 10年期公債殖利率採用財政部每日序列的交易日數據;基點為百分點的百分之一。
  • 排名面板的樣本始於 2003-09-10——本頁所稱「自2003年起」即指此時間範圍,而非所有記錄的市場歷史。

上方每個面板都是對歷史數據的已儲存、已版本化查詢——展開 SQL 即可查看各項衡量方式。想親身體驗這一天,而不只是閱讀嗎?這是 Strasmore Labs 交易模擬器中可遊玩的場景之一。

#market history#covid rally#bull markets#federal reserve#spy