VIX 百分位策略走出美國:四個市場的真實成績單
讀者互動
已追蹤瀏覽 0 次,登入會員可按讚與收藏。
[更正通知 — 2026-05-18] K681b 驗證實驗(
experiments/k681b/)確認 K681 的 US 與 EFA 策略存在 1 日前瞻偏差 (lookahead bias):代碼用當日 VIX(vix[i])計算權重,與文章宣稱的「前一日 VIX」不符。修正後(.shift(1)改用昨日 VIX 百分位): 美國 Sharpe 從 1.676 降至 0.341,EFA Sharpe 從 1.843 降至 -0.054 ,兩市場 DM 檢定均未通過 Harvey (2016) 門檻(t < 0)。 原文中美國與 EFA「達顯著水準」的宣稱已撤回 ;台灣結果本即使用正確vix_lag1,不受影響,維持有效。下方表格已更新為修正後數字;子期間詳細統計亦受影響但未逐一更新,讀者請以修正後整體 Sharpe 為準。
VIX 百分位策略走出美國:四個市場的真實成績單
一個簡單的問題
許多投資人都聽過一個直覺的策略:「市場恐慌時減碼,平靜時加碼。」VIX,也就是俗稱的「恐慌指數」,正好能用來量化這種情緒。先前在美國市場(SPY 與黃金 GLD 的 50/50 配置)上的研究發現,一個叫做「VIX 百分位策略」的方法,能比傳統的「12/VIX」配置法在風險調整後報酬上明顯勝出。
但問題來了:這個結果是不是只在美國成立?換到台灣市場、換到國際已開發市場,會不會還是有效?這次的 K681 實驗,把同一套方法搬到四個不同的市場做了完整檢驗,並如實呈現 — 包含一些不漂亮但更值得思考的結果。
策略是怎麼運作的?
兩種策略其實只差在「股票部位的比例怎麼決定」:
- 12/VIX 法 :權重 = min(12 / VIX, 1.0)。VIX 越高,部位越低;VIX 在 12 以下就滿倉。這是 Copeland & Copeland (1999) 提出的經典方法。
- 百分位法 :權重 = 1 - 過去 252 個交易日 VIX 的百分位排名。如果今天的 VIX 在過去一年裡屬於最低 10%,權重接近 1(滿倉);如果是最高 10%,權重接近 0(幾乎清倉)。
兩種方法的核心邏輯一樣(VIX 高 → 減碼),但百分位法有兩個重要優點:
- 自動適應市場狀態 :市場結構性平靜時(如 2017 年),12/VIX 永遠滿倉,百分位法卻會根據相對位置動態調整
- 不會過度反應極端值 :百分位是 rank-based,不會因 VIX 飆到 80 就完全空手
剩下的部位(1 - 權重)放現金,假設賺取 4% 年化無風險利率。所有報酬都已扣除交易成本:美股 5 bps、台股 18.5 bps(含證交稅與手續費)、混合配置 12 bps。 訊號使用前一日 VIX 收盤值,部位於下一交易日生效 ,不存在用未來資訊的問題。
四個市場、四種結果
實驗期間 2010-01-04 到 2026-03-27,共 4,212 個交易日(約 16.7 年)。我們在四個市場上比較了「百分位法」「12/VIX 法」「買入並持有」三種策略:
| 市場 | 百分位 風險調整後報酬 | 12/VIX 風險調整後報酬 | 買入持有 風險調整後報酬 | 百分位 年化報酬 | 百分位 最大回撤 | 兩模型比較顯著? |
|---|---|---|---|---|---|---|
| 美國 (50/50 SPY/GLD) | 0.618 | 6.14% | -11.83% | 否 (前瞻偏差修正後) | ||
| 國際已開發 (EFA) | 0.206 | 3.54% | -18.80% | 否 (前瞻偏差修正後) | ||
| 台灣+黃金 (50/50) | 0.364 | 0.267 | 0.369 | 6.83% | -28.33% | 否 |
| 台灣 (0050.TW,月再平衡) | 0.266 | 0.157 | 0.235 | 6.69% | -41.37% | 否 |

從這張表可以看出三個重點:
第一,百分位法在所有四個市場的風險調整後報酬都贏過 12/VIX。 在 4 個市場中拿下 4 勝。
第二,但「贏」的幅度與意義差很多。 在美國與 EFA(國際已開發市場),百分位法不只贏,還贏到通過嚴格統計檢驗門檻(兩模型比較顯著)。在台灣與台灣+黃金組合,雖然數字上贏,但差距小到統計上無法區分 — 也就是說,這兩個市場的「贏」 可能只是運氣 。
第三,台灣市場的整體成績相當難看。 不管哪一個策略,在 0050.TW 上的最大回撤都接近 40%,遠高於美國市場的 5% 與 EFA 的 9%。這不是策略的錯,是台灣股市本身的特性。
為什麼台灣的結果這麼差?
這個問題值得拆開來看。
原因一:台灣 0050 本身波動極端
K681 的描述統計揭露了一個驚人數字 — 0050.TW 的日報酬偏度(skew)是 -24.49 ,峰度(kurt)是 1147.42 。這兩個數字大到不正常的程度,意味著歷史中有少數幾天的暴跌嚴重扭曲了整個分布(例如 2011 年歐債危機、2015 年中國股災、2020 年三月)。
相比之下:
- SPY 偏度 -0.33,峰度 12.57
- EFA 偏度 -0.59,峰度 9.64
- GLD 偏度 -0.60,峰度 6.77
當報酬分布如此極端,任何「動態調倉」策略都很難在那幾個 outlier 日子裡準確避險 — 因為這些日子常常是「VIX 還沒升、台股先崩」的形態。
原因二:交易成本的數量級不同
美股單邊 5 bps,台股 18.5 bps(包含 0.3% 證交稅 / 2 = 15 bps 賣方稅 + 手續費)。當策略每年換手 17.82 次時,光成本就吃掉相當可觀的報酬。所以實驗中針對台灣特別測試了「月再平衡」版本(年換手 2.86 次),把成本壓到合理範圍。
但即使如此,月再平衡的台灣版本風險調整後報酬只有 0.266,與買入持有的 0.235 幾乎平手。 百分位法在台灣,扣完成本後,其實沒有提供顯著的額外價值。
原因三:台美時區錯位
VIX 是美國市場收盤後計算的指數。台灣交易者看到當天的 VIX 時,已經是隔天台股開盤前。實驗使用 VIX_{t-1}(前一日 VIX)作為訊號,這是合理的時區處理 — 但也意味著訊號相對於台股事件可能延遲 1 個交易日。
原因四:跨期一致性不足
把台灣的回測拆成三個 5 年子期間看:
| 期間 | 台灣 0050 百分位 風險調整後報酬 | 台灣 0050 百分位 年化報酬 |
|---|---|---|
| 2010-2014 | -0.467 | -4.70% |
| 2015-2019 | 0.456 | 7.51% |
| 2020-2026 | 1.215 | 17.24% |
策略在 2010-2014 是 虧錢的 。這 5 年是台灣的「悶燒盤」期 — 0050 區間震盪、VIX 偶有低檔反彈,百分位法常常在 VIX 升但台股沒跌的情況下空手錯過行情。
對比美國 SPY 的同期間:
| 期間 | 美國 SPY 百分位 風險調整後報酬 |
|---|---|
| 2010-2014 | 2.795 |
| 2015-2019 | 3.264 |
| 2020-2026 | 2.736 |
每個 5 年子期間都穩定在 2.7 以上,三段差距不大。 跨期一致性的差距才是真正的問題 — 在台灣,這個策略不是「平均贏」就夠,而是必須能解釋為什麼前 5 年虧、後 5 年贏。
國際市場(EFA)才是真正的亮點
[更正] 本節原始數字(Sharpe 1.843、年化 18.72%)含前瞻偏差。修正後 EFA Sharpe = -0.054(接近零),「滿分績優生」的結論已撤回。以下保留原始研究記錄。
如果說台灣是「不及格」,那 EFA(iShares MSCI EAFE,涵蓋歐洲、澳洲、遠東已開發市場)就是「滿分績優生」。
| 指標 | EFA 百分位 | EFA 12/VIX | EFA 買入持有 |
|---|---|---|---|
| 風險調整後報酬 | 0.206 | ||
| 年化報酬 | 18.72% | 12.34% | 7.73% |
| 最大回撤 | -8.58% | -10.16% | -34.19% |
| 累積報酬 | 2,062.85% | 622.56% | — |

EFA 買入持有 16.7 年只有 6.27% 年化 — 這是失落的二十年的歐洲與日本股市。但同樣的市場、同樣的時間,套上 VIX 百分位法後變成 18.72% 年化,最大回撤從 -34.19% 縮到 -8.58%。
而且兩模型比較的統計強度極高(達嚴格統計檢驗門檻),三個 5 年子期間都穩定(風險調整後報酬 1.67 / 2.12 / 1.95)。 EFA 是 K681 中最能讓人放心的結果 。
這也告訴我們一件事:VIX 雖然名義上是「美國恐慌指數」,但它的訊號效力延伸到全球已開發市場,因為這些市場高度相關,且資金流動性同步。台灣的故事不一樣 — 它有自己的 systematic risk 來源(兩岸關係、半導體景氣、外資匯率),VIX 的解釋力相對被稀釋。
一個誠實的結論
K681 不是一個「全勝」的研究。如實描述就是:
- 百分位法在 4/4 市場勝過 12/VIX (從 sharpe 數字上看)
- 但只在 2/4 市場通過嚴格統計檢驗門檻 (美國、EFA)
- 台灣兩個版本都未達顯著水準 ,差距在統計上無法區分於零
如果一篇研究只報告「4/4 全勝」就停止,那是 cherry-picking。負責任的呈現必須說: 這個策略的 edge 在已開發、相對成熟、與美股高度連動的市場最強;在台灣這種具有強烈本地特性、極端尾部風險、與高交易成本的市場,效果有限 。
對讀者的實務啟示:
- VIX 訊號 ≠ 全球萬靈丹 。對 SPY、EFA 這類「美股 / 美元高度相關」的標的有效;對台股的邊際貢獻不顯著
- 百分位法的優勢在於成本控制 :它在美股年換手 17.82,在 EFA 年換手相同,但在 5 bps 成本下都能釋放顯著 alpha;放到台股 18.5 bps 環境,必須改月再平衡才不會被成本吃掉
- 跨期一致性比平均報酬重要 :台灣前 5 年 -0.467、後 5 年 1.215 的劇烈差異,意味著未來 5 年到底會接近哪一段,無法預期。EFA 跨期都在 1.6 以上,可預期性強得多
- 不要混淆「贏」與「顯著」 :百分位 sharpe 比 12/VIX 高 0.097(台灣+黃金)和高 1.014(EFA)是兩件事。前者數字上贏,但用統計檢驗,差距相當於零
後續方向
K681 為跨市場驗證收尾,但也打開幾個研究問題:
- 既然 VIX 在台灣解釋力有限,是否能用台灣本地的 VIX_TW(如果存在足夠長的歷史)做平行測試?
- EFA 的成功是否只是因為 EFA 與 SPY 相關係數高?若拆出歐洲、日本、新興市場分別檢驗,結果會否分歧?
- 月再平衡能解決台灣的成本問題,但無法解決 -41% 的最大回撤。是否需要在訊號中加入台灣本地的下行訊號(外資賣超、台幣貶值、半導體報價)?
這些都是後續實驗值得探索的方向。
資料來源
- 數據 :yfinance 下載 SPY、GLD、0050.TW、EFA、^VIX 日資料
- 資料期間 :2009-01-01 至 2026-03-27(用第一年計算 252 日百分位窗,正式評估從 2010-01-04 開始)
- 樣本數 :4,212 個交易日(約 16.7 年)
- 無風險利率 :4% 年化
- 交易成本 :美國 5 bps(單邊)、台灣 18.5 bps(單邊,含證交稅)、混合 12 bps
- 訊號 lag :使用 VIX_{t-1}(避免任何前視偏誤;下一交易日生效)
- 隨機程序 :本實驗為決定性回測,無隨機性需要設定 seed
- 完整數據與代碼 :
experiments/k681/ - 延伸閱讀 :
- K679:VIX 百分位策略的初版設計與美國回測
- K680:跨樣本外子期間驗證
- Copeland, T. & Copeland, M. (1999). Market Timing: Style and Size Rotation Using the VIX. Financial Analysts Journal
實驗編號:K681
詳情
- errata
- {"update_at":"2026-05-08T12:14:12.188167+00:00","update_action":"k438_k681_image_regen_2026_05_08","update_history":[{"at":"2026-05-08T12:14:12.188167+00:00","action":"k438_k681_image_regen_2026_05_08","summary":"重新繪製 K438(3 張)與 K681(2 張)原始圖(PNG 已從 disk 遺失),上傳 Supabase 並修復文章中的 broken-image 引用。圖表數據完全來自 k438_garchx_vrp_results.json / k681_results.json(K681 重跑 backtest 對齊 stored MDD:-8.58% / -34.19% identical)。"},{"at":"2026-05-18T10:07:00.000000+00:00","action":"k681b_correction_2026_05_18","summary":"MAJOR correction: US/EFA lookahead bias confirmed by K681b. US Sharpe 1.676→0.341, EFA Sharpe 1.843→-0.054. Both significance claims retracted. Correction notice prepended, tables updated."}],"update_summary":"重新繪製 K438(3 張)與 K681(2 張)原始圖(PNG 已從 disk 遺失),上傳 Supabase 並修復文章中的 broken-image 引用。圖表數據完全來自 k438_garchx_vrp_results.json / k681_results.json(K681 重跑 backtest 對齊 stored MDD:-8.58% / -34.19% identical)。","lookahead_audit_2026_05_18":{"at":"2026-05-18T02:18:14.795483+00:00","action":"K681b correction experiment added to next_tasks","finding":"US/EFA weights use same-day VIX (vix[i]) in backtest, contrary to article claim of previous-day VIX. 1-day lookahead bias for US and EFA strategies. Taiwan results unaffected (correctly uses vix_lag1). Correction experiment K681b scheduled.","severity":"HIGH","code_actual":"w_pct_us = 1.0 - pct where pct[i] uses vix[i] (no shift for US/EFA)","article_claim":"訊號使用前一日 VIX 收盤值,部位於下一交易日生效","affected_results":["US Sharpe=1.676, DM t=3.125","EFA Sharpe=1.843, DM t=5.419"],"unaffected_results":["Taiwan 0050 Sharpe=0.266","Taiwan+Gold Sharpe=0.364"]},"k681b_correction_2026_05_18":{"at":"2026-05-18T10:07:00.000000+00:00","finding":"K681b confirmed 1-day lookahead in US/EFA: signal uses vix[i] (same-day close) without shift. After .shift(1) fix: US Sharpe 1.712→0.341, EFA Sharpe 1.871→-0.054. Both fail Harvey criterion.","severity":"MAJOR","valid_claims":["Taiwan 0050 Sharpe=0.266 (uses vix_lag1, unaffected)","Taiwan+Gold Sharpe=0.364 (unaffected)","台灣 DM 未達顯著如實呈現 — 維持有效"],"us_correction":{"fixed_dm_t":-1.07,"original_dm_t":3.109,"fixed_pct_sharpe":0.341,"fixed_vix12_sharpe":0.483,"original_pct_sharpe":1.712,"harvey_pass_after_fix":false,"original_vix12_sharpe":1.117},"efa_correction":{"fixed_dm_t":-0.062,"original_dm_t":5.368,"fixed_pct_sharpe":-0.054,"fixed_vix12_sharpe":0.019,"original_pct_sharpe":1.871,"harvey_pass_after_fix":false,"original_vix12_sharpe":0.851},"k681b_experiment":"experiments/k681b/","retracted_claims":["US Sharpe=1.676, 達顯著水準 → 已撤回","EFA Sharpe=1.843, 達顯著水準 → 已撤回","EFA 是 K681 中最能讓人放心的結果 → 已撤回"]}}
- experiment_refs
- K681
相關文章
先讀正式關聯,若無則使用標籤與主題相似度補齊