投資教室⚠️ 風險Q-Q Plot 與 Jarque-Bera — 你的報酬是常態嗎?
⚠️ 風險7 分鐘閱讀

Q-Q Plot 與 Jarque-Bera — 你的報酬是常態嗎?

股票報酬常常偏離常態:厚尾 + 左偏。用 Q-Q Plot 與 Jarque-Bera 檢定實證驗證,理解為何本站 VaR/CVaR 採歷史模擬法。

Q-Q Plot 與 Jarque-Bera — 你的報酬是常態嗎?

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

1. 概念

很多財務教科書、風險模型、投資組合理論都預設報酬是常態分布

  • Markowitz 效率前緣(常態 → 平均數 + 變異數足以描述)
  • Black-Scholes 選擇權定價(常態)
  • 參數法 VaR(mean − 1.645σ)
  • 傳統 Sharpe Ratio(假設報酬對稱)

但實證顯示:股票報酬根本不是常態。它們有兩個明顯特徵:

  1. 厚尾(Fat Tails):極端事件(±3σ 以上)比常態預期多很多
  2. 偏態(Skewness):左偏居多(下跌比上漲更激烈)

實證檢驗這件事,有兩種互補工具:

工具本質回答
Q-Q Plot視覺化「點偏離 45° 線多遠?」
Jarque-Bera統計檢定「拒絕常態假設的 p 值?」

2. 本站怎麼算

2.1 Q-Q Plot

1. 樣本標準化:(r − mean) / σ(ddof=1)
2. 排序
3. 對第 i 個樣本(i = 0 .. n−1),取繪圖位置 p = (i + 0.5) / n
4. 理論分位數 = Φ⁻¹(p)(標準庫 statistics.NormalDist)
5. 繪製 (theoretical, sample) 散點,疊上 y = x 45° 參考線

讀法

  • 點完全落在 45° 綠線上 → 完全常態
  • 尾部點偏離線(特別是 ±2σ 以上)→ 厚尾
  • 左上或右下偏離不對稱 → 偏態
  • 本站標紅:|樣本分位數 − 理論分位數| > 0.8 的點

為讓圖形清爽,樣本 > 60 時線性等距下採樣到 60 點。

2.2 Jarque-Bera 檢定

JB = n/6 × (skewness² + (excess_kurtosis)² / 4)

H₀: 樣本符合常態分布
H₁: 樣本非常態

JB 在 H₀ 下漸近服從 χ²(df=2)

為什麼 df=2?因為檢定兩個獨立的偏離指標:skewness、excess kurtosis。

p-value 的計算:對 df=2 的卡方分布有封閉解

p-value = exp(−JB / 2)

我們不依賴 scipy,用這個公式直接算。

判讀閾值

  • α = 0.05(JB 臨界值 = 5.991)
  • p ≥ 0.10 → fail_to_reject(可視為常態)
  • 0.05 ≤ p < 0.10 → marginal
  • 0.001 ≤ p < 0.05 → reject
  • p < 0.001 → strong_reject

2.3 資料源與窗口

  • 使用過去 252 個交易日的 simple daily returns
  • 樣本 < 60 日 → 標示 available: false(不穩定)

2.4 使用 Fisher excess kurtosis(常態 = 0)

v2.42 全站修正一致:不用 raw kurtosis(常態=3)。這樣 excess_kurt > 0 就直觀代表「比常態更厚尾」。


3. 怎麼看數字

3.1 Q-Q Plot 讀法(實戰最重要)

樣本點分布        意涵
─────────────────────────────────────
全落在 45° 線上   完全常態(罕見)
中段貼合、兩端上翹 厚尾(股票最常見)
中段貼合、左端下甩 左偏(下跌尾部特別肥)
全面偏離         嚴重非常態(例:槓桿 ETF)

本站紅點:標出 |theoretical − sample| > 0.8 的點,通常是尾部。紅點越多 + 越遠,厚尾/偏態越嚴重

3.2 skewness 與 excess kurtosis 實務水準

指標範圍意涵
Skewness−0.5 ~ +0.5近乎對稱
< −1明顯左偏(下跌尾嚴重)
> +1明顯右偏(上漲尾大,少見)
Excess Kurtosis< 1接近常態
1 ~ 5一般股票典型
> 5嚴重厚尾(小型股、週期股崩盤史)

3.3 對決策的實務影響

若樣本拒絕常態(多數情況)

  1. 參數法 VaR 低估風險 → 要用歷史模擬(本站做法)
  2. Sharpe Ratio 無法完全描述風險 → 搭配 Sortino 與 CVaR
  3. 投組相關性在極端時會增加 → P0.2 的相關性矩陣在平時看不出來

若樣本接近常態(少見)

  • 可以相信 Sharpe + 參數法 VaR
  • 多為流動性好的大型股、配息穩定的金融類股

4. 注意事項

⚠️ 大樣本 JB 過度敏感

當 n > 1000 時,即使樣本非常接近常態,JB 也幾乎都會拒絕。這是統計檢定的通病(大樣本下任何微小偏離都會顯著)。

對策

  • skewness 與 excess kurtosis 的絕對值,不要只看 p-value
  • 若 skew 在 ±0.5 內、excess kurt < 1,雖然 p 可能 < 0.05,實務上仍可視為近似常態

本站已揭露 skew 與 excess kurt 於卡片上,協助你做這個判斷。

⚠️ JB 屬於漸近檢定

JB 的卡方近似在 n 很小時不準(例如 n < 50)。本站 MIN_SAMPLE_DAYS = 60,確保大樣本近似成立。

⚠️ Q-Q Plot 的主觀性

讀 Q-Q 有一定主觀成分:

  • 「尾部偏離多少算嚴重?」沒有標準答案
  • 本站用 |Δ| > 0.8 作為紅點閾值,只是視覺輔助,不是正式檢定標準

Q-Q 最強的是兩個樣本比較(例如「台積電 vs 鴻海」哪個偏離更多),而非絕對判斷。

⚠️ 不適用於極端樣本

  • 單一方向波動(只漲不跌):Q-Q 尾部圖形會扭曲
  • 重大結構斷點(併購、改業務):樣本混合前後兩個分布

這時 JB 的拒絕不代表「未來也非常態」,而是「這段歷史不是同質」。

⚠️ 常態假設不是「錯」,只是「限制」

常態模型是 Markowitz / Sharpe / Black-Scholes 的基石。偏離常態不代表這些理論無用,只是要知道其限制:

  • 極端事件時失真
  • 對「風險」的測量保守度不足
  • 投組最佳化可能在尾部事件崩潰

理解這點比「拒絕一切常態模型」更重要。


延伸閱讀

  • 〈VaR vs CVaR — 真的踩到最差 5% 會虧多少〉
  • 〈Sortino 與下行標準差〉
  • 〈Sharpe Ratio:衡量你的投資效率〉

動手試試看

  • 打開 個股分析 → 風險,捲到「報酬常態性診斷」
  • 觀察 Q-Q Plot 的尾部偏離與紅點數量
  • 對照 skewness / excess kurtosis 的實際數值
  • 比較不同類型股票:大型權值 vs 小型投機,兩者 JB 差距通常很大
  • 點 📐 查看公式、閾值、資料來源

學完了?自己動手試試看

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

查看台積電的報酬分布診斷