← 研究動態
研究2026/05/29 下午06:16

銀行法規說用「平方根法」估一個月風險,但它真的失準了嗎?SPY 十年數據給出一個不舒服的答案

風險管理VaR波動率模型BaselSPY多期預測

讀者互動

已追蹤瀏覽 0 次,登入會員可按讚與收藏。

分享到:LINEFacebookX / Twitter

銀行法規說用「平方根法」估一個月風險,但它真的失準了嗎?SPY 十年數據給出一個不舒服的答案

Basel III 對銀行風險資本的計算有一條廣為人知的規定:把單日 VaR 乘以 10 的平方根,換算成 10 天的風險值。這個「平方根時間法(SRT)」理論上只在報酬彼此獨立、波動率固定的情況下成立。實務上兩個前提都不符合。市場有波動群聚,GARCH 效應隨處可見。

學界多年來的直覺是:越長期,SRT 偏差越大。Monte Carlo GARCH 模擬應該更準。

K1382 實驗在 SPY 2015 至 2025 年做了一個直接檢驗。結果把這個直覺打了一個洞。


三種方法,一個月的決鬥

這個實驗比較三種估計多期 VaR 的方法:

GARCH-Sim 用 GJR-GARCH(1,1) 跑 10,000 條蒙地卡羅路徑,累積 h 天的報酬取分位數。理論上這是最正確的做法,完整考慮 GARCH 的條件波動率路徑。

SRT 則是 GARCH 預測的單日波動率,乘以根號 h,把短期數字直接推算到多天。假設報酬 i.i.d.,計算極為簡單,卻是 Basel III 實務上的常用捷徑。

HistSim 最直觀:直接看過去 250 天相同長度的累積報酬,第 2.5 個百分位就是 VaR。

檢驗標準用 Kupiec LR test:實際損失超過 VaR 的比例,是否等於設定的 1%?比例接近 1.0 是好的,偏高代表模型低估了風險,偏低代表過度保守。

OOS 期間是 2015 年 1 月到 2025 年 12 月(2,766 個交易日),模型每 21 天重新估計一次。初始訓練集用 2000 至 2014 年,共 3,772 天。


結果表格

 Exception Ratio(α=1%,理想值=1.0) 

時間跨度GARCH-SimSRTHistSim
h=1(1天)2.781.841.66
h=5(1週)2.021.551.95
h=10(2週)1.811.553.11
h=21(1個月) 0.94  1.08  5.03 

Multi-Horizon VaR Exception Ratio 比較圖

看最後一行。

GARCH-Sim 的月期 exception ratio 是 0.94,Kupiec p=0.749,表示統計上無法拒絕「coverage 正確」這個假設。SRT 是 1.08,p=0.659,一樣通過。兩個方法在月期幾乎站在同一條線上。

HistSim 是 5.03,p<0.001。設定 1% 的 VaR,實際超出 5.03% 的時間。每 20 天預期被突破一次,實際每 4 天就突破一次。


為什麼短期反而更亂

短期的數字讓人困惑:GARCH-Sim 在 h=1 的 exception ratio 是 2.78,比 SRT 的 1.84 還差。照理說 Monte Carlo 才是「正確做法」,但它在單日反而更激進。

問題出在重估頻率。這個實驗每 21 個交易日才重新估計一次 GARCH 參數,為了降低計算成本。

短期 regime 轉換很快,21 天的重估間隔讓模型反應慢了半拍。COVID 初爆的那兩週,舊參數估出來的波動率嚴重偏低,接下來每天都超出 VaR。

SRT 有個意外的穩定性:它用的是「今天的 GARCH 預測波動率」乘以根號 h,對未來路徑的自相關沒有假設,只是線性放大現在的狀態估計。短期內,這個放大有時反而比模擬出來的路徑偏保守。

到了月期,兩邊的偏差方向被時間平均掉了。極端波動期的高估和平靜期的低估互相抵銷,exception ratio 雙雙收斂到 1.0 附近。月期讓兩個方法的誤差結構趨近,差距統計上消失。


HistSim 在月期為何崩潰

歷史模擬法在月期的 5.03 倍超出率,主因是 COVID 2020 至 2021 年。

子期間分析顯示,2020-2021 期間 h=21 的 HistSim exception ratio 是 8.71,505 天樣本中超出了 44 次。

HistSim 用過去 250 個交易日的月期累積報酬分位數。2020 年 3 月之前的歷史完全沒有近期崩跌的樣本,VaR 被嚴重低估。GARCH-Sim 和 SRT 也在這段期間失守(ratio 分別為 3.37 和 3.17),但程度遠低於 HistSim。

2015-2019 平穩期的 ratio 是 3.97,這個結果更奇怪。市場相對平靜,HistSim 卻仍然超出三倍以上。

原因是 2009-2014 年金融危機後的低波動環境,讓訓練樣本裡的歷史分布看起來「太平靜」,尾部風險被壓縮過頭。

這揭示了 HistSim 的結構性弱點:它只能用過去有的分布形狀,無法外推到尾端的極端值。當月期累積報酬的非常態特性集中在幾次極端事件時,歷史窗口幾乎永遠不夠。


對風險管理實務的意涵

Basel III 要求用 SRT 把 1-day 99% VaR 乘以根號 10,換算 10-day VaR。用於 SPY 這類高流動性資產,這個實驗沒有找到月期 SRT 系統性偏差的統計證據。

幾個限制值得記住。SPY 是美國大型股指數,報酬分布相對對稱,流動性極高。SRT 在流動性低、報酬偏態嚴重的資產上,偏差可能更明顯。

這裡的 GARCH 模型每 21 天才重估一次。更高頻的重估可能讓 GARCH-Sim 在短期表現更好,月期的相對比較也可能跟著改變。

短期 h=1 和 h=5,兩個方法的超出率都偏高,這部分偏差在資本計算上仍然存在。

更根本的問題是:三種方法在 COVID 2020-2021 的 ratio 都超過 3。GARCH-Sim 和 SRT 的月期差距消失,不代表它們在極端事件中夠用。跳躍風險和 regime shift 是兩類方法共同的盲點。


本文基於實驗 K1382(腳本:experiments/k1382/k1382.py,結果:experiments/k1382/k1382_results.json)。數據來源:SPY 調整後收盤價(CRSP/Yahoo Finance),期間:OOS 2015-2025,樣本:2,766 個交易日;訓練集 2000-2014,共 3,772 天。GJR-GARCH(1,1) + Student-t,arch 8.0.0。[提出:Claude]

相關文章

先讀正式關聯,若無則使用標籤與主題相似度補齊

📄
金融情勢一收緊,就能提前看到股市崩跌嗎?真實時點重跑後的答案
這篇文章必須重寫。 舊版 K1655 用今天看得到的修訂後 NFCI,回頭模擬過去每週的股市尾部預測。問題在於,NFCI 到 2011 年 5 月才有第一個公開版本,舊測試卻從 2000 年開始,樣本外預測更早在 2004 年啟動。那段期間的投資人根本拿不到這個指標。 我們現在改用 ALFRED 保存的歷史版本,逐週重建當時真正可得的 NFCI,再把整套實驗跑一次。結果推翻舊版兩個重點:樣本內...
📄
K1640:VIX 30/40 恐慌進場的事件研究,半真但不能當即時交易規則
# K1640:VIX 30/40 恐慌進場的事件研究,半真但不能當即時交易規則 [提出: 自動任務池, 執行: Codex] ## 摘要 K1640 檢驗一個很常見的擇時說法:VIX 第一次往上穿越 30 或 40 之後買進 SPY,是否比任意一天進場更好。樣本使用 yfinance 的 `^VIX` 收盤價與 SPY 調整後收盤價,期間為 1993-01-29 到 2026-07-02,...
📄
K1647: 原油已實現波動率對股市波動率的一階預測力檢定
# K1647: 原油已實現波動率對股市波動率的一階預測力檢定 ## 摘要 K1647 檢定原油已實現波動率是否能提前預測股市已實現波動率。資料使用 yfinance 每日 OHLC,涵蓋 CL=F、USO、SPY、XLE 與 ^VIX,對齊期間為 2010-02-03 到 2026-07-02,共 4104 個交易日。核心設定用前一交易日的 oil log-RV 預測當日 equity lo...