投資教室⚠️ 風險歷史極端事件與聚集性 — 黑天鵝常伴隨餘震
⚠️ 風險6 分鐘閱讀

歷史極端事件與聚集性 — 黑天鵝常伴隨餘震

列出歷史最差 10 筆單日事件,附當日大盤 + 超額報酬、聚集性分析。超額大負值 = 個股特有風險;聚集 = 波動度叢聚現象。

歷史極端事件與聚集性 — 黑天鵝常伴隨餘震

本文採用本站四段式教學結構:概念 / 本站怎麼算 / 怎麼看數字 / 注意事項。

1. 概念

VaR / CVaR 告訴你統計意義上的尾部,但使用者最常問:「到底哪幾天最慘?那幾天是為什麼?

這就是「歷史極端事件標註」的目的 —— 把過去 252 日最差的 10 筆單日具體列出來,搭配:

  1. 當日大盤報酬 — 是系統性崩盤還是個股特有事件?
  2. 超額報酬 = 個股報酬 − 大盤報酬 — 量化「多跌多少」
  3. 聚集性分析 — 這些事件是均勻分布還是集中爆發?

為什麼要看聚集性?

金融理論常假設「報酬獨立同分布(i.i.d.)」—— 今天跌和明天跌無關

現實不是。股票市場有一個根深柢固的現象:

波動度叢聚(Volatility Clustering):大波動後通常還有大波動。

  • 2020/3 COVID 崩盤:月內連續 5 次 −5% 以上
  • 2022/10 升息恐慌:兩週內 3 次暴跌
  • 2008/9 雷曼事件:整個 9–10 月震盪不停

這不是巧合,而是統計事實。本指標就是量化這種聚集性


2. 本站怎麼算

2.1 事件選取策略

1. 取過去 252 日 simple daily returns
2. 計算 1% 分位值作為「極端」門檻
3. 若該門檻內事件數 < 10,改取最差 10 筆(保證樣本數)
4. 依日期升冪排列

預設展示 10 筆事件

2.2 當日大盤報酬

_calc_risk_series 的 df 中直接取對應日的大盤報酬(market_ret):

  • 台股個股 → ^TWII 加權指數
  • 美股個股 → ^GSPC S&P 500

2.3 超額報酬

excess_return = stock_return − benchmark_return

解讀

  • 超額 < −2% → 大盤沒這麼糟但個股跌更兇 → 個股特有風險(財報雷、客戶流失、爆炸等)
  • 超額 ≈ 0% → 系統性事件(大盤一起跌)
  • 超額 > 0% → 相對強勢(例:大盤 −3% 但個股 −1%)

2.4 聚集性分析

mean_gap_days = 平均相鄰事件的間隔天數
min_gap_days  = 最短間隔
max_gap_days  = 最長間隔
hottest_cluster = 任何 30 日滾動窗口內事件數最多的區間

獨立同分布下的理論預期:10 筆事件均勻分布在 252 個交易日 ≈ 平均 25 日一次。 若實際平均間隔 < 15 日 → 明顯聚集。


3. 怎麼看數字

3.1 事件列表解讀

日期          個股 %    大盤 %    超額 %
2024-03-11   -6.20%   -1.10%   -5.10%   ← 個股特有事件(超額大幅負)
2024-03-13   -4.80%   -0.40%   -4.40%   ← 同上
2024-03-18   -3.90%   -0.20%   -3.70%   ← 同一叢聚內
2024-10-09   -5.50%   -4.80%   -0.70%   ← 系統性事件(大盤同跌)

實戰推導

  • 3/11、3/13、3/18 超額都 < −3% → 個股連續自爆,很可能是產業壞消息(例:大客戶砍單、晶片庫存修正)
  • 10/9 超額 −0.7% → 大盤同慘,不是個股問題

這種判讀比單看「跌 −5%」有用多了。

3.2 聚集性讀法

平均間隔判讀
> 50 日🟢 事件稀疏,與獨立分布相近
20–50 日🟡 一般股票典型
< 20 日🔴 顯著聚集,波動度叢聚嚴重

最熱叢聚 — 頂部醒目地標示 30 日內事件數最多的區間。若該區間有 4 筆以上事件:這是「結構性崩盤期」,不只是個別黑天鵝。

3.3 搭配其他指標使用

  • 與 VaR / CVaR 互補:VaR 給你「統計意義上最差 5%」,極端事件給你「具體那些日子」
  • 與 Jarque-Bera 互補:JB 告訴你「分布厚尾有多嚴重」,極端事件給你「尾部實際發生時的樣貌」
  • 與 Max DD 互補:MDD 看最深一次;極端事件看「所有大跌」的分布

4. 注意事項

⚠️ 事件選取的動態門檻

本站採「1% 分位 vs 最差 10 筆」取較嚴的那個。這有兩個影響:

  • 靜默期的樣本(如 2021 慢牛年):1% 分位可能還是 −1.5%,這時會看到「最差 10 筆」其實沒那麼極端
  • 崩盤期的樣本(如 2020/3 月起的 252 日):1% 分位會很負,事件更「真實」

UI 揭露:頂部顯示 臨界 X%,讓使用者知道當前樣本的「極端」門檻到哪。

⚠️ 日頻資料掩蓋盤中極端

本站用日收盤報酬。若某日盤中 −8% 後拉回收 −1%,只會被記為 −1%,不會進入極端事件。

補救:搭配 P1C.1 CVaR(已包含這類「邊緣」日子)+ 看新聞。

⚠️ 超額報酬的 Beta 修正

本站超額 = 個股 − 大盤直接相減,沒做 Beta 修正。

  • Beta=1.5 的股票,大盤跌 3% 應「正常」跌 4.5%
  • 純看超額會誤判為「個股特有」

學術做法:用 CAPM 殘差(個股 − Beta × 大盤)。但本站為簡明直覺選擇直接相減。

進階使用者:Beta 資訊在同一頁面上方的風險卡片,可自行心算修正。

⚠️ 聚集性不是完整的時序診斷

「30 日內 4 筆事件」有聚集,但:

  • 沒告訴你為什麼聚集(需看新聞、業務變化)
  • 沒預測下一次聚集何時(GARCH 模型才能做這件事,Phase 4 規劃)
  • 最熱叢聚找到的只是歷史已發生的,非未來

⚠️ 新聞連結尚未整合

原本 plan_v2.md 設計「每筆附當日新聞」;本版先完成核心數據,新聞關聯留到 Phase 2(需整合 news_d_tw_h 表 + 盤中重大訊息抓取邏輯)。

⚠️ 窗口固定 252 日

過去 5 年的極端事件在本窗口外會被遺忘。若想看 2020/3 COVID 對某檔股票的衝擊:

  • 2022/3 以後的 252 日窗口就已排除 COVID 那段
  • 需另做長期壓力測試(P2.3 規劃)

延伸閱讀

  • 〈VaR vs CVaR — 真的踩到最差 5% 會虧多少〉
  • 〈Q-Q Plot 與 Jarque-Bera — 你的報酬是常態嗎?〉
  • 〈最大回撤、Ulcer、Calmar〉
  • 〈GARCH 波動度模型〉(Phase 4 規劃)

動手試試看

  • 打開 個股分析 → 風險,捲到「歷史極端事件」
  • 看事件列表、觀察超額報酬欄位(有紅色就是個股特有跌勢)
  • 比對頂部「最熱叢聚」— 該時段是否對應你記憶中的市場大事件
  • 切換不同股票:穩健股 vs 投機股的聚集性差距通常巨大
  • 點 📐 查看事件選取策略、聚集性公式

學完了?自己動手試試看

用 CTSstock 的工具實際操作一次,加深理解

查看台積電的歷史極端事件