← 研究動態
研究2026/04/29 上午04:00

K908:MF-GJR 的預測優勢只在 SPY 顯著,配上 HistSim 則三資產 6/6 通過 Trinity

0050.TWVaR風險管理Student-tHistSimMF-GJRTrinity

讀者互動

登入會員可按讚與收藏。

分享到:LINEFacebookX / Twitter

持續追蹤這項研究

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

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

訂閱研究摘要

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

你的預測模型很厲害,但你的風控可能在裸奔

想像一個情境:你花了三年研發出一個波動率預測模型,統計檢定 PASS、論文都投出去了。然後風控部門打開 1% VaR 回測報告,結果 FAIL。

這不是寓言。以 MF-GJR(VIX) 為例,它的 QLIKE 只在 SPY 顯著贏過標準 GJR(t=-3.243);QQQ 是 t=-2.652,未過 Harvey 門檻;0050.TW 是 t=+0.193,而且 0050.TW 的 MF-GJR QLIKE 比 GJR 還差 0.294%。三個資產裡只有一個顯著勝出。

所以下面談的「預測準、風控卻出事」,預測準的那一半只在 SPY 站得住。

問題出在哪?又該怎麼修?這是 K908 實驗要回答的核心問題。

為什麼「預測準」不等於「風控好」

波動率預測模型輸出的是「條件變異數」,也就是明天大概的震盪幅度。風控指標 VaR(風險值)卻問另一個問題:「最壞 1% 那天會虧多少?」

這兩件事差很大。預測模型只要平均誤差小就算贏;VaR 卻要你準確抓到尾部那 1% 的極端報酬。多數預測模型預設報酬服從常態分配(Normal),但實際上股市的尾部比常態厚得多,「20 年一遇」事件實際上每兩三年就會出現。預測再準,配上錯誤的尾部假設,VaR 就會嚴重低估風險。

具體來看 MF-GJR(VIX) 配 Normal 的 1% VaR 違反率:SPY 1.87%、QQQ 1.92%、0050.TW 1.31%(理論值 1%)。SPY 與 QQQ 落在 Basel YELLOW 且 Trinity FAIL,0050.TW 是 GREEN、Trinity PASS(Kupiec p=0.2111)。對 SPY 與 QQQ 來說,「100 天最多虧一次以上」的承諾實際上每 50 多天就破一次,這是合規大事故,不是模型微調;0050.TW 在常態假設下反而沒有出現這個缺口。

兩個解法:Student-t vs HistSim

K908 比較了兩個修風控的策略:

 方法一:Student-t 分配(參數化方案)  換一個有「自由度(df)」參數的分配。df 越小尾部越厚;df 越大越接近常態。我們每 63 交易日重估一次 df,並用 sqrt((df-2)/df) 修正尺度,確保條件變異數對得上。

 方法二:HistSim(歷史模擬,非參數方案)  完全放棄分配假設,直接拿過去 2000 天標準化殘差的歷史分佈當尾部。市場過去出現過什麼極端值,就照著那個經驗 quantile 估 VaR。

跨三資產實測:HistSim 全勝

我們在 SPY、QQQ、0050.TW 三個市場跑了 OOS 2019-01 到 2026-03(每資產約 1754-1821 天)的完整回測,用 Trinity 三道關卡同時檢驗:Kupiec(總違反次數合理)+ Christoffersen(違反沒有群聚)+ Basel 三色燈號。三關全綠才算 PASS。

結果如下圖:

MF-GJR + 分配選擇 × Trinity VaR 跨資產通過情況

關鍵讀法:

  •  MF-GJR + HistSim:3 資產 × 1% 與 5% 共 6 種情境全部 PASS ——這是 K908 最重要的發現,HistSim 是真正的 universal solution
  •  MF-GJR + Student-t:SPY 和 0050.TW 全 PASS,但 QQQ 在 1% 與 5% 都 FAIL ——QQQ 的尾部結構不適合用單一 df 描述
  • 違反率(每格第二行百分比)也說明問題:HistSim 的 1% 實際違反率為 SPY 0.99%、QQQ 0.93%、0050.TW 1.14%,三個都緊貼 1% 理論值

為什麼 HistSim 完勝?

關鍵在「對稱性」。Student-t 是參數化分配,本質上左右尾對稱;但 QQQ 在 OOS 期間經歷 2022 科技股崩盤、2020 疫情急跌、2024 AI 多頭等多重結構斷點,左尾比右尾厚很多,單一 df 抓不到這種偏斜。具體數字:QQQ 在 MF-GJR + Student-t 下 1% VaR 違反率仍達 1.65%。三道關卡裡,Kupiec p=0.0111(未過)、Christoffersen p=1.0(通過)、Basel YELLOW,擋下它的是 Kupiec 與 Basel。換成 HistSim 立刻降到 0.93%,三道關卡全綠。

HistSim 完全不假設形狀,市場真實出現什麼,VaR 就反映什麼。skewness、kurtosis、regime shift 全部「順勢吃下」。代價是計算量稍大(要存 2000 個歷史殘差,每天重新排序),但對現代硬體完全不是問題;Python 一行 numpy.quantile 就解決。學界的偏好早就從「找對 parametric 分配」轉向「直接用實證分位數」,K908 在 MF-GJR(VIX) 這個預測引擎上把這個方向確認了下來。

台股是全市場最厚尾的

順帶看一個本地角度。我們把 MF-GJR 的 Student-t df 在三個資產畫成時序:

MF-GJR Student-t 自由度跨市場時序

數字說話:

  •  SPY :MF-GJR df 介於 7.53 到 9.09(平均約 7.95),尾部相對最薄
  •  QQQ :6.36 到 10.89(平均約 7.83),波動較大但平均接近 SPY
  •  0050.TW :5.04 到 6.56(平均約 5.84),全期最厚尾,最低點 5.04 已經逼近「df=5 厚尾警戒線」

換成白話:台股的「20 年一遇」事件比 SPY 頻繁很多。這也解釋為什麼台灣讀者常感覺「明明做了停損,為什麼還是被一根長黑打穿」,尾部就是比美股厚,標準常態 VaR 在這裡尤其危險。對台股做風控,要嘛換 HistSim,要嘛把 Student-t df 設定上限調更低。

從 OOS 期間動態看,0050.TW 的 df 在 2020 第一季疫情、2022 半導體大跌、與 2024 第三季的修正都明顯壓縮,最厚尾出現在 2024 年第三季的 5.04。同期 SPY 的 df 從未跌破 7.5,QQQ 雖然在 2020 跌到 6.36,但很快回升到 9 以上。這個跨市場差異對於資產配置與避險比例的決定有直接影響,台股部位需要的安全邊際,比同名目曝險的美股部位高出 30% 以上才合理。

把預測和風控當成兩件事

K908 真正的方法論教訓是: 預測模型和分配假設要分開優化 。

過去研究習慣把波動率預測和分配假設綁在一起估計,例如「GARCH + Normal MLE」一次估完。這在預測層次也許 OK,但風控層次完全不夠。最佳組合是兩段式:

  1.  預測層 :用 MF-GJR(VIX) 給出條件變異數(QLIKE 顯著優於 GJR 的只有 SPY)
  2.  風控層 :把 MF-GJR 的條件變異數丟給 HistSim 算 VaR/ES,完全不假設尾部形狀

這個雙層架構在三資產 6/6 Trinity PASS,是目前我們找到的「universal VaR/ES 解」。對基金、券商風控、量化策略部位管理都有實用價值,不論主流市場(SPY/QQQ)還是新興市場(0050.TW)都通用。

結論

預測準 ≠ 風控好。MF-GJR(VIX) + HistSim 是 K908 驗證過的兩段式方案:條件變異數預測(在 SPY 上顯著優於 GJR)+ 最不挑形狀的尾部估計,三資產 1% 和 5% VaR Trinity 全 PASS。

下次有人跟你說「我的模型 QLIKE 比 baseline 好 30%」,記得追問一句:「那你的 1% VaR 通過 Basel 了嗎?」


本文基於實驗 K908(腳本:experiments/k908/k908_mfgjr_student_t_var_es.py,結果:experiments/k908/k908_mfgjr_student_t_var_es_results.json)。資料來源:yfinance(SPY / QQQ / 0050.TW / ^VIX),期間 2005-01 至 2026-04,OOS 2019-01-02 至 2026-03-31(SPY/QQQ n=1821;0050.TW n=1754)。延伸閱讀:K889(MF-GJR 預測實驗)、K802 / K825(HistSim 早期跨資產驗證)。

相關文章

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

📄
過去一年的價格路徑含兩種資訊:高低價口徑下,趨勢項的解釋比例在後段持平,波動項由 0.378 降到 0.175(SPY)、由 0.526 降到 0.147(QQQ)
做指數 ETF 部位大小或風險預算的人,預測波動時通常先用前一天、前一週、前一個月的波動,接著會問一個延伸問題:過去一年價格怎麼走,值不值得多放進預測式。同一份實驗的整體結果,本平台已發過一般讀者版:把過去一年的路徑當成一個整體,在樣本內解釋了 SPY 與 QQQ 約一半的每日波動。這一篇拆開問另一件事:路徑裡的兩個特徵,樣本往後移以後,各自還剩多少。 先寫結論。路徑特徵有兩個,趨勢項記錄過去一年…
→
📄
K1462:SPY 的 HAR-Parkinson 波動預測加入前一日隔夜跳空與三種月度景氣狀態,2,586 個樣本外日沒有一個規格顯著勝過基準,NFCI 狀態版顯著較差
本文是同一實驗一般讀者版〈隔夜跳空加上景氣指標,能讓 SPY 的波動預測更準嗎?〉(mile_63d7fceb)的研究版。一般版只講結論方向;本文補上設計矩陣與資訊集、全樣本 HAC 係數、bootstrap 區間、DM 落後期梯度,以及結果標籤的判定規則。 問題 一個以 HAR 預測 SPY 日波動的使用者,要不要多維護兩條資料:前一交易日的隔夜跳空,以及月度總經狀態?文獻的動機有兩條。其一,跳…
→
📄
天然氣月度波動的季節項放進自我迴歸之後:冬季係數隨價格序列與落後期變號,夏季在四個設定下都為負
為天然氣部位估月度波動的人,常在前一個月的實現波動之外再放一組季節虛擬變數。理由來自基本面:冬季的取暖需求與庫存消耗讓天然氣價格在冬天起伏較大(Mu 2007)。本文用同一組資料回答建模時的兩個問題:月份差異在無條件下是否存在;放進前一個月的波動之後,季節項還剩多少,係數又該怎麼讀。 先寫結論。 第一,無條件的月份差異在兩條序列都存在。天然氣連續近月期貨與 UNG 都在 1 月最高,冬季平均分別是…
→