← 研究動態
研究2026/06/15 上午11:18

VIX 切太早,反而吃掉報酬:用 VIX 期限結構斜率重新校準「保守 VT」

SPYstrategyvtvixvolslope

讀者互動

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

分享到:LINEFacebookX / Twitter

VIX 切太早,反而吃掉報酬:用 VIX 期限結構斜率重新校準「保守 VT」

TL;DR 線上保守型 VT 用 VIX 水準閾值(>22 切現金)2018 至今年化 6.1%、Sharpe 0.54,遠輸 Buy&Hold 的 16.8%、0.81。改用 VIX/VIX3M 斜率,且只在斜率 ≥1.05(短端恐慌遠超長端)時切現金,OOS Sharpe 升到 0.92、MDD -24.5%、Calmar 0.63,是五策略中唯一同時把風險與報酬都做出來的版本。但 bootstrap 雙尾 p=0.096、Bonferroni 校正後 p≈0.29,Codex 給的是 CONDITIONAL_PASS 而非 PASS。

一、線上 VT 策略的盲點:VIX 水準閾值切太早

VolPred 線上保守型 VT 用一條簡單規則:VIX 高於某個閾值就把倉位切到現金,等恐慌過去再回場。邏輯本身沒問題,VIX 站上 25、30 確實常常對應市場顛簸。

問題是「閾值」這個設計把所有資訊壓縮成一個數字。VIX=22 可能是 SPY 從高點回檔 5% 的小擾動,也可能是 2020 三月那種真的要崩的訊號,一視同仁處理。

我們把 VIX 水準閾值在 IS(2010–2017)做 grid tune,最佳閾值落在 22。套到 OOS(2018-01 至 2026-06-13、2,123 個交易日),結果是年化報酬 6.1%、Sharpe 0.54、最大回檔 -23.0%。

同期間單純 Buy&Hold 的 Sharpe 是 0.81、年化 16.8%。這套保守 VT 確實壓低了回檔,代價是把 alpha 也削掉一大塊,等於用很高的成本買了一份未必需要的保險。

K1335 想問的是:如果改用 VIX 期限結構斜率(VIX/VIX3M)當訊號,會不會比單看 VIX 水準準?

二、斜率比水準更精準?K1335 五策略對照

VIX/VIX3M 斜率 >1.0 在期權市場是 backwardation 訊號:短端隱含波動率高於長端,代表交易者押注「近期」會有事。教科書版的閾值就是 1.0;我們同時測 0.95(更早切)與 1.05(只在極端時切)。

OOS 期間 2018-01-01 至 2026-06-13,n=2,123,資料來源 yfinance,全部策略都用 signal.shift(1) lag、每邊交易成本 tc_per_side=0.001,seed=42:

策略年化報酬年化波動SharpeMDDCalmarturnover
Buy & Hold16.8%19.2%0.81-33.7%0.500.0
VIX level (th=22, 線上保守 VT 邏輯)6.1%11.1%0.54-23.0%0.2714.72
Slope 1.00(教科書 backwardation)12.1%14.4%0.80-30.1%0.4013.3
Slope 0.95(敏感切)8.8%12.4%0.68-29.0%0.3022.8
 Slope 1.05(只在極端切)  15.5%  15.7%  0.92  -24.5%  0.63  5.0 

斜率 1.0 的版本基本上跟 Buy&Hold 打平(Sharpe 0.80 vs 0.81),低 turnover 也沒帶來明顯優勢,但至少沒像水準閾值那樣把報酬切掉一半。

0.95 更敏感的版本最慘,turnover 飆到 22.8、報酬只剩 8.8%,每次過早切現金都被 V-shape 反彈打臉。

真正有意思的是 1.05。turnover 從 14.72 砍到 5.0、Sharpe 從 0.54 拉到 0.92、MDD 從 -33.7%(B&H)降到 -24.5%,Calmar 0.63 是五策略中最高。

年化 15.5% 雖然略輸 B&H 的 16.8%,但用 9% 的報酬差換 9% 的回檔改善,這個 trade-off 是合理的。

三、equity curve 與 drawdown

equity curve 對照

drawdown 對照

2020 三月 COVID、2022 升息、2025 末的修正三次都看得到 slope_1_05 的曲線在拉開差距。它沒有每次都比 B&H 早離場,事實上很多小回檔它根本沒動。

碰到斜率衝到 1.05 以上的真實恐慌(2020-03、2022-02、2022-09 那幾次)才會果斷切現金,等斜率回落再回場。

四、機制:切太早 vs 切太晚的 trade-off

VIX/VIX3M 斜率反映「市場對近期 vs 中期波動的相對定價」。平時這個比值在 0.85–0.95 之間(contango,長端高於短端,正常狀態),出現急跌或事件衝擊時短端會先暴衝,比值才會翻過 1.0。

閾值設 0.95 等於把正常 contango 末端也當訊號,誤判率高、turnover 高,每個月都在繳「假警報稅」。

閾值設 1.0 抓得到 backwardation 開始,但 backwardation 初期常常是「假突破」,會看到很多次切了又切回來。

閾值設 1.05 等於只回應「短端比長端高 5% 以上」的極端訊號。這種狀態在過去 16 年大概只出現過 50–60 次,每次幾乎都對應真實的市場壓力,所以 turnover 才會壓到 5.0。

1.05 這個閾值的優勢來自「有耐心」。它放掉所有看起來像 backwardation 但其實只是雜訊的訊號,只在訊號夠強的時候才動。

五、結論與後續

斜率訊號相對 VIX 水準閾值有方向性優勢(Sharpe +0.38、turnover 只有三分之一),這個方向跟我們對「期權市場資訊密度比現貨指數高」的先驗一致。

但 bootstrap p=0.096 在多重比較校正後 p≈0.29,技術上是 CONDITIONAL_PASS,還沒到可以直接上架 VolPred 策略板的程度。

下一步是把 IS-tuning 的 asymmetry 修掉(VIX 水準閾值有 IS tune、slope 沒有),加上 walk-forward 與 multi-test honest framework(避免 grid 偷看 OOS),交易成本改用 round-trip 而非 per-side,再跑一次。

若 honest framework 下 p<0.05 仍能保住,這就是 slope_vt_overlay_v1 候選策略。若退到不顯著,仍可作為線上保守 VT 的修補建議(把水準閾值換成斜率閾值,至少不會像現在這樣吃掉那麼多 alpha)。

來源

  • 實驗 K1335:experiments/K1335/K1335.py、結果 experiments/K1335/K1335_results.json
  • 資料:yfinance(SPY、^VIX、^VIX3M),2010-01-01 至 2026-06-13,OOS n=2,123
  • Codex review verdict:CONDITIONAL_PASS(reviewer Codex CLI gpt-5.4,2026-06-15 08:21 台灣時間),caveats: multi_test_bonferroni_failed、is_tuning_asymmetric、tc_per_side_not_round_trip
  • 對應線上策略:保守型 VT(VIX 水準閾值邏輯);候選改進策略 slope_vt_overlay_v1

相關文章

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

📄
把 VIX 期限結構算成「波動風險溢酬」,能預測美股回檔嗎?4500 天回測,答案是不行
# 把 VIX 期限結構算成「波動風險溢酬」,能預測美股回檔嗎?4500 天回測,答案是不行 VIX 大家都熟。它是市場恐慌指數。 但市場其實還有兩個少人提的兄弟:VIX3M(3 個月版)和 VIX6M(6 個月版)。把這三個拉出來看「斜率」,理論上能告訴你交易員對未來幾週與未來半年的恐慌定價差多少。 更進一步,把 IV²(隱含波動率平方)減去同期間的實現波動率平方,就是學界很重視的 VRP...
📄
VIX 自己的波動率,能不能預測 VIX?
# VIX 自己的波動率,能不能預測 VIX? > 一個誠實的弱訊號:自製 vol-of-vol 在統計上贏 AR(1) baseline,但過不了多重檢定。 ## 我們在問什麼 VIX 是市場的「恐慌溫度計」,每天上下跳。一個自然的問題是:**VIX 自己的波動率(vol-of-vol),能不能預測明天 VIX 的水位或變動幅度?** 業界做這件事通常會用 VVIX,也就是「VIX 選擇...
📄
日頻波動率,HAR-RV 贏不了 GARCH:60 場跨資產對戰的紀錄
# 日頻波動率,HAR-RV 贏不了 GARCH:60 場跨資產對戰的紀錄 > 實驗 K188 | OOS 期間 2023-01-01 至 2024-12-31 | 5 資產 × 4 波動率代理 × 3 模型變體 --- HAR-RV 是過去二十年波動率預測文獻裡出現率最高的模型之一。它把波動率分解成日、週、月三個頻率的加總,捕捉長記憶結構,跑在五分鐘高頻數據上幾乎無敵。 那在日頻數據上呢...