← 研究動態
研究2026/06/06 下午03:0723 次瀏覽

同一個公式,兩種用法,差距天壤之別:VaR 的「記憶長度」決定你的風險計算準不準

GARCHGLDQQQSPYVaR波動率風險管理Cornish-Fisher

讀者互動

23 次瀏覽,登入會員可按讚與收藏。

分享到:LINEFacebookX / Twitter

同一個公式,兩種用法,差距天壤之別:VaR 的「記憶長度」決定你的風險計算準不準

 [提出: 用戶, 執行: Claude] 

2020 年 3 月,SPY 在短短 23 個交易日裡跌了 34%。之後大多數模型做了什麼?繼續用 2015 到 2019 年的平靜市場資料,估算出一個「還算正常」的風險數字。結果接下來的違約次數超過預期兩倍以上,銀行監理的交通燈轉成紅色。

這不是模型的計算錯了,是模型的「記憶」太長。


風險模型有記憶問題

用 VaR(Value at Risk)量化投資組合的下行風險,核心問題只有一個: 你拿哪段歷史來估計明天可能的最大損失? 

最常見的兩種做法:

 Expanding window(滾動式擴充) :從資料第一天累積到今天,所有歷史都拿來用。用的資料越來越多,估計越來越穩定,但也越來越遲鈍。2020 年的暴跌,被 2010 年代那段超長多頭市場的平靜給「稀釋」掉了。

 Rolling window(固定長度滾動) :只看最近 252 個交易日(大約一年)。資料始終新鮮,市場換了 regime,模型跟著換。2020 年暴跌之後,一年內這段異常波動就變成計算的核心素材。

直覺上,「用更多資料」聽起來更穩。實際跑出來,是「用更新的資料」贏了。


跨三資產實測:6/6 全通過 vs 4/6

我們用 Cornish-Fisher 展開式(CF)計算 VaR,對 SPY(美股大盤)、QQQ(科技股 ETF)、GLD(黃金 ETF)各做 OOS(樣本外)測試,期間從 2019 年到 2026 年,共約 1,827 個交易日。

Cornish-Fisher 展開式的做法:不假設報酬呈常態分配,而是根據最近的偏度(左偏程度)和峰度(尾端厚度),動態調整分位數。公式本身不變,差別在於輸入這個公式的統計量,是用過去一年(rolling)還是全期(expanding)計算。

評分標準採 Trinity Test,必須同時通過三關:

  1.  Kupiec 檢定 :違約次數是否統計上符合設定比例(2.5% 或 1%)
  2.  Christoffersen 檢定 :違約是否散開,不能一堆連在一起(連串違約代表模型根本沒捕捉到尾端行為)
  3.  Basel 交通燈 :銀行監理基準,紅燈代表超標

結果如下:

方法Trinity 全通過SPY 2.5% 違約率QQQ 2.5% 違約率GLD 2.5% 違約率
常態分配(Normal) 0/6 3.72%4.11%3.45%
Student-t(df=8) 1/6 3.56%3.78%3.23%
 CF-Rolling(252天)  6/6  2.24%  2.63%  2.41% 
CF-Expanding(全期) 4/6 1.70% ❌2.08% ✓1.92% ✓

(預期違約率 = 2.5%;偏低一樣算失敗,代表 VaR 過度保守,偏高則低估風險)

數據來源:yfinance,OOS 期間 2019-01-01 至 2026-04-10,共約 1,827 個觀測值。實驗 K1034,GJR-GARCH(1,1) 條件變異數。


K1034 三資產 Trinity Test 熱力圖

圖一:六組測試(三資產 × 兩 alpha 水準)的通過情況。CF-Rolling 全綠,CF-Expanding 在 SPY 2.5% 失敗(過度保守),常態分配全紅。


CF-Expanding 輸在哪裡

CF-Rolling 6/6 全過,CF-Expanding 4/6,差距聽起來不大。但 CF-Expanding 輸掉的方式很有意思: 不是低估風險,是高估太多。 

SPY 在 2.5% 水準,CF-Expanding 的實際違約率只有 1.70%,理論值是 2.5%,它給的保護比需要的多 47%。Kupiec 檢定直接 FAIL:「你的 VaR 太高了,跟實際市場行為嚴重不符。」

原因就是記憶太長。2020 年 COVID 崩盤被記下來,加到全期的統計裡,往後幾年還在影響估計。即使市場 2021-2023 年已經恢復,擴充視窗模型仍然「記得害怕」,繼續給出偏保守的 VaR。這不算好事:過度保守的 VaR 讓風控部門誤以為風險比實際大,資本配置失真。

Rolling 視窗的邏輯是:市場有 regime,每個 regime 都有自己的偏度和峰度分布。用 252 天的偏度和峰度調整分位數,讓 VaR 跟著當下市場的尾端特性走,而不是被過去的大事件拖著。


K1034 各方法違約率比較

圖二:各方法、各資產、各 alpha 水準的實際違約率。橫線為目標值。CF-Rolling 最接近目標,常態分配和 Student-t 的實際違約率幾乎是目標的 1.5 倍。


常態分配壞在哪

資產偏度和峰度是這樣的:SPY 偏度 -0.80,超額峰度 3.25;QQQ 偏度 -0.73,超額峰度 2.82;GLD 偏度 -0.40,超額峰度 3.17。

換成大白話:三個資產的報酬分配都比常態分配的尾巴厚,而且左邊的尾巴比右邊長(左偏),大跌比大漲更常發生,跌幅也更深。

常態分配假設偏度為零、峰度為 3(超額峰度為 0),直接忽略這兩個特徵。結果在 2.5% 水準,SPY 的實際違約率是 3.72%,比設計值高 49%。Student-t 用 df=8 的固定厚尾調整,比常態好一點,但 df=8 寫死了,不管市場今年是平靜還是動盪,用的都是同一組假設,SPY 還是 3.56%,仍然超標。

CF-Rolling 的做法是每 63 天重新估計 GJR-GARCH,拿最新 252 天的標準化殘差算偏度和峰度,代入:

z_cf = z_α + (z_α²-1)/6 × S + (z_α³-3z_α)/24 × K_excess − (2z_α³-5z_α)/36 × S²

這個調整後的分位數隨市場變,正常年分偏度小、峰度低,VaR 不會算太高;高波動期偏度變大、峰度飆高,VaR 自動往外推。


CF 分位數 vs 常態/Student-t 比較

圖三:在不同偏度水準下,CF 分位數相比常態和 Student-t 的差異。偏度越大(越左偏),CF 給出越大的 VaR 調整量。


不用猜分配,但也不是萬能

CF 最大的優點是「半參數」,用的是 GJR-GARCH 算出的條件變異數,加上從殘差資料直接估計的偏度和峰度,不強迫套常態分配的假設。比純粹的常態 VaR 靈活,比需要假設 Pareto 尾端的 EVT(極值理論)簡單。

但 CF 的限制也真實存在。它是四階近似,當超額峰度超過 10 的時候,這個展開式可能失去單調性,計算出來的分位數會出現不合理的數字。極端市場崩潰的尾端,比四階展開式能捕捉的還要厚。

這次測試也只用 GJR-GARCH 做基底,期間包含 COVID 衝擊,但只是 2019-2026 的一個區間。Rolling 視窗固定 252 天,沒有做敏感度分析看窗口長度怎麼影響結果。


實務上怎麼用

對大多數散戶來說,直接操作 CF-VaR 不容易,但背後的邏輯轉化成投資決策是有意義的:

 靜態風險數字要懷疑。  很多線上工具給你一個固定的「最大損失」估計,背後用的是歷史全期常態假設。這次測試顯示,這類工具在 2.5% 水準的實際誤差接近 50%。

 波動率本身會跟著市場狀態變。  2023 年算出來的 VaR 不等於 2021 年的 VaR,更不等於 2020 年 3 月的 VaR。市場換 regime,風險估計要跟著更新。

 「用越多歷史資料越安全」這個直覺是錯的。  對 VaR 來說,資料新鮮度比資料量更重要。過長的記憶讓模型跟不上 regime 轉換,給出失真的保護。

對機構風控和量化投資人,CF-Rolling + GJR-GARCH 的組合在這次三資產測試裡達到 6/6 完美通過,是目前系統內在不引入外部信號(如 VIX、市場情緒指標)條件下最乾淨的 VaR 解法。若要進一步改良,可以測試 CF 與 A4f 模型的組合(A4f 透過乘法項引入 VIX 等外部因子,K995 已達 12/12 Trinity)。


本文基於實驗 K1034(腳本:experiments/K1034/k1034.py,結果:experiments/K1034/k1034_results.json)。資料來源:yfinance,期間 2005-01-01 至 2026-04-10,OOS 期間 2019-01-01 起共 1,827 個交易日。相關實驗:K995(A4f-t Trinity 12/12)、K1026(Conformal VaR)、K159(EVT-GPD)。

相關文章

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

📄
恐慌指數該多久看一次?一週一次,而且只在兩種時候看
# 恐慌指數該多久看一次?一週一次,而且只在兩種時候看 很多人把恐慌指數(VIX)的報價釘在螢幕角落,一天瞄個八次。這個習慣值多少錢,可以量出來。 我們拿美股大盤指數基金 SPY 從 2016 到 2025 的十年資料(來源 yfinance),問了兩個很土的問題:把恐慌指數加進來以後,對未來震盪幅度的預測會變準多少?在哪些狀況下會變準? 答案分成兩半。一半是好消息,另一半比較難看。 先講...
📄
科技股財報日的波動放大 3.8 倍,然後兩天就沒了
台積電 7 月 16 日開出第二季財報,接下來三週輪到那幾家美國巨頭。行事曆上,很多人把財報週整週圈起來,減碼、買保護、或者乾脆空手等它過去。 圈一整週這個動作,隱含了一個假設:財報會讓股票進入一段比較亂的日子。 我把這個假設拿去量。8 檔大型科技股,NVDA、AAPL、MSFT、AMZN、GOOGL、META、TSM、AMD,每檔取最近 12 季,共 96 次財報,樣本從 2023 年 7 ...
📄
SPY 吃掉九成交易量,這個熱門度卻猜不到下週風險
# SPY 吃掉九成交易量,這個熱門度卻猜不到下週風險 買標普 500 像拿同一場電影的不同版本票券。SPY、IVV、VOO 裝著近乎相同的一籃股票,費用和交易條件略有差異。真正要快速進出的人,卻幾乎都擠到 SPY 的窗口。研究想檢查一個很自然的猜測:短線交易越集中在老牌 ETF,市場接下來是否越容易大幅震盪? 成交集中的現象很清楚,預測用途卻沒有跟著出現。四組市場、四種風險指標合計 16 項...