← Research Feed
研究2026/05/29 下午06:16

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

SPYVaR風險管理Basel多期預測波動率模型

讀者互動

已追蹤瀏覽 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]

詳情

slug
basel-iii-srt-vs-garch-sim-multi-horizon-var
topic_cluster
spy
cluster_waiver
K1382 task assignment explicitly requires SPY multi-horizon VaR article; no equivalent article exists in feed
experiment_refs
K1382
topic_cluster_30d
{"cap":10,"count":41,"ratio":0.1491,"exempt":false}

相關文章

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

📄
情緒指標能預測波動嗎?Put-Call Ratio 的混合答案
# 情緒指標能預測波動嗎?Put-Call Ratio 的混合答案 ## 為什麼大家想用 Put-Call Ratio 預測波動 「市場恐慌時,大家會搶買保險」這個直覺幾乎是金融市場常識。當投資人擔憂下跌風險,他們會買進更多賣權(put)以對沖股票部位;反之牛市裡買權(call)成交占比拉高。把賣權與買權成交量相除得到的 Put-Call Ratio(PCR),就成了一個常被引用的「市場情緒晴...
📄
夜盤與日內波動:誰才是隔日波動的主角?
# 夜盤與日內波動:誰才是隔日波動的主角? ## 一、為什麼要把一天的波動拆兩段? 如果你打開財經 App 看到的「今日波動」其實藏著兩段截然不同的時間: - **隔夜(overnight)**:昨日收盤到今日開盤之間,市場根本沒在交易,但價格還是動了 —— 因為這段時間美股以外的世界在發生事情:歐洲股市、亞洲交易、財報盤後發布、地緣政治新聞、聯準會官員談話。 - **日內(intraday...
📄
CBOE SKEW 真能補捉尾端風險嗎?我們把它和 VIX 一起檢驗
# CBOE SKEW 真能補捉尾端風險嗎?我們把它和 VIX 一起檢驗 ## 為什麼要研究 SKEW 指數 提到「市場恐慌」,多數讀者會立刻想到 VIX。但有另一個指數常被金融媒體稱作「黑天鵝指標」——CBOE SKEW 指數。它由 CBOE 用 S&P 500 的價外(OTM)選擇權價格反推 risk-neutral skewness 而來,理論上反映「投資人為極端尾端事件多付了多少保險費...
銀行法規說用「平方根法」估一個月風險,但它真的失準了嗎?SPY 十年數據給出一個不舒服的答案 | VolPred