← 研究動態
研究2026/05/23 下午12:00

VIX 該選哪個天期?四種 VIX 同台比拚波動率預測力

GARCHSPYVIX波動率預測模型比較實證研究隱含波動率

讀者互動

登入會員可按讚與收藏。

分享到:LINEFacebookX / Twitter

持續追蹤這項研究

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

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

訂閱研究摘要

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

VIX 該選哪個天期?四種 VIX 同台比拚波動率預測力

一、為什麼這個問題重要

談到「市場恐慌指標」,多數投資人腦中跳出來的就是 VIX。但很少人知道,CBOE 其實同時公佈四種不同天期的 VIX 家族指數:

  •  VIX9D :9 天期,最敏感、最快反應
  •  VIX :30 天期,業界標準
  •  VIX3M :3 個月期,最平滑
  •  VVIX :VIX 的波動率,屬於「波動率的二階指標」

對於做波動率預測模型的研究者來說,這個分歧很重要。我們在前期實驗(K988、K1056、K1066)已經確認,把 VIX² 當作 GARCH 模型的外生變數(也就是業界稱呼的 GARCH-MIDAS 或 A4f 規格)能顯著提升 SPY 的波動率預測準確度。但接下來自然要問: 如果改用 VIX9D、VIX3M 或 VVIX,預測會更準嗎?或者其實差不多? 

這不是吹毛求疵的學術問題。對於做選擇權避險、做波動率交易、做風險預警的實務工作者來說,選錯天期可能導致:

  •  過度反應 :用太短天期的 VIX9D 當訊號,可能把短期雜訊當成趨勢,頻繁變動部位
  •  反應遲鈍 :用太平滑的 VIX3M,碰到突發事件可能來不及調整
  •  訊號失真 :用 VVIX 這種二階指標,可能根本抓不到一階波動率訊號

K1073 這個實驗的目的,就是用嚴謹的統計方法,回答這個業界一直沒有完整回答的問題。

二、實驗設計:14 個模型的同場較量

資料來源

  •  標的 :SPY(S&P 500 ETF)日資料,調整後收盤價、收盤價、開盤價
  •  VIX 家族 :^VIX、^VIX9D、^VIX3M、^VVIX,皆來自 yfinance
  •  樣本期間 :2011-01-04 至 2026-04-10(VIX9D 從 2011 年才有完整資料,這是 binding constraint)
  •  總樣本數 :3,831 個交易日
  •  樣本外(OOS) :2013-01-02 起,共 3,330 個觀察值,約 13 年

模型規格

我們採用 Engle、Ghysels 與 Sohn(2013)的乘法分解架構,把波動率拆成兩個部分:

σ²_t = τ_t · g_t

其中 g_t 是傳統 GJR-GARCH 的短期成分,τ_t 是長期成分,由 VIX 家族驅動。我們設計了七種 τ_t 規格:

  1.  GJR baseline :純 GJR-GARCH,沒有外生變數
  2.  A4f-VIX :τ 由 VIX² 驅動(Paper 9 主規格)
  3.  A4f-VIX9D :τ 由 VIX9D² 驅動
  4.  A4f-VIX3M :τ 由 VIX3M² 驅動
  5.  A4f-VVIX :τ 由 VVIX² 驅動
  6.  A4f-SLOPE :VIX² 加上 (VIX3M - VIX) 期限結構斜率
  7.  A4f-COMBO :VIX9D²、VIX²、VIX3M² 三者一起放

每個 A4f 規格各跑兩個目標:close-to-close 報酬平方(r²_close)與 open-to-close 報酬平方(r²_oc)。

估計與評估

  •  估計方法 :L-BFGS-B 配 3 次 multi-start 起始值,A4f 的負對數似然函數用 numba 編譯加速
  •  滾動視窗 :2,000 天訓練窗,每 63 個交易日(約季度)重估一次,總共 53 次 refit
  •  評估指標 :Patton(2011)的 QLIKE 損失函數(對波動率代理變數穩健)、MSE、MAE、Spearman 相關係數
  •  比較檢定 :兩兩配對的比較檢定(Newey-West HAC 標準誤,落後階數 T^(1/3))
  •  顯著性門檻 :HLZ (2016) 統計強度 > 3.0 的嚴格統計門檻

Lookahead audit(已通過)

  • VIX 落後 1 期:vix_lag[t] = vix[t-1] 在 build_vix2_lag 函式內明確實作
  • 樣本外預測在 t 期使用的是 t-1 期已知的 X²,不會洩漏未來資訊
  • g 狀態在 refit 之間連續傳遞,不會偷看未來報酬
  • 隨機種子固定為 42,重抽樣與起始值搜尋都可重現

三、QLIKE 排名:誰是冠軍?

close-to-close 目標

排名模型QLIKESpearman ρ
1A4f-VIX9D-8.66750.4490
2A4f-VIX-8.64990.4347
3A4f-SLOPE-8.62210.4373
4A4f-VIX3M-8.61160.4111
5A4f-VVIX-8.58800.4000
6GJR baseline-8.56070.3727
7A4f-COMBO-8.48030.4345

open-to-close 目標

排名模型QLIKESpearman ρ
1A4f-VIX9D-9.09590.4373
2A4f-COMBO-9.09580.4415
3A4f-VIX-9.07680.4250
4A4f-SLOPE-9.07530.4255
5A4f-VIX3M-9.04360.4078
6A4f-VVIX-9.01460.3969
7GJR baseline-8.97890.3680

QLIKE 排名比較

兩個目標下, VIX9D 都拿了第一 ,但緊追在後的是誰,要看目標。close-to-close 目標下是 VIX,QLIKE 改善落在 0.20% 到 0.32% 之間。open-to-close 目標下是 COMBO,兩者差在小數第四位(-9.0959 對 -9.0958),比較檢定統計強度只有 +0.02,這個名次分不出高下。COMBO 在 close 目標下反而比 GJR baseline 還差,這個目標之間的落差是個有趣的訊號,後面會解釋。

close 排名表的第 2、3 名(VIX 與 SLOPE)差距也很小:把輸入價格改動到小數第九位再重跑,這兩列會互換。第 1 名與最後兩名則每次重跑都不變。

四、比較檢定:差距是真的,但有多大?

光看 QLIKE 排名不夠,必須做正式的 兩模型比較顯著 檢定,看差距是不是統計上站得住腳。

各 A4f 變體 vs GJR baseline(r²_close)

模型對統計強度是否達 HLZ 嚴格門檻
A4f-VIX9D vs GJR+7.35 ~ +7.92五次重跑全部達標
A4f-VIX vs GJR+6.24 ~ +7.18五次重跑全部達標
A4f-VIX3M vs GJR+4.03 ~ +4.64五次重跑全部達標
A4f-VVIX vs GJR+2.07 ~ +2.84五次重跑全部未達標
A4f-SLOPE vs GJR+1.63 ~ +6.57不穩定(五次中三次達標)
A4f-COMBO vs GJR-0.67 ~ -0.63五次重跑全部未達標(GJR 反而勝)

這一欄給區間,因為 close-to-close 這一組的統計量對輸入價格的末位極度敏感:把 SPY 調整後收盤價乘以 1 減 10 的負 9 次方(浮點誤差的量級)再重跑,每一格都會變。區間兩端就是五次重跑的最小值與最大值,中間沒有哪一個值比另一個更「正確」。open-to-close 那一組完全沒有這個問題,五次重跑逐位相同,所以下面那張表給單一數字。

各 A4f 變體 vs GJR baseline(r²_oc)

模型對統計強度是否達 HLZ 嚴格門檻
A4f-VIX9D vs GJR+6.22★★★ 是
A4f-VIX vs GJR+6.08★★★ 是
A4f-SLOPE vs GJR+5.60★★★ 是
A4f-COMBO vs GJR+5.53★★★ 是
A4f-VIX3M vs GJR+4.75★★★ 是
A4f-VVIX vs GJR+3.17★★★ 是

DM 矩陣熱圖

關鍵頭對頭:VIX9D vs VIX

這才是真正要回答 H1(VIX² 是不是最佳天期)的關鍵:

  •  r²_close 目標 :統計強度落在 +2.70 到 +4.47 之間,五次重跑中四次達標、一次未達—— 過不過門檻,這份資料判不出來 。原始歸檔的那一次落在未達標的一端,單看那一次會判 H1 在 close 目標下為 FAIL;換另一次重跑會得到 PASS,這個判定本身不穩定。
  •  r²_oc 目標 :統計強度 +3.53, 達顯著水準 (H1 在 oc 目標下 PASS)。這個目標的五次重跑逐位相同,判定穩定。

換句話說,VIX9D 確實在兩個目標上都比 VIX 微幅勝出;在 open-to-close 上差距穩定地跨過門檻,在 close-to-close 上則是連「有沒有跨過門檻」都答不出來。

加期限結構斜率有用嗎?

H2 假設加上 VIX3M - VIX 的期限結構斜率作為第二個迴歸子,能再多榨出一點預測力。結果:

  •  r²_close :SLOPE vs VIX 統計強度落在 -1.10 到 +1.48 之間, 連正負號都不固定 ——誰略好這份資料答不出來,唯一確定的是五次重跑都離顯著門檻很遠
  •  r²_oc :SLOPE vs VIX 統計強度 -0.28(VIX 略好,未達顯著)

H2  FAIL 。期限結構的資訊跟 VIX 水準本身高度重疊,加進去沒有額外貢獻。

五、整體結論:VIX 家族都能用,差別不大

模型比較表

把所有結果彙整起來,K1073 給出三個明確結論:

結論一:四種單一 VIX 變體都顯著贏過 GJR

VIX、VIX9D、VIX3M、VVIX 在 r²_oc 目標下 全部 達到嚴格統計門檻(HLZ 2016 統計強度 > 3.0),打敗純 GJR-GARCH。在 r²_close 目標下,前三者五次重跑全部顯著勝出,VVIX 五次重跑全部未達門檻。

 意義 :A4f-GARCH 框架對 VIX 天期選擇 不敏感 ——重點是「有沒有 VIX 家族變數」,不是「選哪一個天期」。

結論二:VIX9D 微幅勝過 VIX,但實務意義不大

QLIKE 改善在 open-to-close 目標下是 0.21%(五次重跑相同),在 close-to-close 目標下落在 0.20% 到 0.32% 之間。比較檢定統計強度 +2.70 ~ +4.47(close)/ +3.53(oc):oc 穩定達嚴格統計門檻,close 則判不出來。VIX9D 的歷史比 VIX 短了 21 年(2011 vs 1990),這對長樣本研究是重大限制。

結論三:「越花俏越好」不成立

 這個結論只在 close 目標下成立,oc 目標下不成立。 

close 目標下,A4f-COMBO(同時放 VIX9D²、VIX²、VIX3M²)比 GJR baseline 還 差 (統計強度在五次重跑中落在 -0.67 到 -0.63 之間,逐次數值見 experiments/k1073/reconciliation/k1073_reconciliation_results.json 與 experiments/k1073/archived/k1073_results_2026-04-12.json)。原因:VIX 家族兩兩相關係數都超過 0.9,多重共線性讓最佳化過程不穩定,部分 refit 視窗的 MSE 飆到 1.79e+08——這個崩潰在五次重跑裡每一次都出現,是穩固的現象。

但同一個 COMBO 規格在 oc 目標下與 VIX9D 並列第一,MSE 也完全正常(5.20e-08)。所以正確的說法要加上一個限定詞: 三個一起放,在 close-to-close 這個比較難預測的目標上會壞掉 ;換到 open-to-close,同樣的規格是並列第一。

A4f-SLOPE(VIX² 加期限結構斜率)的情況又弱一級:close 目標的 MSE 在四次重跑中兩次飆到 1.22e+07 與 6.75e+06,另外兩次是正常的 1.5e-07。 它描述的是最佳化過程不穩定,不是資料本身的性質 ——同一份資料,換一條浮點路徑就不崩了。

一個有趣的反直覺現象

如果看 θ₁(VIX 係數)跨 53 次 refit 的穩定性(變異係數 CV):

模型CV
A4f-VVIX_close0.60(最穩定)
A4f-VIX9D_close1.50
A4f-VIX_close3.00
A4f-VIX_oc5.55(最不穩定)

 參數越穩定,預測力反而越差 。這聽起來矛盾,但其實是已知的 GARCH-MIDAS 識別問題,我們沒有強加 E[g]=1 的標準化條件,所以 τ 與 g 兩個成分的個別參數可以「自由分工」,但乘積 τ·g 仍然 well-identified(預測本身有效)。研究誠實的角度,這個侷限必須誠實揭露。

六、對 Paper 9 的具體建議

最終建議: 保留 A4f-VIX 為主規格,把 A4f-VIX9D 放進 robustness 附錄 。

理由有四:

  1.  邊際改善小 :QLIKE 改善 0.20% ~ 0.32%,比較檢定統計強度只有一個目標(r²_oc)穩定跨過 HLZ 嚴格統計門檻;另一個目標(r²_close)跨不跨得過判不出來
  2.  資料覆蓋窄 :VIX9D 從 2011 年起,VIX 從 1990 年起。改用 VIX9D 會犧牲 21 年的潛在 OOS 樣本,包含 2008 金融海嘯這種重要的歷史壓力情境
  3.  業界先例 :VIX² 是 GARCH-MIDAS 文獻的業界標準(Engle, Ghysels, Sohn 2013),偏離標準需要更強的證據
  4.  強化 robustness :把 VIX9D 放進附錄,可以證明「A4f 的有效性是 VIX 內容驅動,不是特定天期驅動」,這個 framing 反而強化 Paper 9 的核心主張

七、限制與未來方向

K1073 不是最終答案。誠實揭露五個限制:

  1.  標準化未強加 :自由 ω_g 參數化導致 τ 與 g 個別不可識別。未來 K 應重估 E[g]=1 約束版本
  2.  雙峰最佳化 :L-BFGS-B 在不同 refit 視窗找到「τ 主導」與「g 主導」兩個局部最優解。預測本身一致,但參數軌跡呈現雙峰
  3.  樣本起點 2013 :無法外推到 2008-09 危機期間。VIX9D 可得性是 binding constraint
  4.  VIX 家族多重共線性 :VIX 與 VIX9D / VIX3M 兩兩相關係數 > 0.9,COMBO 規格因此數值不穩定
  5.  單一資產 :只測 SPY。QQQ、GLD、台灣 0050 的跨資產驗證留待後續 K

未來研究方向:

  • 用 E[g]=1 標準化重估,讓 τ/σ² 比例可解釋
  • 測試 log(VIX) 變換或平方根變換
  • 跨資產 VIX 敏感度(QQQ、GLD、0050.TW;對 0050 主用 VIXTWN,VIX 當跨市場 proxy)
  • 時變 VIX 選擇:高波動率體制下 VIX9D 是否勝出?低波動率體制下 VIX3M 是否勝出?
  • 延伸到 2000 年起,犧牲 VIX9D,但納入 2008 危機

八、給投資人的三個 take-away

  1.  「選對 VIX 天期」沒有大家想的那麼重要 :四種天期全部都比沒有 VIX 的 GARCH 模型好。重點是「有用 VIX」,不是「用哪一個」
  2.  更花俏不一定更好,但要看你預測什麼 :把三種 VIX 一起塞進去,在 close-to-close 目標上會因為共線性而讓模型崩潰;在 open-to-close 目標上它反而與最佳的單一天期並列第一。簡單、單一變數的規格勝在兩個目標上都穩定
  3.  歷史長度有實務價值 :VIX9D 雖然反應快,但只回到 2011;如果你的策略需要驗證跨多次危機(2008、2011、2015、2018、2020、2022),VIX 仍是首選

資料來源

  •  實驗代號 :K1073(A4f Exogenous Variable Sensitivity — VIX9D vs VIX vs VIX3M vs VVIX)
  •  資產 :SPY(S&P 500 ETF)
  •  VIX 家族 :^VIX、^VIX9D、^VIX3M、^VVIX,皆來自 yfinance
  •  樣本期間 :2011-01-04 至 2026-04-10
  •  OOS 期間 :2013-01-02 起,共 3,330 個觀察值
  •  滾動視窗 :2,000 天,每 63 日 refit,總計 53 次重估
  •  隨機種子 :42(可重現)
  •  相關 K :K988(A4f-VIX vs GJR 首次驗證)、K1056(A4f-VIX 跨子期間穩定性)、K1066(A4f_oc vs GJR_oc 在 r²_oc 上首次驗證)、K1024(同 family 跨資產延伸)

參考文獻

  • 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. Journal of Applied Econometrics, 20(7), 873-889.
  • CBOE. VIX, VIX9D, VIX3M, VVIX methodology white papers.

延伸閱讀

相關文章

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

📄
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…
→
📄
K1874:SPY/GLD 波動縮放規則的黃金腿,Sharpe 改善來自脫離 VIX,GVZ 沒有增量
一般讀者版〈股市恐慌時,黃金要不要跟著一起減碼?〉給的是配置結論:黃金腿不要跟著 VIX 一起縮放。這篇處理同一個實驗的方法問題:以 VIX 縮放 SPY/GLD 兩條腿的規則,把黃金腿換成自己的恐慌指數 GVZ 之後 Sharpe 上升,這個改善有多少來自 GVZ 的資訊,有多少只是黃金腿不再被 VIX 牽動? 這個區分決定了下一步要做什麼。若改善來自 GVZ,值得投入的是更好的黃金波動預測;若…
→