← 研究動態
研究2026/04/30 下午04:51

K1073: A4f-GARCH 外生變數選擇敏感度 — VIX9D / VIX / VIX3M / VVIX 在 SPY 的橫向比較

SPYVVIX波動率預測VIX3MVIX9DA4f-GARCH敏感度分析

讀者互動

登入會員可按讚與收藏。

分享到:LINEFacebookX / Twitter

持續追蹤這項研究

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

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

訂閱研究摘要

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

摘要

[提出: Claude] A4f-GARCH(multiplicative GARCH-MIDAS spec, Engle, Ghysels & Sohn 2013)把 long-run variance component τ 直接綁在 lagged 外生變數上。先前 K988 / K1056 / K1066 三個實驗一致用  VIX² (30-day)  當 τ-driver,且 OOS 表現顯著勝過純 GJR baseline。但 CBOE 同時公布 VIX9D(9 日)、VIX3M(3 月)、VVIX(vol-of-vol)三個替代 implied volatility horizon — 換掉 VIX² 真的會更好嗎?還是 VIX² 的選擇本身就是 robust 的?

K1073 在 SPY 2013-01-02 ~ 2026-04-10(OOS n=3330 日,13 年涵蓋 2018 vol spike、2020 COVID、2022 緊縮、2024-25 貿易戰)對 4 個單一外生變數 spec + 2 個多變數 spec(VIX3M-VIX 期限結構斜率、三 VIX 組合)共 14 個模型同步滾動估計(window=2000、refit_every=63、seed=42、L-BFGS-B 三 multistart)。比較指標 Patton (2011) QLIKE,配對檢定用 Newey-West HAC DM,門檻採 Harvey-Liu-Zhu (2016) |t| > 3.0。

主要結論四項:(1)  四個 VIX-family 單變數 spec 在 r²_oc 全部 Harvey-顯著勝過 GJR baseline (r²_oc 的 DM t 全 ≥ +3.17;r²_close 三個五次重跑全部達標、下限 +4.03,VVIX 落在 +2.07 ~ +2.84、五次全部未達標)— A4f 的勝出是「VIX-family 含有 ARCH-memory 之外的額外資訊」這個結構性事實,不是 VIX² 的單一選擇問題;(2)  VIX9D 在兩個目標都 marginal 最佳 ,但 vs VIX² 的差距只在 r²_oc 穩定通過 Harvey 門檻(DM t=+3.53),r²_close 落在 +2.70 ~ +4.47、過不過門檻判不出來;(3)  VIX3M-VIX 期限結構 slope 不增加邊際資訊 (vs A4f-VIX 的 DM t:r²_close 在 -1.10 ~ +1.48 之間、正負號不固定,r²_oc -0.28,FAIL);(4)  三 VIX 組合 spec 在 r²_close 數值不穩定 (MSE blowup 1.79e+8,θ₂ 共線性導致罕見窗口 σ²_t 爆炸)。 Paper 9 政策建議:保留 A4f-VIX 為主規格,VIX9D 進附錄做 robustness check  — 跨 horizon 的勝負差距太小,且 VIX9D 樣本只回溯到 2011,犧牲歷史涵蓋換有限統計改進不划算。

![圖 1: K1073 五規格在兩個 OOS 目標的 QLIKE 對比](" + CHART1 + ")

研究背景

A4f spec 是把 GARCH 的 long-run unconditional variance 從常數 ω/(1-α-β) 改成「外生 driver 的 lag 變換」:

σ²_t = τ_t · g_t
g_t = ω_g + α·u²_{t-1} + γ·u²_{t-1}·I{u<0} + β·g_{t-1}
u_{t-1} = r_{t-1}/√τ_t
τ_t = θ₀ + θ₁ · X²_{t-1}    (single-X)

其中 X 在過去 K988/K1056/K1066 都是  VIX 。這個選擇沒有理論強制 — Engle, Ghysels & Sohn (2013) 原始 paper 用的是 macro variables(CPI volatility、IP growth),CBOE 後續公布的 VIX9D / VIX3M / VVIX 都是 SPY 直接 implied vol 的 alternative horizon。如果 A4f 的勝出機制是「implied vol 對 future RV 的 market-priced 預期」,那麼 任何 horizon 的 VIX 應該都行,只是程度差別 ;但如果 30-day 對 daily target 是某個特殊最佳 horizon,那麼 VIX² 不可替代。K1073 直接檢驗哪個假說正確。

兩個第二序問題同時測:(a)  加 VIX3M-VIX slope 進 spec 是否提供 term-structure 增量資訊 (A4f-SLOPE);(b)  同時放三個 VIX horizon 是否更好還是反而退化 (A4f-COMBO)— 後者特別測 collinearity(VIX-VIX9D ρ=0.972, VIX-VIX3M ρ=0.972)會不會把 A4f 拖垮。

方法與數據

項目設定
標的SPY (yfinance Adj Close + Open)
外生變數^VIX, ^VIX9D, ^VIX3M, ^VVIX (yfinance)
期間2011-01-04 ~ 2026-04-10(VIX9D binding:2011-01-03 起公布)
總樣本3,831 個交易日
OOS 起點2013-01-02(n=3,330 OOS 觀測)
滾動估計window=2000,refit_every=63,total refits=53
估計方法L-BFGS-B + 3 multi-start,A4f negative log-likelihood numba-compiled
Random seed42
預測目標r²_close(close-to-close)、r²_oc(open-to-close)
損失函數Patton (2011) QLIKE(proxy-robust)、MSE、MAE、Spearman ρ
配對檢定Diebold-Mariano with Newey-West HAC(lag = T^(1/3) ≈ 14)
門檻Harvey-Liu-Zhu (2016) |t| > 3.0(multiple-testing 修正)

模型清單(14 個):

Specτ_t formulan_params (ex GJR core)
GJR_close / GJR_oc標準 GJR(1,1) baseline—
A4f-VIX (×2 targets)θ₀ + θ₁·VIX²_{t-1}2
A4f-VIX9Dθ₀ + θ₁·VIX9D²_{t-1}2
A4f-VIX3Mθ₀ + θ₁·VIX3M²_{t-1}2
A4f-VVIXθ₀ + θ₁·VVIX²_{t-1}2
A4f-SLOPEθ₀ + θ₁·VIX² + θ₂·(VIX3M-VIX)_{t-1}3
A4f-COMBOθ₀ + θ₁·VIX9D² + θ₂·VIX² + θ₃·VIX3M²_{t-1}4

每個 A4f spec 對 r²_close 與 r²_oc 兩個目標各跑一次,共 12 個 A4f model + 2 個 GJR baseline。

 Lookahead audit(已通過) :vix_lag[t] = vix[t-1](在 build_vix2_lag 強制;OOS forecast 在 abs_idx 用 X²_{abs_idx-1};g-state 跨 refit 連續 carry,無 future-return leak)。

VIX-family 描述統計(full sample 2011-2026)

指標meanstdminmaxAC(1)
VIX18.176.859.1482.690.963
VIX9D17.548.247.10106.660.935
VIX3M20.056.0711.8572.980.979
VVIX96.3716.1361.76207.590.939

 Pairwise correlation :VIX-VIX9D =  0.972 、VIX-VIX3M =  0.972 、VIX-VVIX =  0.692 、VIX9D-VIX3M =  0.907 、VIX9D-VVIX =  0.671 、VIX3M-VVIX =  0.686 。VIX9D / VIX3M 與 VIX 的相關性都極高(接近完全共線),VVIX 是真正的「different content」。

核心發現

發現一:四個 VIX-family 單變數 A4f spec 在 r²_oc 全部 Harvey-顯著勝過 GJR baseline

這是 K1073 最具結構意義的觀察。 不論你選哪個 horizon,只要把 VIX-family 當外生變數丟進 τ_t,OOS QLIKE 就能跨過 Harvey 3.0 門檻 (除了 r²_close 的 VVIX:它在五次重跑中 全部未達標 ;其他七個全過)。

Specr²_close QLIKEr²_close DM t (vs GJR)r²_oc QLIKEr²_oc DM t (vs GJR)
GJR_close-8.5607———
GJR_oc——-8.9789—
A4f-VIX-8.6499 +6.24 ~ +7.18 ★ -9.0768 +6.08 ★ 
A4f-VIX9D -8.6675  +7.35 ~ +7.92 ★  -9.0959  +6.22 ★ 
A4f-VIX3M-8.6116 +4.03 ~ +4.64 ★ -9.0436 +4.75 ★ 
A4f-VVIX-8.5880+2.07 ~ +2.84-9.0146 +3.17 ★ 

★ = Harvey |t| > 3.0 顯著。r²_close 的 DM 統計量以區間呈現,因為這一組對輸入價格的末位極度敏感:把 SPY 調整後收盤價乘以 1 減 10 的負 9 次方再重跑,每一格都會變;區間兩端是五次重跑的最小值與最大值,★ 代表五次全部達標。r²_oc 那一組五次重跑逐位相同,維持單一數字。

 詮釋 :A4f 機制的勝出 不在 VIX² 的特殊性 ,而在  implied vol 對 future RV 的市場定價包含 GARCH 遞迴吸收不到的資訊 。連 VVIX(vol-of-vol,跟 VIX 相關性只有 0.69)都能 r²_oc 通過門檻 — 表示 SPY 期權市場對「vol 分布的 second moment」也有 marginal information content。這對 Paper 9 的論述 robust:A4f-VIX 不是 cherry-picked horizon,是「VIX-family 內任意 horizon 的代表」。

發現二:VIX9D marginal 最佳但只有 r²_oc 跨過 Harvey 門檻

直接 head-to-head:

配對r²_close DM tr²_close 結果r²_oc DM tr²_oc 結果
VIX9D vs VIX +2.70 ~ +4.47  過不過門檻判不出來 (五次中四次達標) +3.53 ★ VIX9D Harvey-sig win
VIX9D vs VIX3M+5.72 ~ +6.77 ★VIX9D 顯著勝+5.47 ★VIX9D 顯著勝
VIX9D vs VVIX+5.94 ~ +7.07 ★VIX9D 顯著勝+5.65 ★VIX9D 顯著勝
VIX vs VIX3M+5.72 ~ +7.30 ★VIX 顯著勝+5.90 ★VIX 顯著勝
VIX vs VVIX+4.59 ~ +5.75 ★VIX 顯著勝+5.28 ★VIX 顯著勝

VIX9D > VIX > VIX3M > VVIX 的排序在兩個目標都成立, 且每個相鄰 step 大多都是 Harvey-sig (r²_close 上 VIX9D vs VIX 是唯一例外:五次重跑落在 +2.70 到 +4.47 之間、四次達標一次未達,這份資料判不出它過不過門檻;r²_oc 全 step 過門檻)。

 經濟直覺 :VIX9D 對 daily forecast 是「最近期 + 對 1-2 日內 vol 最敏感」,理論上 fit 短期變化最好;VIX3M 是「smoother / 較長 horizon」,對 daily 反而過度平滑;VVIX 是「vol 分布的 dispersion」,second-order 訊息對 first-moment forecast 較弱。但 VIX9D 對 VIX 的提升 magnitude 在 QLIKE 絕對值上非常小:r²_close 是 0.2029%(-8.6675 vs -8.6499;換另一次重跑最高到 0.3203%),r²_oc 是 0.2098%(-9.0959 vs -9.0768,五次重跑相同)— 統計上 detectable,經濟上 marginal。

![圖 2: A4f 變體 DM 配對檢定(vs GJR baseline + r²_close 兩兩比較)](" + CHART2 + ")

發現三:VIX3M-VIX 期限結構斜率不提供額外資訊

VIX3M 跟 VIX 高度相關(ρ=0.972),但兩者差(slope)理論上代表「市場對 vol mean reversion 的預期」— 高 slope = 市場預期 vol 會升高、低 slope = 預期會降。把 slope 當第二個 regressor 加進 A4f-VIX 看會不會改善:

比較r²_close DM tr²_oc DM t結論
A4f-SLOPE vs A4f-VIX-1.10 ~ +1.48-0.28 FAIL(r²_close 連正負號都不固定,r²_oc 不顯著) 
A4f-SLOPE vs GJR+1.63 ~ +6.57(不穩定,五次中三次達標) +5.60 ★ r²_oc Harvey-sig,但只是因為 SLOPE 包含 VIX 本身

 結論 :term structure information 對 daily SPY RV forecast 是 redundant — 它跟 VIX level 之間的訊息重疊度太高,多加一個 regressor 換不到任何 OOS 改善。Paper 9 不需要保留 SLOPE spec。

發現四:A4f-COMBO 在 r²_close 數值不穩定(multicollinearity collapse)

把 VIX9D² + VIX² + VIX3M² 三個一起放進 τ_t,結果在 r²_close 嚴重退化:

Specr²_close QLIKEr²_close MSEr²_close DM t (vs GJR)
A4f-COMBO_close -8.4803  1.79e+8  ⚠️ -0.67 ~ -0.63(GJR 反勝) 
A4f-VIX_close (對照)-8.64991.53e-7+6.24 ~ +7.18 ★

MSE 從 1.53e-7 跳到 1.79e+8( 約 1.18×10¹⁵ 倍,也就是約 1,180 兆倍 ),代表某些 refit 窗口 τ+多項加總出現負值或極大值,導致 σ² 在罕見天數爆炸(具體機制:θ₂、θ₃ 在 ill-conditioned 矩陣下被估到大絕對值的相反符號,遇到 high-VIX 日就 catastrophic cancellation)。QLIKE 因為是 log-scale 較不敏感,但仍從 -8.6499 退到 -8.4803(DM t 落在 -0.67 ~ -0.63 vs GJR,五次重跑 A4f 都贏不過 baseline)。

A4f-COMBO 在 r²_oc 上反而沒爆炸(MSE = 5.20e-08,DM t=+5.53 vs GJR),這個 target-asymmetry 反映兩個 target 對 τ 與 g 的分解負擔不同 — r²_close 信噪比較低,多參數更容易 overfit;r²_oc 因為截掉 overnight gap 而較乾淨。

 Lesson :VIX-family 高度共線(pairwise ρ > 0.9),多 horizon 同時放進 A4f 會超出可識別邊界。 保持單變數 spec 。

發現五:θ₁ stability 與預測力呈反向關係(normalization artifact,descriptive)

53 個 refit 跨 13 年的 θ₁ 變動係數(CV = std/|mean|)。右欄是該模型在自己目標上的 OOS QLIKE 名次(r²_oc 的第 2 名是 A4f-COMBO_oc,QLIKE -9.0958,不在本表)。

模型θ₁ CVOOS QLIKE rank
A4f-VVIX_close 0.599  (最穩定)5/7(最弱單變數 r²_close 預測)
A4f-VVIX_oc0.7446/7
A4f-VIX9D_close1.5011/7(最佳)
A4f-VIX3M_oc1.7875/7
A4f-VIX3M_close1.7954/7
A4f-VIX_close3.0002/7
A4f-VIX9D_oc4.5671/7
A4f-VIX_oc 5.545  (最不穩定)3/7

 Caveat :這個反向關係 主要是 normalization artifact 。我們的 A4f 用 free ω_g 不強制 E[g]=1(與 Engle, Ghysels & Sohn 2013 原始 GARCH-MIDAS 不同),所以 τ 與 g 不分別 identified — τ·g 乘積本身有效(forecast 沒問題),但 θ₁ 的 absolute scale 在不同 τ-dominated / g-dominated local optima 間跳。L-BFGS-B 跨 refit 在兩個 basin 之間 alternate(bimodal),所以 CV 大;VVIX 因為 magnitude(mean ≈ 96 vs VIX mean ≈ 18)讓 θ₁ scale 自動小,CV 表面上更穩。 θ₁ 穩定性不是 forecast quality 的真實指標 ,這個 ranking 只能 descriptive 看。

實務意義

  1.  Paper 9 政策 :保留 A4f-VIX 為主規格,VIX9D 進 robustness appendix。理由:(a) VIX9D 對 VIX 的改進 magnitude 是 0.20% ~ 0.32% QLIKE,(b) Harvey 3.0 只在 r²_oc 穩定通過,r²_close 落在 +2.70 ~ +4.47、過不過判不出來,(c) VIX9D 樣本只到 2011 比 VIX 短 21 年,crisis-period(2008-09)無法 cover。
  2.  A4f robustness narrative 加強 :「A4f 的勝出不依賴特定 horizon 選擇 — VIX9D / VIX / VIX3M / VVIX 在 r²_oc 全 Harvey-sig 勝過 GJR」是 Paper 9 強而 robust 的論述,比「VIX² 表現很好」更有說服力。
  3.  不要嘗試多 horizon 組合 :VIX-family 共線性高,A4f-COMBO r²_close 數值不穩 + DM 不顯著, 單變數 sufficient 。
  4.  Term structure slope 別加 :A4f-SLOPE 沒贏 A4f-VIX,term structure 訊息對 daily SPY RV 是 redundant。
  5.  Cross-asset 推論審慎 :本實驗只在 SPY;Paper 9 的 cross-asset extension(QQQ/GLD/0050.TW)需獨立做類似 sensitivity,不能直接套用 SPY 結論。

限制與穩健性

  1.  Normalization not imposed :自由 ω_g spec 讓 τ vs g 不分別 identified。τ/σ² 比例僅 descriptive,不可解讀。Forecast σ² = τ·g 仍有效(兩個 basin 的 product 在均衡相同),但參數 trajectory bimodal — 後續可加 E[g]=1 normalization 重估。
  2.  Bimodal optimization :L-BFGS-B 跨 53 個 refit 在 τ-dominated 與 g-dominated 兩個 local optimum 間切換。3 multi-start 找到 basin 後鎖定,但 cross-refit 的 θ₁ 仍跳。 不影響 forecast (兩 basin 的 σ² 預測幾乎一致)。
  3.  OOS 起點 2013 :post-crisis 樣本,無法外推到 2008-09 crisis regime。VIX9D 公布於 2011 是 binding constraint。
  4.  VIX-family 多重共線 :VIX、VIX9D、VIX3M 兩兩 ρ > 0.9。COMBO spec 已證實受影響;單變數 spec 不受影響但 horizon 之間的「真實效力差距」可能比 DM t-stat 顯示的還小(因為 t-stat 反映 loss 序列差,而 loss 已被三個高度相關 driver 中的任一個 absorb 大部分 signal)。
  5.  單一資產(SPY) :跨資產驗證(QQQ、GLD、0050.TW)尚未做。
  6.  Single-exog scope :未測 VIX + macro variables、VIX + realized variance、log VIX、√VIX 等非線性轉換 — 後續可在 K1073 follow-up 做。

結論

 A4f-GARCH 對 VIX-family 外生變數的選擇 robust :VIX9D / VIX / VIX3M / VVIX 四個 horizon 全部 OOS QLIKE 勝過 GJR baseline,r²_oc 上四個都過 Harvey 門檻,r²_close 上三個穩定過門檻。VIX9D marginal 最佳,且只有在 r²_oc 上「跨過顯著性閾值」這件事是穩定的(r²_close 五次重跑中四次達標、一次未達,判不出來);VIX² 仍是 Paper 9 主規格的合理選擇(樣本長、結果穩、社群慣例)。

對 Paper 9 寫作的具體影響:

  •  Main spec 保持 A4f-VIX 不變 
  •  Appendix 加 K1073 robustness :報告 4 horizons 在 r²_oc 同時 Harvey-sig vs GJR、VIX9D 邊際勝出但 magnitude 小
  •  拒絕 SLOPE / COMBO :term structure 與多 horizon 組合都不提供 incremental forecast value

下一步研究方向:(一) E[g]=1 normalization 重估讓 θ₁ 解讀;(二) log/√VIX 非線性轉換;(三) 跨資產(QQQ、GLD、0050.TW)平行 sensitivity;(四) regime-switching A4f 測試「VIX9D 在 high-vol 規格 vs VIX3M 在 low-vol 規格」的條件最佳化;(五) 預-2008 擴展(VIX/VIX3M 都有歷史,犧牲 VIX9D)capture crisis regime。


本文基於實驗 K1073(腳本:experiments/k1073/k1073.py,結果:experiments/k1073/k1073_results.json,歸檔結果:experiments/k1073/archived/k1073_results_2026-04-12.json,r²_close 五次重跑區間:experiments/k1073/reconciliation/k1073_reconciliation_results.json,README:experiments/k1073/README.md)。數據來源:yfinance(SPY、^VIX、^VIX9D、^VIX3M、^VVIX)。期間:2011-01-04 至 2026-04-10,總樣本 N=3,831,OOS N=3,330(2013-01-02 起),53 個 rolling refit、window=2,000、refit_every=63、random seed=42。統計門檻:Patton (2011) QLIKE + Newey-West HAC DM + Harvey-Liu-Zhu (2016) |t| > 3.0。

 參考文獻 :

  • Engle, R.F., Ghysels, E. & Sohn, B. (2013). Stock market volatility and macroeconomic fundamentals. Review of Economics and Statistics 95(3): 776-797.
  • Patton, A.J. (2011). Volatility forecast comparison using imperfect volatility proxies. Journal of Econometrics 160(1): 246-256.
  • Harvey, C.R., Liu, Y. & Zhu, H. (2016). …and the cross-section of expected returns. Review of Financial Studies 29(1): 5-68.
  • Hansen, P.R. & Lunde, A. (2005). A forecast comparison of volatility models: does anything beat a GARCH(1,1)? Journal of Applied Econometrics 20(7): 873-889.
  • CBOE. VIX, VIX9D, VIX3M, VVIX methodology white papers.
  • 相關前手實驗:K988(A4f-VIX vs GJR DM t=4.48)、K1056(A4f-VIX 5/5 sub-period 一致)、K1066(A4f_oc vs GJR_oc r²_oc DM t=+7.05)。

相關文章

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

📄
VIX 越高、衝擊越被「吸收」?比例式衝擊倍數的分母陷阱與門檻效應
VIX 已經很高時,再來一次 VIX 大跳,SPY 的反應會不會變小?常見的量法是「衝擊倍數」(shock amplification ratio,SAR):衝擊日的 |r| 除以平日的 |r|。這個倍數確實隨前一日 VIX 升高而下降,於是很容易讀成「高波動環境會吸收衝擊」。本文檢驗這個讀法在三個地方站不站得住:分母、門檻,以及外生衝擊。 資料是 SPY 與 VIX 日資料,2006-01-05…
→
📄
K1378:VIX 長期成分讓 SPY 波動預測勝過 GJR-GARCH,這個優勢在疫情窗外更穩定
做風險控管或選擇權定價的人,常要在兩種日頻波動模型之間取捨:只用報酬本身的 GJR-GARCH,或在 GARCH 之外加一個由 VIX 驅動的長期成分。後者多了一個外部變數要維護,值不值得,要看它的預測優勢從哪裡來。如果優勢只來自 2020 年那種市場崩跌的少數日子,平常用它就只是多背一個依賴;如果優勢出現在一般日子,它才是日常可用的改進。 K1378 用 SPY 的樣本外一步預測回答這個問題:A…
→
📄
K1884:拿 VIX1D 對照 SPY 同一天的已實現變異,年化分母、報價時點與盤中窗口各自能把答案改掉多少
一般讀者版〈一日恐慌指數開盤報的當日變異,平均是 SPY 盤中實際的 1.56 倍:這個數字該怎麼讀〉給的是水準與讀法。這篇處理做這個比較時要先決定的三件事:VIX1D 要除以哪一個年化分母、要拿哪一個時點的報價、已實現變異要涵蓋盤中哪一段。 K1884 的結果顯示,這三個選擇造成的偏移,與要量的效果同一個量級;選錯任何一個,程式不會報錯,只會回答另一個問題。 先釐清估計量。K1884 量的是同一…
→