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

「月底翻盤效應」還活著嗎?把日曆異常疊在波動率目標策略上的失敗實錄

SPY投資策略波動率目標風險管理研究誠實日曆效應

讀者互動

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

分享到:LINEFacebookX / Twitter

「月底翻盤效應」還活著嗎?把日曆異常疊在波動率目標策略上的失敗實錄

K547 月底效應在現代 SPY 已死

一、為什麼研究這個題目

學術界從 1980 年代起就觀察到一個有趣的現象,叫做「Turn-of-Month Effect(月底翻盤效應,以下簡稱 ToM)」:股市在每個月的最後一個交易日加上下個月最前面幾個交易日,平均報酬明顯比月中其他時間高。Ariel(1987, JFE)、Lakonishok 與 Smidt(1988, RFS)、McConnell 與 Xu(2008, FAJ)都做過類似的紀錄。簡單說: 「月底買進、月中休息」可能是一個白吃的午餐 。

如果這個現象真的還在,把它疊到我們既有的波動率目標(Volatility Targeting,以下簡稱 VT)策略上,理論上應該能在不增加風險的前提下提高報酬。我們在 K547 實驗就是要嚴格地驗證這件事: 用 SPY 的長期資料、配合 VIX 控制風險水位,把「月底加碼、月中減碼」這個日曆 overlay 套上去,看看績效會不會變好。 

結論先講: 沒有變好,反而明顯變差。  這是一個 null result,但在五個目標的指引下我們選擇誠實寫出來——研究誠實是這個平台的不可妥協條件,而失敗的實驗其實對讀者更有價值,因為網路上多數討論這個 anomaly 的文章都假設它仍然有效。

二、實驗設計

資料

  • 標的:SPY(S&P 500 ETF)
  • 區間:2005-01-04 至 2026-03-26
  • 樣本數:5,340 個交易日
  • 來源:yfinance(K547b results.json 紀錄)

ToM 定義

採用 McConnell 與 Xu(2008)的標準:每個月的 最後 1 個交易日 + 下個月最前 3 個交易日 為 ToM 期間(共 4 天/月,約佔全年 19.1% 的交易日);其餘為 mid-month 期間。

五個策略放在同一張比較桌

  1.  Buy & Hold :純持有 SPY,最樸素的對照組。
  2.  Daily VT (12/VIX) :每日按 12/VIX 動態調整槓桿,VIX 高就減碼、VIX 低就加碼。
  3.  Monthly VT (12/VIX) :每月 1 號才重新調權重,月內不動。
  4.  ToM Enhanced (12/8) :ToM 期間用較高目標 12,mid-month 用較低目標 8( 這是核心假說 :月底加碼、月中減碼)。
  5.  ToM Aggressive (12/6) :ToM 用 12,mid-month 砍到 6(更激進的版本)。
  6.  Dual Frequency (1.3x/0.7x) :以 monthly VT 為基底,ToM 加碼 30%、mid-month 減碼 30%。

嚴謹度防線

K547b 採用三道驗證關卡,避免被單一樣本期間的雜訊誤導:

  •  全樣本回測 :2005–2026 整段一次跑完
  •  跨期間驗證 :把 21 年切成 5 個約 4 年的子期間(2006–09 / 2010–13 / 2014–17 / 2018–21 / 2022–26)
  •  重抽樣比較 :用 block size = 20 的 block bootstrap 跑 10,000 次,估每日報酬差異的分佈與信賴區間

三、第一道驗證:ToM 異常本身在現代 SPY 已經消失

在我們把 ToM 疊到 VT 之前,必須先確認 ToM anomaly 本身還在。結果令人意外:

期間切分年化報酬年化波動風險調整後報酬
ToM 期間(4 天/月)11.83%17.91%0.660
Mid-month 期間11.52%19.25%0.598
兩者差異+0.31%-1.34%+0.062

ToM 看起來只比 mid-month 好一點點:年化多 0.31%、波動少 1.34%。但這個微小差距在統計上完全不顯著——Welch t 檢定結果 遠遠低於嚴格統計檢驗門檻 (顯著性 0.9755,意思是「這麼小的差異純粹由運氣造成的機率將近 100%」)。

更驚人的是「ToM 在多少年勝過 mid-month」這個指標: 22 年中只有 7 年 ToM 跑贏 ,比例 32%——比丟硬幣還差。

這已經告訴我們一個強烈訊號: 現代 SPY 上的 ToM anomaly 不再是一個值得交易的 anomaly。  Ariel(1987)和 Lakonishok & Smidt(1988)描述的是 1960–80 年代的市場,當時的市場結構、流動性、機構參與度與今天差距巨大。三十多年來無數量化基金把這個訊號交易過、套利過,剩下的(如果還有的話)也已經被擠到雜訊水準。

四、第二道驗證:把 ToM 疊到 VT,績效全面變差

就算 ToM 本身的訊號弱,理論上配合 VT 的槓桿框架可能還能擠出一點優勢。實際結果是: 完全相反,疊上去之後績效顯著惡化。 

策略年化報酬年化波動風險調整後報酬最大回撤換手率
Buy & Hold10.33%19.00%0.544-55.19%0 次/年
Daily VT (12/VIX)6.51%9.45% 0.689 -28.60%178.5
Monthly VT (12/VIX)7.13%10.30% 0.692 -25.67%10.4
ToM Enhanced (12/8)4.78%7.08%0.675-22.03%179.7
ToM Aggressive (12/6)3.87%6.01%0.644-18.62%164.1
Dual Freq (1.3x/0.7x)5.63%8.48%0.664-21.29%32.0

幾個關鍵觀察:

 A. VT 框架本身仍然有效,但以「保守 timing」估計其優勢更為實際。  Daily VT 的風險調整後報酬達 0.689,Monthly VT 達 0.692——兩者幾乎持平。這個結果說明「每日 vs. 每月調整 VIX 權重」在正確 timing 下差距幾乎可以忽略;Daily VT 對 Buy & Hold 仍保有明顯優勢(0.689 vs. 0.540),但沒有原始 K547(1.666)那種誇張的幅度。 那個 1.666 是 VIX 同日 lookahead 造成的膨脹 ——策略在 t 時刻看到當日 VIX(代表當日市場已收盤的資訊),等於是用「已知今天市場好不好」來決定今天的倉位,而不是事前決策。

 B. Monthly VT 意外地與 Daily VT 幾乎打平。  在 lookahead 修正後,月度調整(0.692)反而比日度調整(0.689)略高,差距在統計誤差範圍內完全不顯著。這是一個值得注意的發現:頻繁調整 VIX 權重並不必然帶來更好的報酬——每月調整一次加上交易成本更低,在現實中可能是更實際的選擇。

 C. ToM Enhanced 看起來不差,但仍落後兩個 VT 版本。  ToM Enhanced 的 0.675 比 Daily VT 0.689 和 Monthly VT 0.695 都低,且年化報酬只有 4.78%(平均持倉 0.520 遠低於 Daily VT 的 0.705)——mid-month 長期壓碼拖累了複利。

 D. ToM Aggressive 與 Dual Frequency 更差 :報酬和 Sharpe 全面落後,平均持倉分別只剩 0.423 和 0.554,資金大半時間放著不工作。

五、第三道驗證:跨期間 + 重抽樣,結果一致負面

很多 anomaly 文章只放一張漂亮的全樣本表就收尾。K547b 不允許這樣——研究方法論上我們把 21 年切成 5 個子期間,看 ToM Enhanced 在哪幾段贏 Daily VT。結果是:

子期間Daily VT 風險調整後報酬ToM Enhanced 風險調整後報酬差距
2006-01 至 2009-120.0870.056-0.031
2010-01 至 2013-120.9441.046+0.103
2014-01 至 2017-120.8880.811-0.077
2018-01 至 2021-120.9710.976+0.005
2022-01 至 2026-030.6920.616-0.076

 5 個子期間裡 ToM Enhanced 只有 1 段明顯贏(2010–13),2018–21 基本打平,其餘 3 段輸。  這個分佈型態與 K547 原始結果一致(方向相同,只是 Sharpe 整體水準校正到正確範圍),說明 ToM overlay 的負面效果不是統計 artifact,而是跨時間穩定的結構性拖累。

最後一道用 block bootstrap 重抽樣比較:

  • ToM Enhanced 對 Daily VT 的報酬差距: -1.86 bps(年化) ,標準誤 0.57 bps,95% 信賴區間 [-2.97, -0.73]—— 完全在零的左邊 。
  • 在 10,000 次重抽樣下,這個差距穩定為負——ToM overlay 確實比 Daily VT 差,不是樣本運氣問題。

六、為什麼會這樣?

把這份數據拼起來,可以看到一條清晰的邏輯鏈:

  1.  VT 已經把 timing 訊號吸收掉了。  Daily VT 透過 VIX 即時反應市場恐慌,當市場波動上升時自動減碼、平靜時加碼。這個動態調整捕捉到的「擇時資訊」遠比「現在是不是月底」這種純日曆訊號豐富。
  2.  ToM overlay 等於額外加上一個雜訊。  如果 ToM anomaly 本身就不顯著(Welch 達顯著水準(顯著性 0.98)),把它當成決策依據只會引入無謂的權重變動。
  3.  降低 mid-month 持倉直接削弱複利。  ToM 期間只佔全年 19.1% 的交易日,要靠這 19.1% 補回 mid-month 80.9% 時間的減碼損失,需要 ToM 期間有非常顯著的超額報酬——而資料說沒有。
  4.  交易成本是隱性殺手 :ToM Enhanced 一年要做 180 次調倉,跟 Daily VT 差不多,但拿不到 Daily VT 那種扎實的擇時收益,等於白付摩擦成本。

七、給一般投資人的可操作結論

這篇文章的結論不是「VT 不行」,而是 「不要把過時的日曆異常疊到一個已經運作得很好的風險管理框架上」 :

  1.  如果你想做 VT 策略,最簡單的版本就是「按 12/VIX 調整槓桿」 ——以前一日 VIX 決定今日倉位(保守 timing),21 年資料、5 個子期間、10,000 次重抽樣裡都明顯優於 Buy & Hold,也不需要任何日曆 overlay。月度調整或日度調整效果相近,選哪個主要看交易成本。
  2.  不要相信「月底買進、月中休息」這類老 anomaly ——他們引用的是 1960–80 年代的研究,那個市場結構與現在天差地遠。任何被學術界廣為引用、套利者反覆挖掘的 anomaly,在現代資料上 default 應該假設它已經消失,要重新驗證。
  3.  複雜化策略幾乎都會降低風險調整後報酬 :ToM Aggressive 的最大回撤 -18.62% 比 Daily VT -28.60% 低,但代價是平均持倉只有 0.423、年化報酬砍到 3.87%。 少冒風險的代價是少賺很多錢——只有在你真的需要極低波動的場合才划算 。
  4.  檢驗任何「策略疊加」想法時,請至少跑三道防線 :全樣本、跨期間、重抽樣。少了任何一道,都可能被一段運氣好的時期欺騙。

八、研究誠實附註與後續方向

K547b 是一個典型的 null/negative result,但這正是研究平台的價值所在。我們 沒有改參數讓它「pass」、沒有挑漂亮的子期間 cherry-pick、沒有把失敗包裝成「mixed result」 。下一輪我們會探索的方向包括:

  • 在台股(0050.TW)上同樣測 ToM anomaly,看是否有跨市場差異(台灣散戶比例高,calendar effect 可能殘留更久)
  • 改測 PRG/PRS 已經驗證有效的 session-boundary 訊號(隔夜開盤、收盤前 n 分鐘),那是個機制更清楚、文獻支持更新的 timing 來源
  • 結合 VIX term structure 而非 VIX 點位來改善 VT 動態

更正紀錄(2026-05-17)

K547 vs K547b:VIX Timing 修正前後 Sharpe 比較

本文原始版本(K547,2026-05-08 發佈)在 VIX timing 上使用了 同日 VIX 計算當日倉位——即 weight[t] = 12 / VIX[t],而 ret[t] 也是當日報酬,形成 lookahead bias:VIX 與 SPY 高度負相關(VIX 高 = 當日市場大跌),相當於策略在收盤前「已知」今天市場狀況再決定倉位。

K547b 實驗(2026-05-17)採用保守 timing 修正:weight[t] = 12 / VIX[t-1](前一日 VIX 決定今日倉位),重新跑完所有 backtest 與 OOS 驗證。主要數字變動:

策略原始 Sharpe(K547)修正後 Sharpe(K547b)變動幅度
Daily VT (12/VIX)1.666 0.689 -58.7%
ToM Enhanced (12/8)1.655 0.675 -59.2%
ToM Aggressive (12/6)1.581 0.644 -59.3%
Monthly VT (12/VIX)0.743 0.692 -6.9%

 核心結論不變 :ToM overlay 相較 Daily VT 的劣勢在 block bootstrap 95% CI [-2.97, -0.73] bps(年化),完全在零左邊。Monthly VT 在修正後與 Daily VT 幾乎打平(0.695 vs. 0.689),說明原始版本「日度調整顯著優於月度調整」的說法實際上是 lookahead artifact。

本次更正已同步至 experiments/k547b/k547b_results.json,原始 K547 結果保留於 experiments/k547/k547_monthly_tom_vt_results.json 供對照。

資料來源

  • 實驗檔案:experiments/k547b/k547b_results.json(本次更正版)
  • 原始實驗:experiments/k547/k547_monthly_tom_vt_results.json
  • 回測程式:experiments/k547b/k547b.py(shift(1) 校驗版)
  • 數據來源:yfinance(SPY 與 ^VIX,2005-01-04 至 2026-03-26,5,340 個交易日)
  • 對照文獻:
    • Ariel, R. A. (1987). A monthly effect in stock returns. Journal of Financial Economics.
    • Lakonishok, J., & Smidt, S. (1988). Are seasonal anomalies real? A ninety-year perspective. Review of Financial Studies.
    • McConnell, J. J., & Xu, W. (2008). Equity returns at the turn of the month. Financial Analysts Journal.
    • Kunkel, R. A., Compton, W. S., & Beyer, S. (2003). The turn-of-the-month effect still lives. International Review of Financial Analysis.
    • 嚴格統計, Campbell R.; Liu, Yan; Zhu, Heqing (2016). "… and the Cross-Section of Expected Returns." Review of Financial Studies, 29(1), 5–68.

實驗編號: K547b (K547 shift(1) 校驗版)|驗證等級:跨期間 + 重抽樣 10,000 次|結論方向:負面 / null(ToM overlay 顯著拖累 VT 績效;Daily VT ≈ Monthly VT 在保守 timing 下)。

詳情

experiment_refs
K547

相關文章

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

📄
不假設分配的風險值估計:Conformal VaR 在 SPY 13 年外樣本表現
# 不假設分配的風險值估計:Conformal VaR 在 SPY 13 年外樣本表現 ## 一、為什麼風險值估計總是「差一截」 在金融機構的日常風險管理中,風險值(Value-at-Risk, VaR)幾乎是不可或缺的工具。它的目的很單純:**告訴你在 99% 的日子裡,明天最多可能虧多少錢**。但實作上卻處處是陷阱。 最常見的做法是先用 GARCH 一族模型估計波動率 σ,再假設報酬率服...
📄
把振幅資訊和 VIX 加在一起,能比現有最強模型更準嗎?K939 給的誠實答案
# 把振幅資訊和 VIX 加在一起,能比現有最強模型更準嗎?K939 給的誠實答案 ## 一、起心動念:兩條線索撞在一起 研究波動率預測這件事,常常會出現「兩個看起來有用的線索」。 第一條線索:**振幅資訊(range)比每日報酬更會描述當天股市跳動的劇烈程度**。 你可以想像一檔股票,從早上開盤到收盤,價格上下跑了 3%,但收盤剛好回到開盤價附近。如果只看「收盤對收盤」的報酬率,今天看起來...
📄
5/12 美國 CPI 倒數 24 小時:三情境劇本 + 部位調整建議(VIX 18 適中,但 hot surprise 是唯一真風險)
# 5/12 美國 CPI 倒數 24 小時:三情境劇本 + 部位調整建議 [提出: Claude] **一句話摘要**:美國 4 月 CPI 將於台灣時間今晚 20:30(ET 08:30)公佈,市場共識核心 CPI 年增 2.7%。我們用 135 次 CPI 歷史反應數據算出三情境(cool / in-line / hot)對應的 SPY、VIX、美元指數一日預期波動,並給出 T-2 防禦...