跳至主要內容
美股研究 約 10 分鐘閱讀

聖誕行情、五窮六絕回測:美股 5 個日曆效應,
90 組參數全輸 QQQ

美股聖誕行情、Sell in May、五窮六絕還有效嗎?用 finlab 回測 2016 到 2026 年的 QQQ 與 SPY:聖誕行情 7 天平均只漲 0.15%,比任意 7 個交易日的平均還少;月初、節前平均略高但不顯著。5 個日曆效應、90 組參數沒有一組贏 QQQ 買進持有,附程式碼與每日數據。

90 組參數全輸 QQQ

美股聖誕行情等 5 個日曆效應回測:各規則套用在 QQQ、SPY 的日夏普,對照 QQQ 買進持有,2016-2026

依本文重跑

執行這個策略

複製提示詞,讓 AI 依照上方證據的資料、條件與風險檢查重跑一次。

告訴你的AI:

設定 FinLab,重跑聖誕行情等 5 個美股日曆效應對 QQQ 的回測,請讀:https://finlab.finance/setup?relatedUrl=/blog/santa-claus-rally-calendar-effects-backtest

免安裝,開啟 FinLab Studio

**我們用 2016 年 1 月到 2026 年 10 月的 QQQ 與 SPY,回測美股最常被提起的 5 個日曆效應:聖誕行情、Sell in May(萬聖節效應)、月初效應、節前效應,以及「五窮六絕」的 5、6 月空手。結果沒有一個贏過單純抱著 QQQ。原始參數最好的是 SPY 版的五窮六絕,日夏普 0.72,QQQ 含息買進持有是 0.93;90 組鄰近參數也沒有一組贏。**名氣最大的聖誕行情表現最差:套用在 QQQ,這 7 個交易日平均只漲 0.15%,比任意連續 7 個交易日的平均(0.57%)還少,最近 5 年每一年都是跌的。月初與節前兩個效應的日報酬仍高於其他日子,但差異不到統計顯著,涵蓋的天數也太少,做成策略贏不了一直持有指數。

5 個日曆效應關鍵數字

每個規則只在窗口內持有 ETF,其他時間空手。下表是套用在 QQQ 的結果;SPY 版的數字在圖表與 metrics.json。

規則(出處) 持有期間 在場比例 日夏普 年化報酬 最大回撤 贏 QQQ 的參數組 前/後半段日夏普
聖誕行情(Hirsch 1972) 12 月最後 5 個交易日+1 月前 2 個交易日 2.6% 0.06 0.1% -6.6% 0/9 0.31/-0.32
Sell in May(Bouman & Jacobsen 2002) 11 月到隔年 4 月 48% 0.53 8.0% -28.6% 0/9 0.75/0.30
月初效應(Lakonishok & Smidt 1988) 月底最後 1 天+下月前 3 天 19% 0.54 4.8% -14.4% 0/9 0.72/0.37
節前效應(Ariel 1990) 每個休市日前一個交易日 3.8% 0.36 1.1% -7.1% 0/9 0.02/0.69
五窮六絕(5、6 月空手) 5、6 月以外的月份 83% 0.69 12.8% -28.6% 0/9 0.96/0.41
QQQ 買進持有 一直持有 100% 0.93 19.9% -35.1% 基準 1.09/0.78
SPY 買進持有 一直持有 100% 0.88 15.1% -33.7% 參考 未切段

回測期間 2016-01-04 至 2026-10-27,是 FinLab 美股 ETF 價格表的完整歷史。所有曲線從同一天起算,QQQ 與 SPY 都是含息報酬,日期與策略完全相同。

判準:三項驗證都要過

「贏 QQQ」在本文只有一個意思:在完全相同的交易日上,日夏普高於 QQQ 含息買進持有。日夏普是日報酬平均除以標準差、乘上 √252 年化,不扣無風險利率。一個規則三項都過才算成立:

  1. **鄰近參數。**每個規則有兩個參數,各取經典值與上下各一格,共 9 組,至少 7 組(門檻是七成以上)要贏 QQQ。聖誕行情改 12 月天數(4、5、6)與 1 月天數(1、2、3);Sell in May 改開始持有月份(10、11、12 月)與最後持有月份(3、4、5 月);月初效應改月底前天數(0、1、2)與月初天數(2、3、4);節前效應改假日前天數(1、2、3)與假日後天數(0、1、2);五窮六絕改空手起始月份(4、5、6 月)與空手月數(1、2、3)。
  2. **前後兩段。**回測期間從中點 2021-05-28 切開,經典參數在前後兩段都要各自贏 QQQ。
  3. **交易成本。**finlab 美股預設手續費與交易稅都是 0,跟美國零佣金券商一致。為了反映買賣價差與滑價,成本檢查在每次買進、每次賣出各扣 0.1%(fee_ratio=0.001),扣完仍要贏 QQQ。

每個規則在 QQQ 與 SPY 上各跑一次,所以每檔 ETF 有 45 組參數,合計 90 組。

5 個規則與出處

**聖誕行情(Santa Claus rally)。**Yale Hirsch 在 1972 年版的《Stock Trader's Almanac》命名:美股在 12 月最後 5 個交易日與 1 月前 2 個交易日容易上漲。Lakonishok & Smidt(1988)用道瓊工業指數 90 年的日資料,發現年底年初、月底月初與假日前都有異常高的報酬。本文的窗口照 Hirsch 的定義,5+2 個交易日,約占全部交易日的 2.6%。

Sell in May and go away(萬聖節效應)。Bouman & Jacobsen(2002)研究 1970 到 1998 年 37 個市場,發現其中 36 個市場 11 月到隔年 4 月的報酬高於 5 月到 10 月。規則從 11 月第一個交易日持有到 4 月最後一個交易日,另外 6 個月空手。

月初效應(turn of the month)。Ariel(1987)發現美股 1963 到 1981 年的報酬集中在每個交易月的前半段,從上個月最後一天開始。Lakonishok & Smidt(1988)把窗口縮到 4 天:月底最後 1 個交易日與下個月前 3 個交易日。McConnell & Xu(2008)用 1926 到 2005 年的資料發現,美股在這 4 天以外幾乎賺不到市場風險溢酬,包含美國在內的 35 個國家中有 31 個出現同樣現象。本文的規則就持有這 4 天。

節前效應(pre-holiday effect)。Ariel(1990)發現美股休市日前一個交易日的平均報酬,是一年其他日子的 9 到 14 倍。規則只持有這一天。回測期間共有 102 個平日休市,包含兩次臨時休市(2018-12-05 與 2025-01-09 的國喪日),兩次都在幾天前就公告。

**五窮六絕(5、6 月空手)。**這是華人股市的俗諺,說 5、6 月股市容易疲弱,後面還有「七上吊」「七翻身」等不同版本。它可以看成縮短版的 Sell in May:規則全年持有,只在 5、6 月空手。

結果一:5 個規則沒有一個贏 QQQ

文首的圖把經典參數排在一起。最接近的是在場時間最長的五窮六絕(QQQ 0.69、SPY 0.72);Sell in May(兩者都是 0.53)、月初效應(0.54、0.49)與節前效應(0.36、0.57)落在 0.36 到 0.57 之間;聖誕行情最遠(0.06、0.22)。

1 美元成長:5 個日曆規則套用在 QQQ 對照 QQQ 買進持有,2016-2026,對數軸

換成金額差距更明顯。1 美元放在 QQQ 會變成 7.12 美元;避開 5、6 月剩 3.68 美元,只持有 11 到 4 月 2.29 美元,月初效應 1.66 美元,節前效應 1.13 美元,聖誕行情 1.01 美元。圖上平的那幾段,就是各規則空手的月份。

結果二:90 組參數沒有一組贏

5 個美股日曆效應的鄰近參數熱圖:每格是一組參數在 QQQ 的日夏普,全部低於 QQQ 的 0.93

每個小格是一個規則,格內數字是該組參數套用在 QQQ 的日夏普,顏色是和 QQQ 0.93 的差距。45 格全部低於 QQQ,SPY 的 45 組也一樣。單組最好的是 4 月起空手 1 個月:QQQ 0.88、SPY 0.83。聖誕行情的 9 組都在 -0.02 到 0.11 之間;Sell in May 把持有期延到 5 月反而變好(0.72),等於「Sell in May」做得越少,結果越好。

結果三:前後兩段與交易成本

QQQ 自己的日夏普在前半段(2016 年 1 月到 2021 年 5 月)是 1.09,後半段是 0.78。前半段沒有任何規則贏。後半段只有 SPY 版的節前效應贏(0.89 對 0.78);同一個規則套在 QQQ 是 0.02 與 0.69。另外 4 個規則在 2021 年 5 月之後都變弱,QQQ 版的聖誕行情後半段變成負的(-0.32)。

交易成本打擊的是交易頻繁的規則。月初效應一年進出 12 次,每邊 0.1% 一年約 2.4%,QQQ 版的年化報酬從 4.8% 降到 2.3%,日夏普從 0.54 降到 0.29。節前效應一年約進出 9 次,扣成本後年化報酬從 1.1% 變成 -0.8%。兩個慢規則幾乎不受影響:Sell in May 從 0.53 到 0.52,五窮六絕從 0.69 到 0.68。

為什麼日曆規則很難贏 QQQ:在場時間

5 個日曆規則的在場比例與在場那幾天的夏普,以及追平 QQQ 所需的夏普曲線

一個規則如果只在一部分的日子持有、其他日子報酬為 0,它全期的日夏普大約等於「√在場比例 × 在場那幾天的夏普」。要追平 QQQ 的 0.93,在場 2.6% 的聖誕行情,在那 7 天裡夏普要高達約 5.8;在場 3.8% 的節前效應要 4.8,在場 19% 的月初效應要 2.1,在場 48% 的 Sell in May 要 1.3,在場 83% 的五窮六絕要 1.0。

圖上的點是各規則實際在場那幾天的夏普。SPY 的節前那一天最高,達 3.0;QQQ 的月初 4 天也有 1.25,兩者都高於 QQQ 全期的 0.93。這些日子確實是好日子,規則輸的原因是放掉了其他所有日子。在 QQQ 一年複利 19.9% 的這十年,其他日子才是報酬的主體:月初窗口占全部交易日的 19%,貢獻了 QQQ 對數總報酬的 26%。

逐一來看:這些效應還在嗎

三項驗證問的是「規則能不能贏指數」。另一個問題是:日曆現象本身還看不看得到?5 個效應裡,窗口內與窗口外日報酬的差異沒有一個達到統計顯著;t 值最大的是 5、6 月的 1.23,而且方向和俗諺相反。

聖誕行情:比任意 7 個交易日的平均還差

聖誕行情窗口逐年報酬,QQQ 與 SPY,2016-2025,對照 QQQ 任意 7 個交易日的平均報酬

QQQ 的 7 天窗口 10 年中有 5 年上漲,平均 0.15%,中位數 -0.03%。同一段期間任意連續 7 個交易日平均漲 0.57%、上漲機率 62%。前 5 年的窗口全部收紅,後 5 年全部收黑,最差是 2023/24 年的 -2.3%。SPY 好一點,10 年中 7 年上漲、平均 0.54%,略高於它任意連續 7 個交易日的 0.44%,但最近 3 年也都是跌的,最近一次只跌 0.03%。QQQ 版的聖誕行情規則,十年下來總共只賺 1.5%。

月初效應:日子比較好,但不夠

QQQ 與 SPY 在月底月初前後各交易日的平均日報酬,2016-2026

每月第一個交易日是 QQQ(平均 0.19%)與 SPY(0.15%)表現最好的日子之一。整個 4 天窗口,QQQ 平均每天 0.108%,其他日子 0.076%(t=0.47);SPY 是 0.076% 對 0.059%。圖上也看得到,窗口外的兩天,也就是月底倒數第 4 與倒數第 2 個交易日,跟月初第一天一樣強。這十年的優勢分散在月底最後一週,沒有集中在論文說的那 4 天。4 天窗口上漲的月份占 60%,跟任意 4 天一樣。

節前效應:還是正的,但次數太少

休市前一天 QQQ 平均漲 0.12%、SPY 漲 0.15%,其他日子分別是 0.08% 與 0.06%,上漲機率 66% 與 65%。SPY 的節前一天約是普通日子的 2.5 倍,是這次測試裡最接近 Ariel 原始發現的結果,不過 102 個假日的樣本還不到統計顯著(t=1.09)。它也撐不過成本檢查:一買一賣 0.2% 的成本,已經超過平均 0.15% 的漲幅。假日後第一天,SPY 平均反而跌 0.07%。

Sell in May 與五窮六絕:避開的剛好是好月份

QQQ 與 SPY 各月份平均月報酬,2016-2026,11 到 4 月加底色

這十年美股的「夏天」並不弱。QQQ 11 到 4 月的平均日報酬是 0.075%,5 到 10 月是 0.089%;SPY 兩段幾乎一樣(0.063% 與 0.061%)。11 到 4 月贏過前面那段 5 到 10 月的年份,QQQ 是 10 年中 6 年,SPY 是 5 年。錯過最多的是 2025 年:QQQ 5 到 10 月上漲 32.6%,規則全部空手。

對 QQQ 來說,5、6 月更是全年最強的一段。5 月是 QQQ 平均第二好的月份(3.9%,僅次於 11 月的 4.0%),6 月平均 2.4%。11 年裡 QQQ 在 5、6 月下跌只有 2 年(2019、2022),SPY 只有 1 年(2022)。全年最弱的是 9 月,QQQ 平均 -1.2%、SPY -1.1%。

對照台股:0050 的五窮六絕與聖誕行情

五窮六絕在台股也常被提起。我們用同樣的算法看 0050 含息(etl:adj_close)作為對照,這部分只列統計,沒有對台股做三項驗證:

0050 含息 期間 次數 平均報酬 上漲次數
5、6 月合計 2007~2026 20 年 +3.0% 11 年
5、6 月合計 2016~2026 11 年 +6.3% 8 年
聖誕行情 7 天窗口 2007/08~2025/26 19 次 +1.6% 11 次
聖誕行情 7 天窗口 2016/17~2025/26 10 次 +2.0% 6 次
任意連續 7 個交易日 2016~2026 每天滾動 +0.66% 60%

台股的 5、6 月同樣沒有「又窮又絕」:自 2007 年起平均上漲 3.0%,2016 年以後平均 6.3%。0050 的聖誕行情窗口平均報酬高於任意連續 7 個交易日,但上漲機率 60% 和任意 7 個交易日一樣,平均值主要來自少數大漲的年份,例如 2025/26 年的 +9.1%(0050 從 2025-12-23 收盤 63.70 元漲到 2026-01-05 的 69.50 元)。台股年底的季節性可以看 台股第四季走勢 與 作帳行情回測,春節前後的版本在 紅包行情回測。

程式碼

聖誕行情測試的核心只有幾步:在交易日曆上標出窗口,給 finlab sim() 一個只在這些日子持有 QQQ 的部位,再和 QQQ 買進持有比較日夏普。

顯示程式碼
import pandas as pd
import finlab
from finlab import data
from finlab.backtest import sim
 
finlab.login()  # finlab 會自動引導登入
data.set_market("us_fund")
 
# 1. QQQ 含息還原收盤價與交易日
close = data.get("us_fund_price:adj_close")["QQQ"].dropna()
days = close.index
 
# 2. 標出聖誕行情窗口:12 月最後 5 個交易日、1 月前 2 個交易日
counter = pd.Series(1, index=days)
month = days.to_period("M")
day_in_month = counter.groupby(month).cumcount() + 1
days_to_month_end = counter.groupby(month).cumcount(ascending=False) + 1
december = (days.month == 12) & (days_to_month_end <= 5)
january = (days.month == 1) & (day_in_month <= 2)
in_window = december | january
 
# 3. sim() 會在訊號隔一個交易日的收盤成交,
#    所以訊號提前兩個交易日:窗口前一天收盤買進,窗口最後一天收盤賣出
signal = in_window.shift(-2, fill_value=False)
position = signal.astype(float).to_frame("QQQ")
report = sim(position, resample=None, trade_at_price="close", upload=False)
 
# 4. 同一段日期比較規則與 QQQ 買進持有的日夏普
equity = report.creturn.reindex(days).ffill().fillna(1.0)
for name, curve in [("聖誕行情", equity), ("QQQ 買進持有", close / close.iloc[0])]:
    daily = curve.pct_change().dropna()
    print(name, round(daily.mean() / daily.std() * 252 ** 0.5, 2))

資料到 2026-10-27 時,這段程式會印出 0.06 與 0.93。訊號提前兩天不會用到未來的價格:交易所的休市日曆在好幾年前就公布了。完整的 strategy.py 會把 5 個規則都套用在 QQQ 與 SPY,並補上未來兩個月的紐約證交所交易日,讓最後幾天知道月底在哪裡;加上 --validate 可以重現本文所有的參數網格、前後兩段與成本檢查數字。不想自己寫程式的話,完成 AI 輔助安裝 後,直接跟 AI 說「幫我測 SPY 的聖誕行情,再做鄰近參數、前後兩段與每邊 0.1% 成本的檢查」也能跑出同樣的研究。

回測方法與限制

項目 做法
回測期間 2016-01-04 至 2026-10-27,us_fund_price 的完整歷史。所有曲線從第一個資料日起算,QQQ、SPY 用相同日期。
標的 QQQ 與 SPY 的含息還原收盤價(us_fund_price:adj_close)。每次只用一檔 ETF,窗口內 100% 持有,窗口外 0%。
空手的現金 不計利息(finlab 預設)。若把閒置資金放在短天期美債會多一些利息,本文沒有計入。
訊號時點 日曆事先已知。sim() 在訊號隔一個交易日的收盤成交,所以訊號提前兩個交易日,規則從窗口前一天收盤持有到窗口最後一天收盤。我們另外手算的報酬和 sim() 的差距在 1e-14 以內,參見 前視偏差 的說明。
休市日 從資料的交易日找出 102 個平日休市,含 2018-12-05、2025-01-09 兩次事先公告的臨時休市。
交易成本 預設回測:finlab USFundMarket 預設,手續費與交易稅都是 0。成本檢查:每邊 0.1%,用來反映價差與 滑價。
周轉 每年進出次數:聖誕行情 0.9、Sell in May 1.0、五窮六絕 1.1、節前效應 9.4、月初效應 12.0(周轉率 的定義)。
基準 QQQ 含息買進持有,不計成本;SPY 作為參考。日夏普不扣無風險利率,計算方式見 夏普比率。
樣本 全部是約十年的樣本內結果:聖誕行情 10 次、Sell in May 10 個循環、月初 130 次、休市 102 次。前後兩段只是穩定度檢查,不是樣本外驗證。容量未估算;SPY、QQQ 是全球成交量最大的證券之一。

這個結果說明什麼、不說明什麼

它說明:2016 到 2026 年,一個只照日曆進出 QQQ 或 SPY 的投資人,在我們試過的每一組鄰近參數下,風險調整後的表現都比一直持有指數差。它沒有說原始研究是錯的。Lakonishok 與 Smidt 用了 90 年資料,Bouman 與 Jacobsen 用了 37 個市場的 29 年資料;十年是很短的樣本,對一年只發生一次的效應更是如此。這也和學術異常普遍的命運一致:McLean & Pontiff(2016)研究 97 個已發表的橫斷面選股因子,發現論文發表後報酬平均少了 58%;日曆效應不在那份研究裡,但本文較弱的結果與這個現象一致。

實務上的意義比較窄。月初與假日前一天在這段樣本裡的平均報酬仍高於其他日子,但差異不顯著,不足以據此調整加碼時點;拿來當獨立策略,持有的日子太少,跟不上指數。2016 年 5 月以來通過三項驗證、贏過 QQQ 的擇時規則,是 美股 ETF 輪動策略,它依 QQQ 的趨勢與動能進出,與日曆無關。它在偏多的月份持有 2 倍槓桿 ETF(QLD、SSO),有槓桿風險與波動耗損,最大回撤 19.3%,績效見 ETF 輪動策略頁。其他美股研究整理在 美股量化策略總覽,美股學術因子回測 對選股因子也得到同樣的結論:沒有一個贏 QQQ。

常見問題

聖誕行情是什麼?日期怎麼算?

聖誕行情(Santa Claus rally)指美股在 12 月最後 5 個交易日與隔年 1 月前 2 個交易日容易上漲,由 Yale Hirsch 在 1972 年提出。以 2026 年為例,是 12 月 23 日收盤買進、2027 年 1 月 5 日收盤賣出,因為聖誕節與元旦美股休市。

美股聖誕行情現在還有效嗎?

在這十年的 QQQ 上沒有。7 天窗口 10 年中 5 年上漲,平均 0.15%,比任意連續 7 個交易日的 0.57% 還少,而且最近 5 年都是跌的。SPY 10 年中 7 年上漲,但只持有這 7 天的規則日夏普 0.22,遠低於 QQQ 的 0.93。

台股有聖誕行情嗎?

0050 自 2007 年起 19 次窗口平均上漲 1.6%,高於任意連續 7 個交易日,但上漲機率 58%,和任意 7 個交易日差不多,平均值主要來自少數大漲的年份。本文沒有對台股做三項驗證,只列統計作為對照。

五窮六絕是什麼意思?是真的嗎?

五窮六絕是華人股市的俗諺,意思是 5、6 月股市容易疲弱。這十年的資料剛好相反:5 月是 QQQ 平均第二好的月份,11 年裡 5、6 月下跌只有 2 年;0050 自 2007 年起 5、6 月平均也上漲 3.0%。5、6 月空手的規則日夏普 0.69,輸給一直持有的 0.93。

Sell in May and go away 是真的嗎?

在 2016 到 2026 年的美股大型股不成立。QQQ 5 到 10 月的平均日報酬高於 11 到 4 月,只持有 11 到 4 月的日夏普 0.53,對 QQQ 的 0.93。

月初效應還存在嗎?

日報酬上還看得到:QQQ 月底最後一天加月初前 3 天平均每天 0.108%,其他日子 0.076%。但只持有這 4 天,年化報酬 4.8%,QQQ 是 19.9%;每邊扣 0.1% 成本後只剩 2.3%。

美股哪個月份表現最好?

2016 到 2026 年的 QQQ,平均報酬最高的是 11 月(3.96%)與 5 月(3.94%),其次是 7 月與 1 月;最差是 9 月(-1.2%)。每個月只有 10 到 11 個樣本,不能拿來預測單一年份。

可以自己重跑嗎?

可以。先完成 AI 輔助安裝,下載下方的 strategy.py,執行 python strategy.py --validate。

延伸閱讀

下載資源

檔案 內容
strategy.py 完整測試:5 個規則套用在 QQQ 與 SPY、90 組參數、前後兩段與成本檢查
data.csv 各規則套用在 QQQ、SPY 的每日淨值,以及 QQQ、SPY 買進持有
metrics.json 本文引用的全部統計,包含 90 組參數的結果

**投資警語:本文僅供教學參考,不構成投資建議。過去績效不代表未來表現,投資有風險。**本文所有回測均為全段樣本內結果;前後兩段只是穩定度檢查,未經樣本外驗證。

最後更新:2026-10|回測區間:2016-01~2026-10|基準:QQQ 含息|作者:FinLab 量化研究團隊(經量化研究員審閱)

FinLab AI

想建立自己的策略?

用自然語言描述你的選股想法,AI 自動驗證、回測、給你答案

免費開始

更多總經與市場研究

查看全部