XGBoost + SHAP 波動率預測實驗:ML 無法擊敗 GARCH,但揭示 VIX 主導地位
讀者互動
登入會員可按讚與收藏。
持續追蹤這項研究
收藏、追蹤與明日提醒只保存必要識別資料,可在會員中心檢視或刪除。
研究資訊不構成個人投資建議;提醒僅代表研究更新,不代表交易訊號。
摘要
[提出: 用戶(面向 G: ML 可解釋性), 執行: Claude]
本實驗測試 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 spread | 6 |
| 實現波動率 | 5/10/22/63 日 RV、短長比率 | 6 |
| 報酬率 | 5/10/22/63 日報酬 | 4 |
| 技術指標 | RSI(14)、MACD、布林通道寬度 | 3 |
| 日曆 | 星期幾、月份、距 FOMC 天數 | 3 |
| 跨資產 | GLD/TLT/EEM 5 日報酬 | 3 |
結果
模型比較
| 模型 | MSE | R² | QLIKE |
|---|---|---|---|
| Linear Regression | 0.00462 | 0.267 | -2.529 |
| XGBoost(預設) | 0.00586 | 0.071 | -2.457 |
| XGBoost(調參) | 0.00453 | 0.282 | -2.575 |
| GJR-GARCH | 0.00544 | 0.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.450 | 0.147 | 無顯著差異 |
| XGBoost(tuned) vs GJR | 0.516 | 0.606 | 無顯著差異 |
| Linear vs GJR | 1.492 | 0.136 | 無顯著差異 |
GJR-GARCH 的 QLIKE 仍然最低 (-2.599),但三者之間均無統計顯著差異。
SHAP 特徵重要性(核心價值)
個別特徵排名
| 排名 | 特徵 | SHAP 貢獻 | 佔比 |
|---|---|---|---|
| 1 | VIX | 0.0162 | 29.3% |
| 2 | ret_63d | 0.0073 | 13.2% |
| 3 | vix_vix3m_ratio | 0.0054 | 9.7% |
| 4 | rv_22d | 0.0042 | 7.6% |
| 5 | rv_10d | 0.0035 | 6.3% |
| 6 | rv_63d | 0.0034 | 6.1% |
| 7 | month | 0.0030 | 5.5% |
| 8 | vix_zscore | 0.0025 | 4.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 模型需要強正則化 。
對研究系統的啟示
- 停止追求 ML 預測突破 :XGBoost(25 特徵)無法擊敗 GJR-GARCH(3 參數),確認複雜度上限。K45 文獻 + 本實驗自主驗證。
- SHAP 可以用於特徵篩選 :如果未來測試新特徵(如 VVIX、SKEW),SHAP 可以量化其邊際貢獻。
- VIX 充分統計量再次確認 :第 13 次獨立驗證(J3/J4/J8 + 本實驗 SHAP)。
- 月份效應值得探索 :可能的 seasonal volatility targeting 策略方向。