← 策略解剖室
日曆季節性 · 99 年 · 樣本內 / 樣本外審判

「五月賣出」的優勢,是國庫券假扮的

Sell in May vs 買了就抱 · 標普 500 月報酬 1928–2026 · 99 年 · 含一月效應與「最爛月份」
0.429 vs 0.426
不給現金利息時,「五月賣出」的 Sharpe vs 買了就抱 —— 幾乎平手,而且少賺了報酬
+1.31
「夏天比冬天弱」的差異 t 值 —— 連統計門檻(約 2)都沒到,測不到
6.05% vs 7.96%
出版之後的樣本外 CAGR:策略 vs 買了就抱 —— 反而每年少賺快 2%
−0.05
一月效應在它的小型股老家(羅素 2000)的 t 值 —— 早被套利歸零

「Sell in May and go away」—— 五月賣出、離場避暑,等萬聖節前後再進場。這句押韻的英文諺語流傳了一百多年,2002 年甚至被寫成正式論文登上頂級期刊。聽起來像是市場藏了一條季節時鐘:夏天弱、冬天強,你只要跟著日曆走就好。

我們把它放回 99 年的標普 500 月報酬,跟一個一輩子不擇時的對手放在一起比 —— 那個對手只有一句話:「買了,然後抱著,什麼月份都不動。」

第一部 · 對手

對照組:從不看日曆的那個

要知道「五月賣出」有沒有真的擇時優勢,得先有個基準。我們用最樸素的對照:

買了就抱(對照組)· 一句規則

  • 整段時間滿倉持有標普 500,不看月份、不躲夏天、不換倉。
  • 「五月賣出」版本:11 月到隔年 4 月持股(冬半年)、5 月到 10 月空手(夏半年)。空手那半年的現金,我們分三種情境:不計息、年息 2%、年息 4%。

資料是標普 500 自 1928 年以來的月報酬,指數層級的諺語不牽涉個股,所以不需要成分股校正。兩邊吃的是同一段歷史,差別只在「夏天到底要不要空手」。

第二部 · 判決
那個「優勢」,扣到底其實是利息

第一刀:不計息,它只是「少賺、少波動」

先看最誠實的版本 —— 夏天空手時,現金一毛利息都不算。這時候兩邊的風險報酬比是這樣:

買了就抱 · Sharpe
0.426
五月賣出 · Sharpe
0.429
買了就抱 · 年化報酬
6.34%
五月賣出 · 年化報酬
4.53%

Sharpe(報酬相對波動的分數,越高越好)0.429 對 0.426 —— 在小數點第三位上打平,談不上「優勢」。而你為了這個平手,把年化報酬從 6.34% 砍到 4.53%。它確實讓波動變小了(18% → 12%),但那只是「少持股、少承擔風險」的自然結果,不是擇時挑出來的便宜 —— 你用少賺的報酬,換來少擔的波動,一手交一手。

第二刀:那點 Sharpe 優勢,是你本來就能領的利息

那為什麼大家總說「五月賣出」風險報酬更好?因為算的時候,把夏半年那筆閒置現金算了利息。利息一加進去,Sharpe 就爬起來了 —— 但爬上去的高度,幾乎完全由「你假設現金能領幾趴」決定:

買了就抱(基準)0.426
五月賣出 · 現金不計息0.429
五月賣出 · 現金算年息 2%0.513
五月賣出 · 現金算年息 4%0.595

金色那兩條才是大家拿來說嘴的「優勢」。但它們是被現金利息抬上去的 —— 利息算越高,優勢看起來越大。問題在於:任何讓你半年空手的規則,都能領到同一筆利息,跟「五月」這個月份毫無關係。你以為發現了季節時鐘,實際上做的事情是:半年持股、半年買國庫券。

這正是合成債券的形狀:把資金的一部分長期擺進無風險利率,Sharpe 自然被墊高,但這個墊高的天花板就是利率本身 —— 那是利息(carry),不是季節擇時的 alpha。利息是真錢沒錯,你也真的領得到;但它不能拿來證明「夏天該避開」,因為換成「逢雙數月空手」也一樣領得到。

互動 · 利率滑桿

把利率滑桿拉一拉

下面這條滑桿,是你假設夏半年那筆閒置現金能領多少利息。拉拉看 —— 看「五月賣出」的 Sharpe 怎麼從跟「買了就抱」平手,被利息一路墊到超車。

0.0%
你假設現金的年息
0%2%4%6%
買了就抱(不擇時,基準)0.426
五月賣出 · 現金算 0.0%0.429

第三刀:「夏天弱」這件事,根本測不到

退一步,先別管利息 —— 夏天到底有沒有「統計上真的比較弱」?把冬半年和夏半年的月均報酬擺出來比:

冬半年 · 月均
+0.86%
夏半年 · 月均
+0.45%
差異 t 值
+1.31
剔掉最爛 1% 月份後 · 夏半年月均
+0.75%

冬天看起來是比夏天好(+0.86% vs +0.45%),但差異的 t 值只有 1.31 —— 連最寬鬆的顯著門檻(約 2)都沒碰到。意思不是「夏冬一樣」,而是在這個樣本量下,差距小到跟雜訊分不出來。更關鍵的是:把 99 年裡最爛的那 1% 月份剔掉,夏半年月均立刻從 +0.45% 跳到 +0.75%,幾乎追平冬天。所謂「夏天弱」,大半是少數幾個急殺月份穿了日曆的外衣:

99 年裡最慘的 5 個月 —— 5 個有 4 個落在「夏半年」

  • 1931-09 −30% · 1938-03 −25% · 1940-05 −24% · 1932-05 −23% · 1987-10 −22%
  • 5 個裡有 4 個(九月、十月、兩個五月)落在 5–10 月,只有 1938-03 在冬半年。把這幾根拔掉,「夏天該離場」的故事就站不住了 —— 它不是一條季節節律,是少數崩盤剛好集中在夏半年
互動 · 逐月攤開

把一整年,一個月一個月攤開看

「夏弱冬強」是把 12 個月硬壓成兩塊平均值。把它攤回逐月 —— 換指標、點任一根看細節 —— 你會發現真正的形狀,跟那條諺語不太一樣。99 年(1928–2026)標普 500 月報酬。

冬半年(11–4 月)夏半年(5–10 月)

盯著這張圖久了,很多人會冒出同一個念頭:「所以真正該賣的,其實是九月?」整年裡唯一月均轉負的月份就是九月(−1.12%、上漲機率只有 44.9%),比五月難看太多了 —— 那不如改口叫「九月賣出」?

這正是這把刀最後要切的地方。九月看起來更「該賣」,不是因為它更可靠,而是因為你翻遍了 12 個月、回頭挑出最難看的那一根。在樣本內找極端值,本來就會找到極端值 —— 這不是擇時,是挑樣本(data snooping)。何況就算挑了它,九月的 t 值也只有 −1.93,連 ±2 的門檻都沒過;它的「弱」幾乎全來自少數幾次秋天崩盤(1929、1987、2008)堆出來的左尾,而不是一條準時報到的節律。學界其實走過這條路 ——「九月效應」(又名馬克吐溫效應)早被寫成論文,然後跟多數日曆異象一樣,出版之後就退潮了(這正是下一刀要做的事)。

把規則挑在「最爛的那個月」上,你優化的不是時機,是後照鏡。
「五月」或「九月」都不是重點 —— 只要你是先看完答案才畫靶,挑到的都是雜訊。

第四刀:出版之後,它就退潮了

2002 年那篇論文讓「五月賣出」紅遍市場。如果它是真規律,出版後該繼續有效;如果是資料探勘,出版後通常會退潮。把 2002 年之後切成樣本外來看:買了就抱年化 7.96%,「五月賣出」(現金算 2%)只有 6.05% —— 你每年少賺了快 2%,換到的 Sharpe(0.61 vs 0.59)依舊只是前面那筆利息的故事,不是新的季節優勢。

同場加映另一句日曆諺語 ——「一月效應」(小型股一月特別強)。它的小型股老家羅素 2000、在發表之後(1987 年起)的一月 vs 非一月差異:t 值 −0.05,標普同期 t 值 +0.25。歸零,而且方向還反了。最後,我們老實地把 12 個月全測一遍、做多重比較校正(Bonferroni):純靠運氣本來就會冒出約 0.6 個「顯著」月份,結果撐得過校正的只有 7 月和 12 月 —— 而沒有人在交易「七月買進」這條諺語。會被講成故事的,往往是沒撐過校正的那幾個。

第三部 · 機制
你以為躲過了夏天,其實只是領了利息

為什麼這句諺語這麼好記

因為它押韻、有畫面、又剛好搭上幾次真實的秋天股災(1929、1987、2008 都在「夏半年」收尾)。人腦特別會把「押韻 + 幾個鮮明案例」記成規律。但把它拆開,真正在背後做事的只有兩件:一是少持股一半時間 → 波動變小,二是那半年的現金生了利息。兩件都跟「五月」這個月份無關 —— 換成任何固定的半年空手,結論一模一樣。

要說公道話:把資金擺進國庫券、降低曝險,本身不是壞事,那筆利息也是實實在在的錢。錯的只是把它包裝成「季節擇時」。一旦你把現金的利息誠實地標成利息、把降低的曝險誠實地標成少賺的報酬,「Sell in May」就現出原形:一張半年期的合成債券,不是一條藏在日曆裡的 alpha。

當一個策略的「優勢」會隨你假設的現金利率一起上下,
它賣的就不是擇時,是利息。季節諺語好記,是因為它押韻、又搭上幾次真實股災;但好記不等於可交易。

這是測「照日曆機械空手半年」這條規則本身,不是測任何結合基本面或趨勢的戰術性減碼。
但「跟著季節走就有優勢」的直覺,值得放上手術台一次。

看其他解剖檔案 →

方法 · 來源

完整可重跑。資料:標普 500(^GSPC)月總報酬,1928-01 至 2026-06,共 99 年、1182 個月。「五月賣出」= 11–4 月持股、5–10 月空手,空手現金分別以年息 0% / 2% / 4% 計息;對照組為全程持有。Sharpe 為月報酬年化、對 0 計算的概略值(只用於兩策略相對比較,非絕對 Sharpe)。樣本外切點取 Bouman & Jacobsen (2002) 出版後的 2002-06。
範圍與限制:本文證偽的是「照固定日曆機械空手半年能否提供真正的季節擇時優勢」,結論是「Sharpe 的提升幾乎全來自現金利息與降低曝險,而非月份本身」。它等於否定所有戰術性減碼 —— 結合估值、趨勢或波動度的動態調倉是另一回事,不在本測之內。冬半年確實月均略高於夏半年(+0.86% vs +0.45%),只是在此樣本量下差距測不到顯著(t=1.31),且大半由少數崩盤月份貢獻;這是「測不到可用訊號」,不是斷言「夏冬報酬完全相等」。

  • 關鍵數字 — 全期 99 年:買了就抱 CAGR 6.34%、Sharpe 0.426、MaxDD −86%;五月賣出(現金不計息)CAGR 4.53%、Sharpe 0.429;現金算 2% → Sharpe 0.513;算 4% → 0.595。冬/夏月均 +0.86%/+0.45%,差異 t=1.31;剔最爛 1% 月份後夏半年月均升至 +0.75%。樣本外 2002+:買了就抱 CAGR 7.96% vs 五月賣出(2%)6.05%。一月效應:標普 OOS t=+0.25、羅素 2000 t=−0.05。12 個月做 Bonferroni 校正後僅 7 月、12 月存活。
  • 原始說法 — Sven Bouman & Ben Jacobsen (2002),The Halloween Indicator, 'Sell in May and Go Away',American Economic Review。
  • 一月效應 — Rozeff & Kinney (1976);Haugen & Lakonishok,《The Incredible January Effect》(1987)。發表後在小型股上已大幅衰退。
  • 同系列死因 — 同一套防火牆也判過 VCP 型態學、Connors RSI(2)、Minervini 趨勢樣板;共同主題都是 regime/beta、選擇偏差、缺乏誠實的對照基準與多重比較校正。