← Research Feed
一般讀者2026/05/17 下午11:00

VIX 期限結構斜率能預測波動,卻換不到交易 alpha:一個誠實的失敗紀錄

VIX期限結構波動率研究誠實擇時策略失敗紀錄

讀者互動

已追蹤瀏覽 0 次,登入會員可按讚與收藏。

分享到:LINEFacebookX / Twitter

VIX 期限結構斜率能預測波動,卻換不到交易 alpha:一個誠實的失敗紀錄

為什麼要寫這一篇

研究路徑上最常見的陷阱之一,是看到一個訊號在「預測波動率」上有統計上的微小優勢,就直接假設它能轉化成「可交易的超額報酬」。這篇文章想分享一個我們親自踩到坑、然後完整驗證、最後得到  NULL RESULT  的案例:用 VIX 與 VIX3M 的比值(VIX 期限結構斜率)做擇時。

我們之前的研究 K975 已經顯示,VIX/VIX3M 斜率對未來 5 天的已實現波動率(realized volatility,RV)有大約  +2.2% 的增量解釋力 ,且兩模型比較顯著。聽起來像一塊還沒人撿走的便宜肉。所以 K993 的問題很單純:

 如果這個斜率對 5–22 天的波動率有預測力,能不能設計一個中頻(週調或月調)策略,把這份預測力換成超額報酬? 

劇透:不能。但在解釋為什麼不能的過程中,我們得到了一個比成功更值錢的教訓。

訊號是什麼

VIX 期限結構斜率定義很直觀:

  •  斜率 = VIX / VIX3M 
  • 斜率 < 1:contango(短期波動率低於中期),市場相對平靜
  • 斜率 > 1:backwardation(短期波動率高於中期),市場處於壓力狀態

從 2010 年到 2026 年共 4088 個交易日的資料來看,VIX 大部分時間都在 contango:

狀態佔比
任何 contango(斜率 < 1)92.1%
深度 contango(斜率 < 0.85)58.5%
Backwardation(斜率 > 1)7.9%
強 backwardation(斜率 > 1.05)1.7%

平均斜率 0.895,標準差 0.075。也就是說,這個訊號絕大多數時間都在說「沒事」,少數時候才會跳出來警示。理論上,這正是擇時訊號該有的樣子:平常 risk-on,警示時降槓桿。

我們設計了哪些策略

我們把斜率包裝成幾個 regime(情境)對應的權重,並用兩種不同的再平衡頻率測試:

深度 contango  (s < 0.85) → 權重 1.2(積極)
正常 contango  (0.85 ≤ s < 1.0) → 權重 1.0(中性)
輕微 backwardation (1.0 ≤ s < 1.05) → 權重 0.7(縮手)
強 backwardation (s ≥ 1.05) → 權重 0.3(防禦)

加上現成的 12/VIX baseline(這是同領域裡最常用的擇時 baseline)做交叉組合,最後比較 7 個策略:Buy & Hold、Daily 12/VIX、Weekly 12/VIX、Slope VT (Weekly/Monthly)、Slope+12/VIX (Weekly/Monthly)。所有訊號都用 signal.shift(1) 滯後一天再進場,避免 lookahead;交易成本一律 5bp(0.05%)。

樣本切分: IS 為 2010–2018,OOS 為 2019–2026 ,OOS 長達 1824 個交易日,跨越 COVID、2022 熊市、2024 八月波動率脈衝、2025 多頭等多種市場狀態。

OOS 表面結果:看起來最好的那個其實在「灌槓桿」

先看樣本外(OOS)的核心數字:

策略風險調整後報酬最大回撤平均權重
Buy & Hold0.654-33.7%1.00
Daily 12/VIX0.531-14.6%0.72
Weekly 12/VIX0.477-15.6%0.72
 Slope VT (Weekly)  0.759 -25.8% 1.09 
Slope VT (Monthly)0.726-28.2%1.09
Slope+12/VIX (Weekly)0.485-15.5%0.75
Slope+12/VIX (Monthly)0.493-18.6%0.75

第一眼會被  Slope VT (Weekly) 的 0.759  吸引——它比所有 baseline 都高。和 Daily 12/VIX 的兩模型比較也達顯著水準(DM 統計量 2.549)。如果只看到這裡,恐怕已經可以直接打包上架。

但仔細看「平均權重」那一欄: 1.09 。

也就是說,Slope VT (Weekly) 平均下來其實 處於 109% 的市場曝險(隱含小幅槓桿) ,而對照組 Daily 12/VIX 平均才 0.72(72% 曝險)。Slope VT 的「高分」, 不是斜率訊號擇時帶來的 alpha ,而是因為它整段 OOS 期間的市場曝險本來就比 baseline 高 50% 左右——在 2019–2026 這個多頭主導、Buy & Hold 風險調整後報酬 0.65 的環境下,誰把曝險拉高,誰的數字就好看。

這也呼應了它的最大回撤: -25.8% ,比 Daily 12/VIX 的 -14.6% 接近翻倍。它沒有比 baseline 更會擇時,它只是承擔了更多 beta。

把斜率「加進」12/VIX 反而更糟

如果斜率真有額外資訊,把它疊加在 12/VIX 上應該要讓 Daily 12/VIX 變得更好。實際結果:

  • Daily 12/VIX:0.531(基準)
  • Slope+12/VIX (Weekly):0.485( 惡化 )
  • Slope+12/VIX (Monthly):0.493( 惡化 )

兩模型比較都不顯著(DM 統計量分別 -0.41、+0.37)。在控制曝險的情況下, 斜率調整不但沒貢獻 alpha,還製造了額外的 noise 。這是一個比 Slope VT 高分還更直接的反證:當你用 12/VIX 把市場曝險「拉到同一個水位」再來比,斜率的價值就消失了。

檢驗門檻:達不到嚴格統計門檻

我們把 OOS 的兩模型比較拉到嚴格統計檢驗門檻(學術界對「真的有 alpha」的常見高標)下檢視。對 Daily 12/VIX 的兩模型比較統計量:

  • Slope VT (Weekly):2.549
  • Slope VT (Monthly):2.321
  • Slope+12/VIX (Weekly):-0.412
  • Slope+12/VIX (Monthly):+0.371

 沒有一個達到嚴格統計檢驗門檻 (學術界常用 統計強度 > 3.0 作為控制假發現率的高標)。Slope VT 雖然達顯著水準(雙尾 p ≈ 0.011 / 0.020),但在多重比較與資料窺視(data snooping)的考量下,這個強度遠遠不夠支撐「我們發現了一個 alpha 訊號」這種陳述。

真正打臉的是 2022

OOS 期間有兩段壓力測試最具代表性:

 COVID 2020(avg slope = 1.15,明確 backwardation) 

策略報酬
Buy & Hold-33.4%
Daily 12/VIX-12.6%
Slope VT (Weekly)-20.7%
Slope VT (Monthly)-14.4%

斜率衝高到 1.15,理論上應該觸發防禦權重。但即使如此,Slope VT 的損失仍比 Daily 12/VIX 大——因為它在 COVID 之前的 contango 期長期維持在 1.2 槓桿,下跌時的損失被放大,斜率轉成防禦時已經晚了一拍。

 2022 熊市(avg slope = 0.93,竟然還在 contango) 

策略報酬
Buy & Hold-24.1%
Daily 12/VIX-14.2%
 Slope VT (Weekly)  -25.3% 
Slope VT (Monthly)-27.7%

這一段才是 Slope VT 的「致命傷」。整個 2022 年是一個慢熊(slow bear),不是恐慌型崩跌;VIX 整年都偏高,但 VIX3M 也跟著高, 斜率始終維持在 contango ,平均才 0.93。整個下跌過程中,斜率訊號從頭到尾都在說「risk-on」,策略反而被逐月凌遲,結果比單純買進持有還差。

為什麼預測波動率,卻換不到 alpha?

這是整個 K993 留下的最重要的觀念:

 斜率預測的是「波動率水準」,不是「報酬方向」。 

未來 5 天高 RV,有可能是崩跌(這時斜率有用),也有可能是高波動的反彈或盤整(這時斜率甚至會誤判方向)。同樣是「未來會很波動」,方向相反,對純多策略的價值就完全相反。這也解釋了為什麼 K975 的 +2.2% R²(對 RV)這麼漂亮,搬到擇時就消失:

  1. 擇時策略賺的是「方向 × 曝險」,不是「波動率水準」
  2. RV 預測力是對稱的(漲跌都算高 RV),方向訊號才是不對稱的(只有跌才該降曝險)
  3. 在 contango 為主的長期樣本裡,斜率多數時間都不發出警告;它能發出警告的場景(COVID 那種)剛好是市場已經跳水的當下,擇時價值很有限
  4. Slow bear(2022)市場根本不進入 backwardation,訊號完全失效

我們學到什麼

K993 是一個誠實的 NULL RESULT,但它換來幾個對未來研究紀律有用的規則:

  1.  R² 和風險調整後報酬不是同一個東西 。看到一個訊號對波動率有額外解釋力,要再問一個問題:「它對方向有訊息嗎?還是只對水準有訊息?」如果只是後者,做擇時很可能徒勞。
  2.  平均權重要看清楚 。當策略 A 風險調整後報酬高於策略 B,第一個檢查不是「A 是不是真的比較會擇時」,而是「A 和 B 的平均市場曝險是否相同」。曝險差距才是大多數「假 alpha」的真正來源。
  3.  OOS 要橫跨多種市場狀態 。如果 K993 的 OOS 只有 2019–2021,Slope VT 看起來會很厲害;2022 那年才把它打回原形。這也再次說明研究時要強迫自己包含至少一個空頭環境。
  4.  嚴格統計檢驗門檻是一道值得守的高牆 。雙尾達顯著水準(p ≈ 0.01)在純粹的單一檢定下確實有用,但在策略研究這種「多重嘗試 + 樣本窺視」高度氾濫的情境,把門檻拉到嚴格統計檢驗門檻能避免我們把 noise 當 signal 上架。
  5.  不要回頭微調 regime 門檻把它救活 。若我們在 OOS 看完結果後,回頭去微調 (0.85 / 1.0 / 1.05) 這幾個切點,肯定能變漂亮,但那是 in-sample 過擬合。NULL 就是 NULL,不重新粉飾。

給讀者的一個實用建議

如果你正在使用任何「波動率擇時」訊號,下次看到一個漂亮的回測,請固定先問三件事:

  • 這個策略的 平均市場曝險 是多少?和 baseline 是不是同一個水位?
  • 它在 慢熊 (不是恐慌崩跌)的環境下表現如何?
  • 它的 alpha 是來自 訊號對「方向」的判斷 ,還是來自 長期較高曝險賺到的 beta ?

這三個問題能擋掉大部分看似漂亮、實則只是包裝過的多頭曝險。

附圖

累積報酬比較(IS / OOS)

斜率 regime 與策略權重時序圖

資料來源

  •  價格資料 :yfinance(SPY、^VIX、^VIX3M),2010-01-04 至 2026-04-06,共 4088 個共同交易日
  •  樣本內期間 :2010–2018(2263 天)
  •  樣本外期間 :2019–2026(1824 天)
  •  訊號滯後 :所有策略訊號皆 signal.shift(1),無 lookahead
  •  交易成本 :每次權重變動 0.05%
  •  隨機種子 :np.random.seed(42)
  •  完整實驗檔 :experiments/k993/(README + Python script + results JSON + 兩張原始圖)
  •  前置研究 :K975(VIX/VIX3M 斜率對 5d RV 的 +2.2% R²)、K976(將斜率併入日頻 MF2-GARCH 的 NULL 結果)

結論

K993 對「 VIX 期限結構斜率能否轉化成可交易 alpha 」這個問題給出的答案是: 不行 。

  • 看似最高分的 Slope VT (Weekly) 0.759,其實是 109% 曝險帶來的 beta,不是 alpha
  • Slope+12/VIX 在控制曝險後反而比純 12/VIX 更差
  • 沒有任何策略達到嚴格統計檢驗門檻
  • 2022 慢熊市場直接證明斜率訊號在最需要的時候失靈

這個結果不否定 K975(斜率對 RV 仍有預測力),它只是把那份預測力放回了它真正屬於的地方: 風險管理 / 波動率預測 ,而不是 擇時收益 。下一步的方向是把斜率丟進 risk-targeting 框架(控制組合波動率、動態風險預算),而不是繼續嘗試讓它「擇時」。

研究有時候最重要的產出不是一條新策略,而是把一條看起來能上架、實則站不住的策略,誠實地關掉。

詳情

experiment_refs
K993

相關文章

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

📄
油價還在 100 美元,VIX 卻說沒事了——誰說錯了?
--- title: "油價還在 100 美元,VIX 卻說沒事了——誰說錯了?" audience: general tags: [油價, VIX, 波動率, 跨市場, 地緣政治, 風險評估] experiment_refs: [] description: "WTI 原油破百天數已超過 75 天,VIX 卻悄悄回到 18。這兩件事同時為真,但它們量的根本不是同一件事。" image_url: ...
📄
美國 VIX 預測台灣 0050 的波動率?跨市場時差讓訊號被稀釋的真實案例
# 美國 VIX 預測台灣 0050 的波動率?跨市場時差讓訊號被稀釋的真實案例 ## 一個直覺:美國的恐慌指數,是不是台灣交易日早盤的「先行指標」? 很多投資人都注意過一件事:美國股市收盤之後,台灣股市才剛開盤。當美股當晚劇烈震盪、VIX(波動率指數,俗稱恐慌指數)大幅跳升時,隔天早上 09:00 一開盤,台灣 0050 似乎也會跟著動盪。這個「美國先動、台灣再動」的時差結構,看起來像是一個...
📄
為什麼同樣是『商品 ETF』,銅銀就是吃不到 VIX 紅利?—— 給散戶與資產配置者的一張資產相容性地圖
# 為什麼同樣是「商品 ETF」,銅銀就是吃不到 VIX 紅利? ## 一段給急著看結論的讀者 如果你是用 ETF 做資產配置的散戶、或是替客戶選工具的理財顧問,K1091 這個實驗對你的價值很簡單: - **不是所有資產都能用同一套「波動率參考指標」**。 - 拿 VIX(S&P 500 的恐慌指數)去推**全球股票 ETF**(VGK 歐股、EWJ 日股)的波動率,是有效的; - 拿同一...
VIX 期限結構斜率能預測波動,卻換不到交易 alpha:一個誠實的失敗紀錄 | VolPred