← 研究動態
研究2026/03/22 下午11:18

XGBoost + SHAP 波動率預測實驗:ML 無法擊敗 GARCH,但揭示 VIX 主導地位

SPYexperimentmlxgboostshapinterpretabilityvix-sufficiency

讀者互動

登入會員可按讚與收藏。

分享到:LINEFacebookX / Twitter

持續追蹤這項研究

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

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

訂閱研究摘要

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

摘要

本實驗測試 XGBoost 能否擊敗 GJR-GARCH 預測 SPY 22 天前瞻實現波動率,並使用 SHAP(SHapley Additive exPlanations)解析哪些特徵最重要。結論: XGBoost 無法顯著擊敗 GJR-GARCH (DM p=0.606),但 SHAP 揭示了有價值的特徵重要性結構。


實驗設計

  •  目標變數 :22 天前瞻年化實現波動率(SPY)
  •  訓練期 :2006-07-17 至 2021-12-31(3,894 天)
  •  測試期 :2022-01-03 至 2026-02-18(1,035 天)
  •  特徵數 :25 個(價格、VIX、技術指標、日曆、跨資產)
  •  時間序列分割 :嚴格按時間順序,無 shuffle

特徵分類

類別特徵數量
VIX 相關VIX 水平、變化率、Z-score、VIX/VIX3M 比率、VIX-RV spread6
實現波動率5/10/22/63 日 RV、短長比率6
報酬率5/10/22/63 日報酬4
技術指標RSI(14)、MACD、布林通道寬度3
日曆星期幾、月份、距 FOMC 天數3
跨資產GLD/TLT/EEM 5 日報酬3

結果

模型比較

模型MSER²QLIKE
Linear Regression0.004620.267-2.529
XGBoost(預設)0.005860.071-2.457
 XGBoost(調參)  0.00453  0.282 -2.575
 GJR-GARCH 0.005440.137 -2.599 

XGBoost 調參後最佳參數:n_estimators=200, max_depth=5, learning_rate=0.01, subsample=0.7, colsample_bytree=0.7, min_child_weight=10(偏向保守/正則化)。

Diebold-Mariano 檢定

比較DM 統計量p 值結論
XGBoost(tuned) vs Linear-1.4500.147無顯著差異
XGBoost(tuned) vs GJR0.5160.606無顯著差異
Linear vs GJR1.4920.136無顯著差異

 GJR-GARCH 的 QLIKE 仍然最低 (-2.599),但三者之間均無統計顯著差異。


SHAP 特徵重要性(核心價值)

個別特徵排名

排名特徵SHAP 貢獻佔比
1 VIX 0.0162 29.3% 
2ret_63d0.007313.2%
3vix_vix3m_ratio0.00549.7%
4rv_22d0.00427.6%
5rv_10d0.00356.3%
6rv_63d0.00346.1%
7month0.00305.5%
8vix_zscore0.00254.6%

VIX 單一特徵就貢獻了近  30%  的預測重要性,遠超第二名(63 日報酬 13.2%)。

特徵群組重要性

群組SHAP 佔比解讀
 VIX 相關  46.2% 近半數預測能力來自 VIX 家族
 實現波動率  25.1% 歷史波動率是第二大來源
報酬率16.1%主要來自 63 日動量
日曆6.8%月份效應意外地不可忽略
技術指標3.1%幾乎無用
跨資產2.8%幾乎無用

 波動率資訊(VIX + RV)合計佔 71.3%  —— 確認了「VIX 充分統計量」假說。


核心發現

1. XGBoost 無法顯著擊敗 GJR-GARCH(再次確認 Branco 2024)

即使給 XGBoost 25 個精心設計的特徵(包含跨資產、技術指標、日曆效應),調參後的 QLIKE 也只達到 -2.575,仍不如 GJR-GARCH 的 -2.599。DM 檢定 p=0.606,遠不顯著。

 解讀 :波動率的主要動態結構(均值回復、槓桿效應、叢聚性)已被 GARCH 族模型良好捕捉。非線性 ML 模型在此基礎上的邊際改善微乎其微。

2. VIX 是壓倒性的最重要特徵

SHAP 分析清楚顯示 VIX 單獨貢獻 29.3%,VIX 家族合計 46.2%。這從 ML 可解釋性的角度獨立驗證了我們先前在 J3/J4/J8 中反覆確認的結論: VIX 是月度以下波動率預測的充分統計量 。

3. 技術指標和跨資產信號幾乎無用

RSI、MACD、布林通道合計僅 3.1%。GLD/TLT/EEM 報酬合計僅 2.8%。這些特徵對波動率預測的邊際貢獻可以忽略不計。

4. 月份效應值得注意

「month」特徵排名第 7(5.5%),暗示波動率存在季節性模式(如 9-10 月通常波動較高)。這不常被 GARCH 模型捕捉,可能是未來研究方向。

5. 預設 XGBoost 嚴重過擬合

預設參數(max_depth=6, n_estimators=500, lr=0.1)的 R² 僅 0.071,遠低於線性回歸的 0.267。調參後(更保守:max_depth=5, lr=0.01, min_child_weight=10)改善到 0.282。教訓: 波動率預測中 ML 模型需要強正則化 。


對研究系統的啟示

  1.  停止追求 ML 預測突破 :XGBoost(25 特徵)無法擊敗 GJR-GARCH(3 參數),確認複雜度上限。K45 文獻 + 本實驗自主驗證。
  2.  SHAP 可以用於特徵篩選 :如果未來測試新特徵(如 VVIX、SKEW),SHAP 可以量化其邊際貢獻。
  3.  VIX 充分統計量再次確認 :第 13 次獨立驗證(J3/J4/J8 + 本實驗 SHAP)。
  4.  月份效應值得探索 :可能的 seasonal volatility targeting 策略方向。

相關文章

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

📄
過去一年的價格路徑含兩種資訊:高低價口徑下,趨勢項的解釋比例在後段持平,波動項由 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…
→
📄
K1462:SPY 的 HAR-Parkinson 波動預測加入前一日隔夜跳空與三種月度景氣狀態,2,586 個樣本外日沒有一個規格顯著勝過基準,NFCI 狀態版顯著較差
本文是同一實驗一般讀者版〈隔夜跳空加上景氣指標,能讓 SPY 的波動預測更準嗎?〉(mile_63d7fceb)的研究版。一般版只講結論方向;本文補上設計矩陣與資訊集、全樣本 HAC 係數、bootstrap 區間、DM 落後期梯度,以及結果標籤的判定規則。 問題 一個以 HAR 預測 SPY 日波動的使用者,要不要多維護兩條資料:前一交易日的隔夜跳空,以及月度總經狀態?文獻的動機有兩條。其一,跳…
→
XGBoost + SHAP 波動率預測實驗:ML 無法擊敗 GARCH,但揭示 VIX 主導地位 | VolPred