← 研究動態
研究2026/06/25 下午02:00

週頻也救不了 Return 預測 — 514 週測試後,5 個模型全敗給歷史平均

SPYnull-resultOOSweeklyreturn-predictabilityWelch-Goyalrandom-forest

讀者互動

登入會員可按讚與收藏。

分享到:LINEFacebookX / Twitter

持續追蹤這項研究

收藏、追蹤與明日提醒只保存必要識別資料,可在會員中心檢視或刪除。

研究資訊不構成個人投資建議;提醒僅代表研究更新,不代表交易訊號。

訂閱研究摘要

研究摘要與新文章,不轉售、不寄廣告,隨時可退訂。

週頻也救不了 Return 預測 — 514 週測試後,5 個模型全敗給歷史平均

實驗 K948|SPY 2016—2026 OOS|514 個非重疊週樣本


摘要

K924 已確認 SPY 日頻報酬不可預測。K948 把預測窗口拉長到一週(5 日累積對數報酬),用 OLS、Ridge、LASSO、Random Forest 加 8 個特徵跑 2016—2026 樣本外測試。結果:4/5 個模型 OOS R² 為負,Random Forest 雖達 +0.0097,但 Diebold-Mariano 檢定 t = -1.06,遠低於 Harvey(2016)所要求的 3.0 門檻,統計上無法拒絕「與歷史平均等同」的虛無假說。週頻沒有救起報酬的不可預測性。


研究背景

Welch & Goyal(2008, Review of Financial Studies)系統性地驗證了數十個「應該有用」的預測變數,在樣本外全數失敗。這個結論距今近 20 年,常被認為只適用於日頻或月頻。K943 先前發現波動率在週頻(h=5)的預測能力確實優於日頻,OOS 改善幅度達 +18.4%。波動率可以,報酬呢?

K948 的起點就是這個問題。


方法與數據

項目設定
標的SPY(yfinance,2004-01-05 ~ 2026-03-31)
預測目標5 日累積對數報酬(非重疊週)
OOS 期間2016-01-05 ~ 2026-03-19(514 週)
特徵(滯後 1 日)log(VIX)、VIX 5 日變化、20 日動能、5 日動能、VIX/VIX_MA20 比值、GARCH(1,1) 條件變異數、5 日已實現波動率、TLT 5 日報酬
模型OLS、Ridge、LASSO、Random Forest、歷史平均(基準)
協議擴展窗口,每 ~21 交易日重訓,特徵標準化
交易成本10 bps
統計門檻Harvey(2016)Harvey-Liu-Zhu |t| > 3.0

核心發現

OOS R² — 全線負值

模型OOS R²方向準確率Sharpe (net)DM t-statp-value
OLS-0.015753.9%0.4960.530.596
Ridge-0.015553.5%0.4130.520.600
LASSO-0.012957.2%0.6630.540.590
Random Forest+0.009760.9%0.988-1.060.289
歷史平均(基準)0.00061.9%0.810——

線性三模型(OLS、Ridge、LASSO)OOS R² 皆為負,代表它們的預測誤差比「每週報酬都猜歷史平均值」還要大。把窗口從 1 日拉長到 5 日,沒有讓線性模型好過基準。

Random Forest 是唯一 OOS R² 轉正的模型,達 +0.0097。但 DM 檢定 t = -1.06,p = 0.289,離顯著邊界尚遠。

Random Forest 的 Sharpe 看起來很好,但背後是什麼

RF 的樣本外 Sharpe(net of TC)達 0.988,表面上高於買進持有的 0.810。

問題在於策略本身的組成:

  • 514 週中,RF 只做了  31 筆交易 (交易頻率 6%)
  • 其中  96.7% 的時間是多頭持倉 

也就是說,RF 幾乎全程做多,僅在少數週出場或放空。這與策略「準確預測週報酬方向」是兩回事。OOS 期間 SPY 週報酬有 61.9% 為正,RF 的 60.9% 方向準確率低於這個基準。換句話說,RF 預測方向的能力甚至不如「永遠猜漲」。

Sharpe 稍高的來源,是那 31 次中偶然踩中幾次大跌出場,而非系統性的方向預測。這屬於低樣本數的碰運氣,不是可重複利用的 edge。

方向準確率,沒有一個模型打贏「永遠看多」

OOS 期間有 62% 的週數 SPY 收漲。歷史平均基準(每週預測歷史均值,永遠看多)的方向準確率是 61.9%。

RF 的方向準確率 60.9% 低於此基準。OLS、Ridge 更低,分別是 53.9% 和 53.5%。LASSO 57.2% 介於中間。沒有模型在方向判斷上優於「全程做多」的策略。


與波動率預測的對比

這個結果呼應 K943 的一個重要區別:

波動率序列具有顯著的自相關性(AC(1) 約 0.4 量級),過去一週波動率高,下一週也傾向偏高。這種持續性讓模型有東西可學。

報酬序列幾乎沒有自相關,AC(1) 接近零。VIX、動能、TLT 等外部訊號也無法捕捉到可靠的線性或非線性規律。K943 看到的週頻改善,停留在波動率本身的可預測性,沒有延伸到報酬。

這個非對稱性,波動率可預測、報酬不可預測,正是 VolPred 平台策略選擇的立足點。波動率目標化(Volatility Targeting,VT)用預測到的波動率調整倉位規模,不依賴報酬方向預測。回測顯示 VT 策略改善風險調整後報酬的機制:低波動期承擔正常風險、高波動期主動降低曝險,完全繞開方向擇時。


限制

  • 單一標的(SPY),結論不直接推廣到其他市場或資產類型。
  • 特徵集僅涵蓋 VIX 系列、動能、已實現波動率、TLT,未包含另類資料或深度學習架構。
  • OOS 期間(2016—2026)以多頭市場為主,高波動事件(COVID 2020、2022 加息)有限,可能低估線性模型在熊市的表現。
  • 非線性或更複雜的機器學習模型(如 Transformer、GBM、Conformal Prediction)可能在特定子期間表現不同,但超出本實驗範疇。

結論

514 個樣本外週,5 個模型,結果一致:SPY 週頻報酬不可預測,無法統計上優於歷史平均。Welch & Goyal(2008)的發現在近 20 年後、在週頻窗口下仍然成立。把預測窗口從日頻拉長到週頻,對線性模型沒有幫助,對隨機森林的幫助也未達任何合理顯著水準。

波動率可以預測,報酬目前無法。這個差距,說明了為什麼波動率目標化策略有現實意義,而報酬方向擇時大多是雜訊。

本文基於實驗 K948(腳本:experiments/k948/k948.py,結果:experiments/k948/k948_results.json)。數據來源:yfinance(SPY、^VIX、TLT),OOS 期間 2016-01-05 ~ 2026-03-19,514 個非重疊週樣本。[提出:Claude,執行:Claude]

詳情

資料來源
yfinance (SPY, VIX, TLT)

相關文章

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

📄
VIX 越高、衝擊越被「吸收」?比例式衝擊倍數的分母陷阱與門檻效應
VIX 已經很高時,再來一次 VIX 大跳,SPY 的反應會不會變小?常見的量法是「衝擊倍數」(shock amplification ratio,SAR):衝擊日的 |r| 除以平日的 |r|。這個倍數確實隨前一日 VIX 升高而下降,於是很容易讀成「高波動環境會吸收衝擊」。本文檢驗這個讀法在三個地方站不站得住:分母、門檻,以及外生衝擊。 資料是 SPY 與 VIX 日資料,2006-01-05…
→
📄
K1378:VIX 長期成分讓 SPY 波動預測勝過 GJR-GARCH,這個優勢在疫情窗外更穩定
做風險控管或選擇權定價的人,常要在兩種日頻波動模型之間取捨:只用報酬本身的 GJR-GARCH,或在 GARCH 之外加一個由 VIX 驅動的長期成分。後者多了一個外部變數要維護,值不值得,要看它的預測優勢從哪裡來。如果優勢只來自 2020 年那種市場崩跌的少數日子,平常用它就只是多背一個依賴;如果優勢出現在一般日子,它才是日常可用的改進。 K1378 用 SPY 的樣本外一步預測回答這個問題:A…
→
📄
K1862:HAR-RV 一個月波動預測的誤差,平均偏誤不隨波動水位變號,隨水位變寬的是誤差分布
用 HAR-RV 預測未來一個月波動的人,常會想加一層修正:波動很高時把預測往下調,波動很低時往上調,理由是 HAR 的均值回歸可能修正過頭。這層修正值不值得加,取決於 HAR 的誤差是否真的隨預測當下的波動水位系統性變號。 一般讀者版〈HAR 波動預測的誤差往哪邊偏:六成交易日高估,平均誤差卻幾乎是零〉處理的是整體偏誤。這篇處理條件結構:依預測當下的波動水位把樣本外日子分成五組,誤差的平均、中位…
→