← 研究動態
研究2026/04/01 下午10:03

從假突破到真解法:為什麼預測和風險管理要分開選

GARCHGJRSPYSkewed-tVaR風險管理研究誠實保形預測

讀者互動

登入會員可按讚與收藏。

分享到:LINEFacebookX / Twitter

持續追蹤這項研究

收藏、追蹤與明日提醒只保存必要識別資料,可在會員中心檢視或刪除。

研究資訊不構成個人投資建議;提醒僅代表研究更新,不代表交易訊號。

訂閱研究摘要

研究摘要與新文章,不轉售、不寄廣告,隨時可退訂。

摘要

一個模型可以同時「預測最準」又「風險管理最差」,這不是矛盾,而是兩件完全獨立的事情。K799 到 K802 這段四步旅程,讓我們用自己的親身錯誤,把這個道理刻進骨子裡。


第一步:K799——五模型六層大決鬥,贏家竟然「害人」

我們用嚴格的六層統計框架,測試了五個波動率模型:GJR-GARCH、GARCH、EWMA、HAR、AMEM。這五個模型都是業界常見的工具,每一個都聲稱能幫你「預測明天有多震盪」。

測試結果出爐: GJR-GARCH 在預測準確度(QLIKE 損失函數)上名列第一 ,Spearman 相關係數達 0.203,比第二名高出 14%。

聽起來很棒,對吧?但我們繼續往下看第六層:風險管理(VaR 回測)。

 結果令人傻眼: 

模型VaR 違反率目標 1%Kupiec 檢定巴塞爾燈號
GJR(原始) 1.99% 1.00%❌ 失敗🟡 黃燈
GARCH(基準)1.39%1.00%✅ 通過🟢 綠燈
HAR0.80%1.00%✅ 通過🟢 綠燈

GJR 的 VaR 違反率高達  1.99% ——差不多是目標的兩倍。說人話就是:GJR 告訴你「今天最多虧這麼多」,但實際上跌破這條線的頻率比預期多一倍。預測最準的模型,在風險管理上卻墊底。

這讓我們陷入困境:用 GJR?預測很準但風控不過關。放棄 GJR?但它真的預測最好。


第二步:K800——看似完美的解法,其實是假的

「我有辦法!」有個想法浮現了: 保形預測(Conformal Prediction) 。

這個技術的邏輯聽起來很聰明:在 GJR 預測完波動率之後,加一個「後處理」步驟,用歷史違反率自動校正 VaR 的界線。如果過去 252 天違反太多,就把警戒線向外推,讓它更保守。

K800 的結果讓我們興奮:GJR + 保形校正之後,VaR 違反率從 1.99% 降到了  0.80% !Kupiec 檢定通過,巴塞爾燈號變綠。而且 QLIKE 預測準確度完全不受影響。

「找到了!預測第一,風控也過關!」

然後我們把代碼給 Codex 審查。


第三步:Codex 掃出兩個致命 Bug

Codex 的審查報告讓我們冷靜下來。 兩個 HIGH 嚴重度的 Bug: 

 Bug 1:違反率計算對象錯誤。  K800 追蹤的是「違反原始 VaR」,而不是「違反已校正後的 VaR」。這導致每次原始 VaR 被突破,程式就持續累積「需要校正」的信號,即使校正後的 VaR 其實已經沒有被突破了。結果:自動把警戒線推得太遠,人為壓低了違反率。

 Bug 2:不是真正的保形預測。  K800 用了一個 ad-hoc 乘數公式(violation_rate / alpha,最大 3 倍),這根本不符合 Vovk(2005)的保形預測理論,沒有任何統計覆蓋率保證。

K800v2 修正這兩個 Bug 重跑:GJR 的 VaR 違反率回到  1.99% ,和原始完全一樣。保形校正沒有任何效果。

那個「突破」是假的。


VaR 1% 違反率比較:從假突破到真解法(目標值 = 1.00%)

圖:各版本 VaR 1% 違反率比較。K800 的假修正(0.80%)源自 Bug,非真實改善。K802 的 Student-t 和 Skewed-t 才是真正的解法(1.20%),兩者均通過 Kupiec 檢定。


第四步:K802——換個地方找答案,真的找到了

重新思考問題的本質。GJR 的 VaR 為何失敗?

 根本原因:用了錯誤的統計分配。 

VaR 的計算需要兩件事:(1)波動率預測(GJR 做這個),(2)把波動率乘上一個分位數(這取決於你假設的分配形狀)。K799 和 K800 都假設報酬率服從 常態分配 。但真實市場報酬根本不是常態,它有 厚尾 (極端事件比想像中多)和 左偏 (跌得比漲得凶)。

這就是為什麼 GJR+常態 的 VaR 一直太窄:低估了極端跌幅的發生機率。

K802 直接解決這個問題:換成 Student-t 分配 (有厚尾)和 Skewed-t 分配 (厚尾 + 左偏)。

結果如下:

模型設定VaR 違反率Kupiec 檢定QLIKE(預測準度)
GJR + 常態(原始)1.99%❌ 失敗 1.469 (最佳)
GARCH + 常態(基準)1.39%✅ 通過1.514
GJR + Student-t(K802) 1.20% ✅ 通過 1.469 (最佳)
GJR + Skewed-t(K802) 1.20% ✅ 通過 1.469 (最佳)

 GJR + Skewed-t:預測最準(QLIKE 第一),風控也通過(Kupiec ✅)。  兩件事同時達成了。


這段旅程教了我們什麼?

預測能力和風險管理是兩個獨立的問題

選模型時要分兩個問題分開回答:

  1.  「誰預測最準?」  — 用 QLIKE、DM 檢定、Spearman 相關係數來評估。答案:GJR-GARCH。

  2.  「誰的風控最好?」  — 用 Kupiec、Christoffersen、巴塞爾燈號來評估。答案:取決於 分配假設 ,不是模型本身。

換句話說:同一個 GJR 模型,接上常態分配就風控失敗,接上 Student-t 就通過。改變的不是「預測」,而是「你對極端事件有多大方」。

假突破比沒突破更危險

K800 的錯誤很有代表性:它看起來完全合理(保形預測是有理論基礎的技術),違反率也降下來了,各項統計也通過了。如果我們沒有把代碼送去審查,可能就這樣發出去了。

研究的可信度不是靠「看起來好」,而是靠「每一步都經得起檢查」。這也是為什麼我們每個實驗代碼都要通過 Codex 獨立審查,才算完成。

解法永遠在「根本原因」那裡

GJR 的 VaR 問題,根本原因是分配假設錯誤。所有繞過這個根本的修法(保形後處理)都治標不治本。一旦找對了根本原因,解法反而很簡單:換個分配,問題消失。


給投資人的實務意義

如果你在用任何模型計算「今天最多虧多少」(VaR),記得問一句:

 這個模型假設的是什麼分配? 

如果答案是「常態分配」,那它很可能低估了你在壞日子的最大虧損。尤其是在市場恐慌、崩盤、流動性危機的時候,極端事件發生的頻率比常態假設的兩到三倍還高。

好消息是:這個問題有已知的解法,而且不複雜,換成 Student-t 或 Skewed-t 分配,不需要改模型的預測邏輯,只需要改計算 VaR 時用的那個尾部分位數。


延伸閱讀


本文基於 K799-K802 系列實驗(數據來源:yfinance SPY,期間 2006-2025,樣本:5,029 個交易日,OOS:502 日)

相關文章

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

📄
過去一年的價格路徑含兩種資訊:高低價口徑下,趨勢項的解釋比例在後段持平,波動項由 0.378 降到 0.175(SPY)、由 0.526 降到 0.147(QQQ)
做指數 ETF 部位大小或風險預算的人,預測波動時通常先用前一天、前一週、前一個月的波動,接著會問一個延伸問題:過去一年價格怎麼走,值不值得多放進預測式。同一份實驗的整體結果,本平台已發過一般讀者版:把過去一年的路徑當成一個整體,在樣本內解釋了 SPY 與 QQQ 約一半的每日波動。這一篇拆開問另一件事:路徑裡的兩個特徵,樣本往後移以後,各自還剩多少。 先寫結論。路徑特徵有兩個,趨勢項記錄過去一年…
→
📄
大跌時抱管理期貨 ETF 撐得住嗎?事後劃定的危機窗看起來有效,事前認得出的壓力日裡卻沒有贏過大盤
管理期貨(趨勢追蹤)基金常被說成「股市大跌時會賺錢」,業界稱這種性質為危機報酬(crisis alpha)。本文用三檔免費可得的管理期貨 ETF(DBMF、KMLM、CTA)等權組成一個組合,拿它對 SPY 做同一天的報酬比較,資料從 2019-01-02 到 2026-06-23。結論取決於「危機」怎麼定義: 事前就認得出的壓力日(以前一個交易日收盤的資訊判定):沒有檢出優勢。 前一日 VIX…
→
📄
K2001:懲罰式平滑波動濾波器對 HAR 與 GARCH——QLIKE 部分勝出,MSE 不重現,一格取決於 HAR 的極小預測
K2001 是預註冊實驗,本文報告它唯一一次正式執行的結果。問題有兩個:其一,依 Xie、Pu、Lan 與 Wu(2026,*Journal of Futures Markets*)摘要描述、由本平台以假設重建的懲罰式平滑波動濾波器(下稱 FFA),在 ^GSPC 與 ^TWII 上的樣本外 QLIKE 是否低於 HAR 與 GARCH(1,1);其二,若有優勢,是否集中在低、中波動 regime…
→
從假突破到真解法:為什麼預測和風險管理要分開選 | VolPred