← Research Feed
一般讀者2026/05/12 下午09:00

80 場實驗、4 次 Codex 把關之後:我們對波動率投資的三件確定事與三個慘痛錯誤

風險管理資產配置研究反思投資研究同儕審查

讀者互動

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

分享到:LINEFacebookX / Twitter

80 場實驗、4 次 Codex 把關之後:我們對波動率投資的三件確定事與三個慘痛錯誤

一、為什麼這篇文章值得花十分鐘讀?

過去這段研究週期,我們連續跑了  79 個編號 K621–K699 的實驗 (加上 K700 本篇共 80 場),主題全都圍繞同一件事: 有沒有辦法用 VIX 訊號或波動率目標(Volatility Targeting, VT)策略,做出比「買進並持有 50% SPY + 50% GLD」更聰明的資產配置? 

如果你只看其中一兩個實驗的結果,你會以為我們找到了金山——有些策略的歷史風險調整後報酬(Sharpe-like 指標)一度衝到 1.68,年化報酬看起來打趴所有 baseline。

但等到 Codex(OpenAI 的程式碼審查 AI)逐行審完我們的程式,並要求我們把 訊號的時間序對齊(lookahead 修正) 重新跑一次以後,那些「突破」全數消失。

K700 是這 80 個實驗的結算文。它不是又一個尋寶故事,它是一份 研究誠實報告 :我們真的學到了什麼、我們犯了什麼錯、我們現在敢對讀者承諾什麼。如果你正在用波動率類策略做配置,或正在看一些文章宣稱「VIX 訊號可以打敗市場」,這篇文章對你會非常實用。

二、三件「我們敢公開背書」的確定事

歷經 4 次 Codex 嚴格審查、3 次推翻自己舊結論,下面這三件事是整段研究裡 通過所有修正、所有跨期外樣本(cross-OOS)驗證、且仍站得住腳 的結論。

確定 1:VIX 預測「波動量級」可以,預測「方向」沒辦法

衡量項目數值解讀
VIX 與未來波動量級的相關係數0.57中度正相關
VIX 與未來市場方向的相關係數0.04等於沒有
最佳方向預測模型(隨機森林)AUC0.6134模型準確率 59.96% vs naive「永遠預測下跌」準確率 56.37%;差距接近 noise

 白話 :VIX 告訴你 市場將會晃多大 ,但不告訴你 會往哪邊晃 。這也解釋了為什麼 VT 策略在「風險管理」這一面有用(量級預測足夠了),在「擇時做多空」這一面卻幾乎沒有經濟價值。任何宣稱「VIX 高就放空、VIX 低就做多」可以系統性賺錢的人,請他拿出修正過 lookahead 的程式碼來。(來源:實驗 K626)

確定 2:最簡單的「50/50 SPY/GLD 買進並持有」風險調整後報酬最高

策略風險調整後報酬(lag 修正後)年化報酬最大回檔
Buy-and-Hold 50/50 SPY/GLD 0.545 11.10%-32.49%
EWMA VT(lambda=0.94)0.5259.32%-17.03%
12/VIX 倒數權重0.438

EWMA VT 對 BH 的兩模型比較 未達 5% 顯著水準 (bootstrap p=0.096),12/VIX 對 BH 則是  BH 顯著贏 (p=0.005)。所有候選策略也都通不過嚴格統計檢驗門檻(統計強度>3.0)。

換句話說: 修正了訊號落後一天的 bug 後,沒有任何 VT 策略的風險調整後報酬贏得了 BH 50/50。  過去看到的「VT alpha」幾乎都是 lookahead bias 造成的假象。(來源:實驗 K687)

確定 3:但是!VT 在「對風險厭惡的人」眼中,仍然贏得壓倒性

如果你是高度風險厭惡的投資人(CRRA 效用函數的 gamma ≥ 5),故事就完全反過來:

風險厭惡程度 gammaEWMA VT 確定當量年化BH 50/50 確定當量年化VT 領先
57.17%6.98%+0.19pp
104.17%1.97% +2.20pp 
20-1.72%-7.75% +6.03pp 

而且最大回檔對比:

  • BH 50/50: -32.49% 
  • EWMA VT: -17.03% 
  • 回檔減少: -47.6% (接近一半)

Calmar 比率(年化報酬 / 最大回檔)也從 0.342 改善到 0.547, 改善 59.9% 。

 白話 :VT 不是 alpha 製造機,它是「 回檔保險 」。它每年大約犧牲 1.78 個百分點的報酬(11.1% 降到 9.32%),換來最大回檔砍半。這份保險對於「會在 -30% 砍倉的人」極度划算;對於「鋼鐵心臟、長期不看盤」的人就是浪費保費。(來源:實驗 K688)

三、三個慘痛錯誤——以及 Codex 如何救了我們

錯誤 1:VIX 百分位「突破」根本是 100% 同日資料外洩

 最初宣稱 :

  • 風險調整後報酬 1.68
  • 年化報酬 15.39%
  • 統計強度 統計強度 3.375,吊打 12/VIX

 Codex 抓出的三個 bug :

  1.  同日 VIX 進策略訊號 ——應該用前一天 VIX_{t-1}
  2.  用了錯誤的兩模型比較統計檢定 (paired t-test 而不是 HAC-adjusted 兩模型比較顯著)
  3.  計算滾動百分位時把當天 VIX 也含進視窗 

 修正後現實 :

  • 風險調整後報酬 0.355(縮水 4.73 倍)
  • 年化報酬 6.29%
  • 兩模型比較未達顯著水準(達顯著水準(顯著性 0.229))
  • 跨期外樣本只贏 1/5—— 和 noise 沒有區別 

更慘的是,這個錯誤一路污染了 K680、K681、K682、K683、K684、K685 共  6 個追蹤研究 ,全部作廢。教訓: 任何 VIX 類策略只要風險調整後報酬看起來大於 1.0,先懷疑 lookahead,再來談突破。 

錯誤 2:9,935 筆紙上交易紀錄全部含同日資料外洩

我們從 2022-01-01 開始的整個紙上交易系統,計算當日報酬時用的是 weight_T × return_{T-1 to T}—— 這代表我們是「先看到當天結果、再決定當天權重」 。正確公式是 weight_T × return_{T to T+1}

修正影響數字
修正紀錄數9,935 筆
受影響策略數12 支
平均風險調整後報酬下修-0.619
最慘案例(piecewise_conservative)從 3.158 降到 1.558(-1.6)
最佳案例(vix_leading_guard)從 0.852 升到 0.892(+0.04,罕見反向)

根因是 daily_update.py 一直用同日收盤價,2026-03-17 已經修掉。教訓: 永遠先問自己——這個權重 T 賺到的是 return_T 還是 return_{T+1}? (來源:實驗 K693)

錯誤 3:逆向 VT 的「alpha」其實是 baseline 算錯 + 交易成本低估

 最初宣稱 :逆向 VT overlay 風險調整後報酬 0.878,比 BH 高 0.035;最佳化版本 0.941。

 Codex 抓出的三個 bug :

  1. BH baseline 在不同子期間的計算方式不一致
  2. 高換手 overlay(每年換手 46 次)的交易成本嚴重低估
  3. 用全樣本最佳化的閾值(2%)和傾斜量(±30%)沒做外樣本驗證

 修正後現實 :

  • 跨期外樣本只贏 3/5(未達 4/5 通過門檻)
  • 平均風險調整後報酬差距 0.013(基本上是 noise)
  • 通不過嚴格統計檢驗門檻

教訓: 全樣本 0.035 的 Sharpe 改善是 noise,不是 signal。永遠要做跨期外樣本驗證。 (來源:實驗 K698→K699)

四、典範轉移:VT 不是賺超額報酬,是買保險

這 80 個實驗最大的收穫,不是發現了什麼新策略,而是把 整個 VT 領域的行銷敘事 徹底改寫:

階段說法證據
過去「VT 用聰明的 VIX 訊號做配置可以打敗 BH」多個實驗顯示 Sharpe > 1.0——但全是 lookahead artifact
現在「VT 是回檔保險,不是 alpha 引擎」BH 0.545 > EWMA VT 0.525 > 12/VIX 0.438;但 MDD -32.5% → -17.0%;對 gamma≥5 投資人勝出

對實務工作者的建議很直接:

  •  不要再用「alpha」行銷 VT 策略 ——它誠實地說會稍微降低報酬
  •  改用「保險」框架 ——投資人每年付 1-2% 換取睡得著覺
  •  EWMA VT(lambda=0.94)是最 lag-robust 的版本 ,權重自相關 0.99,落後一天幾乎沒差
  •  gamma < 5 的人請直接 BH 50/50 ,這就是字面上更好
  •  gamma ≥ 5 的人,VT 的效用優勢隨風險厭惡度增加 

五、四種投資人,四套行動方案

投資人類型推薦策略風險調整後報酬年化報酬最大回檔
被動長期投資人BH 50/50 SPY/GLD,年度再平衡0.54511.10%-32.49%
風險厭惡型(gamma≥5)EWMA VT(lambda=0.94-0.98)on 50/50,目標波動 10%0.5259.32%-17.03%
月定期定額平常定額;VIX > 30 時加碼 4%終值改善 +4.4%
台股投資人月再平衡 50/50 0050.TW + GLD,用 VIX_{t-1} 訊號1.29(淨額)8.92%-10.56%

台股那組數字看起來特別漂亮的原因之一:台灣交易時段晚於美國, 用昨天的美股 VIX 是天然 lag ,沒有 lookahead 風險。再加上台股波動放大係數約 4.6 倍,VT 的保險價值在台灣比在美國更顯著。(來源:K633、K636、K669)

六、最大的元教訓:每個 positive result 都需要「對抗式」程式碼審查

整段研究 4 次 Codex code review, 4 次都抓到關鍵 bug :

審查受審實驗抓到的關鍵問題衝擊
1K618 KAN 波動率模型啟動函數錯誤、資料前處理 bug從「有希望」變「實作正確但無改善」
2K621 MF2-GARCH元件分解公式錯、optimizer 收斂被預設值掩蓋從「新貢獻」變「正確但僅 modest improvement」
3K679 VIX 百分位同日 VIX、錯誤檢定、視窗包含當日風險調整後報酬從 1.68 變 0.355
4K698 逆向 VTBH 計算不一致、TX 成本低估、樣本內 overfitting從「邊際 alpha」變「rejected」

如果沒有 Codex 審查,我們會公開發布 3 個假突破。 估計的 false positive 率:37.5% 。

這也是為什麼這個研究系統的硬規則是: 每個 positive result,發布前一定要過對抗式 code review 。作者抓不到的 systematic bias、subtle data leak、統計檢定誤用,外部審查者抓得到。

七、我們敢承諾的、和我們不敢承諾的

 我們敢承諾的 :

  • 上面三件確定事(VIX 預測量級、BH 50/50 風險調整後報酬最高、VT 是 gamma≥5 投資人的 drawdown insurance)通過了 lag 修正、跨期外樣本、Codex 審查三道關卡。
  • 上面四種投資人的對應策略,數字都來自修正後的實驗,不是 marketing material。

 我們不敢承諾的 :

  • 任何宣稱風險調整後報酬遠高於 0.6 的策略,請假設它有 bug,直到它被獨立審查為止。
  • 全樣本最佳化的閾值參數(百分位門檻、傾斜量、波動目標水準)幾乎一定 overfit;請只信跨期外樣本贏 4/5 以上的設定。
  • 同日 VIX 訊號(包含「VIX 收盤後到下一個交易日開盤前」的版本,如果沒明確說明 lag 邏輯)一律當作疑似 lookahead 處理。

八、結論:Null result 也是結果

這篇文章寫起來其實有點難堪——80 個實驗、3 個原以為的「突破」全被推翻、9,935 筆歷史紀錄全部重算。但研究誠實的價值就在這裡: 承認 null result,比宣稱假 alpha 更有價值 。

如果你之前看過我們宣傳「VIX 百分位策略 Sharpe 1.68」相關的內容(如果有的話),請以本篇修正版為準,前面的數字是 lookahead artifact。我們也已經把對應的舊文章與紙上交易績效全部回溯重算。

 研究北極星不變:把波動率與相關交易策略,做成學術與實務上最值得信任的平台。  這代表我們會持續發 null result、持續推翻自己、持續讓 Codex 戳我們的程式。讀者真正需要的不是「又一個 Sharpe 1.68 的策略」,而是「我可以放心參考、不會被誤導」的研究。


資料來源

  •  核心實驗檔案 :experiments/k700/k700_results.jsonexperiments/k700/k700_final_truth.py
  •  關鍵原始實驗 :K626(VIX 方向預測)、K687(修正後最終排序)、K688(CRRA 效用)、K690(lag robustness)、K693(9935 筆紙上交易修正)、K698→K699(逆向 VT 跨期外樣本拒絕)
  •  底層市場資料 :yfinance(SPY、GLD、0050.TW)、FRED(VIX 收盤序列)、TAIFEX(台指期 tick),資料期間 2006-01-01 至 2026-03-27
  •  Codex 審查紀錄 :4 輪審查涵蓋 K618、K621、K679、K698;防止 3 個假突破被發布
  •  方法論文獻 :
    • Harvey, Liu & Zhu (2016), ...and the Cross-Section of Expected Returns, Review of Financial Studies(嚴格統計檢驗門檻 統計強度>3.0)
    • Diebold & Mariano (1995), Comparing Predictive Accuracy(兩模型比較檢定)
    • Copeland & Copeland (1999), Market Timing with VIX(VIX 配置策略 baseline)
  •  實驗範圍 :K621–K699(79 個實驗)+ K700(本篇結算)

詳情

experiment_refs
K700

相關文章

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

📄
股票配黃金的人,到底該看哪個『恐慌指數』?SPY+GLD 配置的恐慌指數搭配實驗
## 一、為什麼這篇文章對你重要? 如果你的長期投資組合裡同時持有美股(例如 SPY 這支追蹤 S&P 500 的 ETF)和黃金(例如 GLD),這個配置很常見、很經典,也很合理:股票負責長期增長,黃金負責在市場恐慌時提供避險。 但接下來這個問題,多數人從沒想過:**當你在估算這個股票+黃金組合明天可能會虧多少錢時,你用的是哪個「恐慌指數」?** 最常見的答案是 VIX。VIX 是 CBO...
📄
三種投資人、七大原則:證據導向 VIX 波動率擇時完整指南
# 三種投資人、七大原則:證據導向 VIX 波動率擇時完整指南 ## 為什麼需要這份指南? 過去兩年,我們在 K621–K659 這 17 組實驗中反覆檢驗一件事:把 VIX(恐慌指數)當作部位調整訊號的「波動率擇時(Volatility Targeting,下稱 VT)」策略,到底適合誰、能帶來多少報酬、又會在什麼情境下失靈? K660 不是一個新的回測,而是把這 17 組實驗的結論彙整成...
📄
VIX 是全球恐慌指標,但 12/VIX 策略只在美股奏效——四大市場實證
# VIX 是全球恐慌指標,但 12/VIX 策略只在美股奏效——四大市場實證 ## 一句話結論 VIX 確實是全球性的恐慌晴雨表,與美國、歐洲、日本、新興市場的實際波動同步攀升;但用 VIX 來決定股票部位(12/VIX 策略)的「風險調整後報酬」改善效果,**只在美股出現**——其他三個市場反而被拖累。不過,VIX 用來控制**最大回撤**這件事,倒是四個市場全部適用。 ## 為什麼要做...