K818:SSVS 變數選擇揭示美股日頻報酬預測的 EMH 壁壘
讀者互動
已追蹤瀏覽 0 次,登入會員可按讚與收藏。
摘要
[提出: 用戶, 執行: Claude]
本研究將 Bayesian 變數選擇方法 SSVS(Stochastic Search Variable Selection)應用於 SPY 日頻報酬預測,結果揭示一個重要事實: 即使 Bayesian 方法能精準識別出有邊際預測力的變數,有效市場假說(EMH)依然是難以跨越的壁壘。 10 個候選變數中只有 HYG_ret(PIP=0.935)與 VIX_change(PIP=0.783)被選出,但 OOS R² = -1.47%,L/S 策略 Sharpe = -0.36,遠遜於 Buy & Hold(Sharpe=1.87)。台灣 0050.TW 表面上呈現 62.1% hit rate 和 OOS R² = 14.2%,但這是收盤價隔夜 gap artifact,非真實可交易信號。
研究背景
SSVS(Stochastic Search Variable Selection) 由 George & McCulloch(1993, JASA)提出,是一種 Bayesian 變數選擇方法,核心思想是透過混合先驗分佈(spike-and-slab prior)對每個變數是否「真正有預測力」進行機率推斷。
對每個係數 $\beta$ⱼ,SSVS 賦予以下先驗:
- Spike (變數無用):$\beta$ ∼ N(0, c² × $\tau$²),c << 1,使係數緊縮至零
- Slab (變數有用):$\beta$ ∼ N(0, $\tau$²),允許係數充分展開
透過 Gibbs Sampler 的 MCMC 採樣,每個變數的 Posterior Inclusion Probability(PIP) 衡量了「在看到數據後,該變數真正有預測力的機率」。PIP > 0.5 的變數被選入中位數模型(median probability model)。
相較於傳統頻率派方法(OLS t-test、F-test、LASSO),SSVS 的優勢在於:
- 同時量化變數選擇的不確定性
- 自動在 sparse 模型(少變數)和 dense 模型(多變數)之間尋找最優平衡
- 不需要人工設定懲罰係數(如 LASSO 的 $\lambda$)
本實驗承接 K461(SSVS 用於台股波動率方程,SPY PIP=1.000)和 K484(SSVS 用於 SPY 波動率預測,QLIKE 改善 -7.43%), 首次將 SSVS 應用於報酬預測(而非波動率預測) ,驗證 Bayesian 變數選擇能否找到可交易的 return 預測信號。
實驗設計
| 項目 | 設定 |
|---|---|
| 主資產 | SPY(S&P 500 ETF) |
| 延伸資產 | 0050.TW(台灣 50 ETF) |
| 數據來源 | yfinance(Yahoo Finance) |
| 訓練期 | 2007-04-12 ~ 2022-12-31(T=4,272) |
| OOS 期 | 2023-01-01 ~ 2024-12-31(T=501) |
| 候選變數 | 10 個(VIX, VIX_change, SPY_vol_20d, SPY_mom_5d, SPY_mom_22d, TLT_ret, GLD_ret, DXY_ret, HYG_ret, term_spread) |
| 先驗設定 | c_spike=0.01, p(inclusion)=0.5, $\tau$ = 10× OLS 標準誤 |
| MCMC | Gibbs Sampler,10,000 次迭代,2,000 burnin |
| Refit | 每 63 個交易日(季度)重新估計 |
| 策略 | Long/Short(符號預測)、Long-Only、10bps 每邊交易成本 |
| Lag 驗證 | X_{t-1} 預測 r_t,無 lookahead bias |
SPY 結果:PIP 排名

圖1:SPY 日頻報酬預測——10 個候選變數的 Posterior Inclusion Probability(PIP)排名。紅色柱代表中位數模型選入的變數(PIP > 0.5)。
| 變數 | PIP | 中位數模型 | OLS t-stat |
|---|---|---|---|
| HYG_ret | 0.935 | ✓ | 2.87 |
| VIX_change | 0.783 | ✓ | -2.83 |
| GLD_ret | 0.161 | ✗ | -1.32 |
| SPY_mom_5d | 0.116 | ✗ | 0.13 |
| SPY_mom_22d | 0.107 | ✗ | -0.74 |
| DXY_ret | 0.083 | ✗ | -0.12 |
| SPY_vol_20d | 0.077 | ✗ | -1.66 |
| VIX | 0.076 | ✗ | 1.64 |
| TLT_ret | 0.020 | ✗ | 1.60 |
| term_spread | 0.019 | ✗ | -1.60 |
SSVS 結果符合金融直覺:
- HYG_ret(高收益債 ETF 當日報酬,PIP=0.935) :HYG 和 SPY 同屬風險資產,當日同步波動,但這代表的是 同期相關性而非預測能力 。在 OOS 中,已知 t 日的 HYG_ret 是同步信號,不可交易。
- VIX_change(VIX 日變化量,PIP=0.783) :VIX 上升 → 市場恐慌 → 負報酬,這個關係在樣本內有效,係數 $\beta$ = -0.0084。
然而, 能識別有信號的變數 ≠ 能賺錢 。
OOS 表現:EMH 的反擊
| 模型 | OOS R² | Hit Rate | Binomial p | DM vs Mean |
|---|---|---|---|---|
| SSVS | -1.47% | 53.9% | 0.081 | t=1.05(FAIL) |
| AR(1) | -2.53% | 51.9% | 0.396 | — |
| Historical Mean | -0.42% | 57.5% | 0.001 | — |
三個關鍵發現:
-
所有模型的 OOS R² 均為負值 :連最簡單的歷史均值模型(預測每天報酬 = 長期平均值 ≈ +0.05%)都有負 OOS R²,代表 SPY 日頻報酬接近白噪音,難以用任何線性模型捕捉。
-
SSVS 比 Historical Mean 還差 :OOS R² = -1.47% vs -0.42%,且 Hit rate 53.9% < Historical Mean 的 57.5%——更複雜的模型反而更差,這是 過度擬合(overfitting)在稀疏信號環境下的典型表現 。
-
DM test 三對比較均未通過 Harvey(2016)t > 3.0 門檻 :SSVS vs AR(1) t=-1.40,SSVS vs Mean t=1.05,均無統計顯著差異。
策略績效:
| 策略 | Sharpe | 總報酬 | MDD |
|---|---|---|---|
| L/S SSVS(10bps) | -0.36 | -9.3% | -16.3% |
| L/S AR(1)(10bps) | -1.48 | -38.3% | -42.4% |
| Long-Only SSVS(10bps) | 0.89 | +19.1% | -6.9% |
| Buy & Hold SPY | 1.87 | +47.5% | -10.3% |
L/S 策略的 Sharpe = -0.36 並非單純因為交易成本,即使是 Long-Only(只做多,不做空),Sharpe 也只有 0.89,遠遜於 Buy & Hold 的 1.87。核心問題是 hit rate 不足(53.9% ≈ 隨機),無法支撐主動交易的交易成本 。
台灣延伸:表面優異,實為 Artifact

圖2:0050.TW 日頻報酬預測——5 個變數 PIP > 0.9(VIX_change=1.000, SPY_mom_5d=1.000, HYG_ret=1.000, DXY_ret=0.944, GLD_ret=0.948)。
台灣結果看似驚人:
- OOS R² = +14.2% (正值!)
- Hit rate = 62.1% (binomial p ≪ 0.05)
- L/S Sharpe = 3.69 (遠高於 BH Sharpe 1.73)
但這是 c2c(close-to-close)隔夜 gap artifact 。
根據 K501 實驗的教訓:台灣 0050.TW 的 c2c 報酬包含了大量隔夜 gap(約佔全部日報酬信號的 93%)。這些隔夜 gap 主要反映 前一天美股收盤後到台灣開盤前的信息 ,包括 SPY 當日收盤報酬、VIX 變化等。
因此,模型用 t-1 的美股指標(SPY_mom_5d, HYG_ret, VIX_change)預測 t 日的台股 c2c 報酬 ,實際上包含了 t-1 收盤後到 t 開盤的隔夜 gap——這個 gap 本身就和 SPY 同步,造成虛假的高預測力。
真正可交易的信號 應使用 open-to-close 日內報酬,而非 close-to-close 隔夜報酬。在正確的框架下,台灣的預測力預計將大幅縮減(K501 教訓)。
為什麼 SSVS 適合波動率但不適合報酬?
| 目標 | OOS 可預測性 | 主要原因 |
|---|---|---|
| 波動率($\sigma^2$) | R² ≈ 40-60%(HAR-RV) | 波動率有強烈自相關(ARCH 效應),過去波動率預測未來波動率 |
| 日頻報酬(r) | R² ≈ 0%(本實驗 -1.47%) | 報酬接近白噪音,EMH 使超額預測力無法持續 |
SSVS 是一個 變數選擇工具 ,它只能識別樣本內哪些變數與目標相關。在 OOS 預測中:
- 波動率預測:有足夠強度的真實信號(ARCH 效應),SSVS 能正確選擇並維持 OOS 有效(K484:QLIKE 改善 -7.43%)
- 報酬預測:信號雜訊比太低,樣本內識別的相關性不具 OOS 穩定性,SSVS 的複雜度反成負擔
結論 :SSVS 是好工具,但報酬預測的難題不在工具,而在市場結構本身。
結論與局限
核心結論 :
- SSVS 正確識別出有邊際樣本內信號的變數(HYG_ret, VIX_change),方法論本身有效
- 但 SPY 日頻報酬預測面臨根本性的 EMH 壁壘,OOS R² = -1.47%,hit rate 53.9%(未達統計顯著)
- L/S 策略 Sharpe = -0.36,在交易成本下無法獲利
- SSVS 的最佳應用領域是波動率預測(K484),而非報酬預測
局限 :
- OOS 期間僅 2 年(2023-2024),未必涵蓋不同市場 regime
- 線性 ARX 框架可能遺漏非線性交互作用
- 台灣結果受 c2c gap artifact 影響,尚需用日內報酬驗證
- Harvey(2016)t > 3.0 門檻要求高,501 個 OOS 樣本的統計功效有限
[提出: 用戶, 執行: Claude]
實驗腳本:experiments/k818_ssvs_return_prediction.py
結果數據:experiments/k818_ssvs_return_prediction_results.json
數據來源:yfinance 實證數據,期間:2007-2026,SPY OOS 樣本:501 個交易日
參考文獻:George & McCulloch (1993) JASA; So, Chen, Liu (2006) JRSS-C 55(2):201-224
相關文章
先讀正式關聯,若無則使用標籤與主題相似度補齊