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

黃金交叉回測:S&P 500 個股 7,242 次交叉,
死亡交叉後報酬反而更高

黃金交叉有用嗎?追蹤 S&P 500 個股 2017 到 2026 的 3,529 次黃金交叉與 3,713 次死亡交叉,相對成分股平均都接近零;50/200 策略年化 11.5%,36 組參數全輸 QQQ,附程式可重跑。

免安裝,用 AI 重跑這篇的策略

在瀏覽器開啟 FinLab Studio,AI 依本文的條件重跑回測,接著可以改條件再測。

在 Studio 重跑
死亡交叉後,股票漲得比較多

黃金交叉回測:S&P 500 黃金交叉策略、加營收濾網版、RSP 與 QQQ 含息累積淨值,2017 年 4 月至 2026 年 10 月

依本文重跑

執行這個策略

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

告訴你的AI:

幫我設定 FinLab,重跑 S&P 500 黃金交叉回測與事件研究,請讀:https://finlab.finance/setup?relatedUrl=/blog/golden-cross-stocks-backtest

免安裝,開啟 FinLab Studio

S&P 500 個股出現黃金交叉,幾乎沒有告訴我們接下來會怎樣。2017 年 4 月到 2026 年 10 月,我們追蹤了 3,529 次黃金交叉和 3,713 次死亡交叉。之後 126 個交易日,黃金交叉後平均上漲 6.6%,死亡交叉後平均上漲 7.6%;跟成分股平均相比,兩者都在正負 0.2 個百分點以內。從黃金交叉抱到死亡交叉的策略年化 11.5%、日夏普 0.72,含息 QQQ 是 19.6%、0.89。它略贏 RSP 的 0.68,但 36 組參數沒有一組贏 QQQ。

50 日線穿過 200 日線是最常被引用的技術訊號之一,通常拿指數來測。本文改測個股,股票池用每一天真實的 S&P 500 成分股。

黃金交叉關鍵數字

設計 日夏普 年化報酬 最大回撤 贏 QQQ 贏 RSP 前/後半段夏普 每邊 0.1% 成本的夏普
黃金交叉 0.72 11.5% -38.4% 0 / 9 7 / 9 0.80 / 0.63 0.68
黃金交叉+營收成長 0.73 12.7% -38.4% 0 / 27 27 / 27 0.69 / 0.80 0.70
RSP 含息 0.68 11.6% -39.0% 對照 0.78 / 0.57
SPY 含息 0.84 14.7% -33.7% 對照 0.93 / 0.75
QQQ 含息 0.89 19.6% -35.1% 基準 1.11 / 0.69

每一列都是 2017-04-04 到 2026-10-30,股息再投入。前後半段以 2022-01-13 切開。

黃金交叉與死亡交叉之後發生什麼事

黃金交叉是個股 50 日均線由下往上穿過 200 日均線的那一天,死亡交叉相反。下表的報酬都從下一個收盤起算,和回測的成交方式相同。

事件 交易日 筆數 平均報酬 中位數 上漲比例 相對成分股平均 贏平均的比例
黃金交叉 21 3,504 0.82% 0.99% 56.1% 0.05% 50.2%
黃金交叉 63 3,416 2.42% 1.94% 56.0% 0.02% 48.2%
黃金交叉 126 3,293 6.56% 4.68% 60.0% 0.15% 46.2%
黃金交叉 252 3,113 12.99% 8.93% 62.9% 0.13% 45.5%
死亡交叉 21 3,638 2.19% 1.95% 59.6% 0.18% 49.9%
死亡交叉 63 3,568 5.27% 4.41% 61.9% 0.18% 48.3%
死亡交叉 126 3,493 7.64% 5.60% 61.0% 0.05% 46.8%
死亡交叉 252 3,235 16.55% 10.90% 65.5% -1.04% 45.7%

S&P 500 個股黃金交叉與死亡交叉後 21、63、126、252 個交易日的平均報酬

每個期間都是死亡交叉後漲得比較多。乍看像是空頭訊號反而該買,但表格右邊幾欄說明了原因:和同期成分股平均相比,兩種事件都接近零,原始報酬的差距大多來自大盤本身。死亡交叉後 63 天,成分股平均上漲 5.10%,黃金交叉後只有 2.40%。死亡交叉偏向出現在弱勢行情:26.4% 發生時 RSP 距高點至少 10%,所有交易日是 14.8%,黃金交叉是 11.9%;不過仍有一半發生在 RSP 距高點 5% 以內。原始報酬較高,反映的是訊號出現的行情位置,和個股本身關係不大。

最後一欄也接近基準值:任何一天,任一成分股在這四個期間贏過成分股平均的比例是 49.2%、48.6%、47.5%、46.0%。

黃金交叉與死亡交叉後相對成分股平均的報酬:中位數與第 10、90 百分位

接近零的平均值底下,個股差異非常大。黃金交叉一年後,第 10 百分位的股票落後成分股平均 34.8%,第 90 百分位領先 33.5%,死亡交叉的範圍幾乎一樣。長期的超額報酬中位數兩者都略為負值,因為少數大贏家把平均值拉到中位數之上。

失敗也很常見:23.2% 的黃金交叉在 63 個交易日內就被死亡交叉反轉。

這些事件在時間上互相重疊,並不獨立,所以上表只是描述統計,沒有宣稱統計顯著。

策略怎樣才算過關

「贏」只有一個意思:同一段交易日裡,日夏普高於含息的 QQQ。這裡的夏普是日報酬平均除以標準差,再乘以 √252,不扣無風險利率。以下條件都在看到結果之前寫定。

  1. 鄰近參數: 每個主要參數取原值和上下一個鄰近值,七成以上的組合要贏 QQQ。
  2. 前後兩段: 回測期間對半切,原設定兩段都要贏。
  3. 含成本: 原設定在 finlab 美股預設成本(0)和每邊 0.1% 下都要贏。
  4. 不靠單一年份: 拿掉領先最多的那一年,原設定仍要贏。
  5. 現金: 這些規則可能留現金,所以扣掉 BIL(短期國庫券)後的夏普也要贏 QQQ。
  6. 濾網要有貢獻: 營收版的原設定要高於基本版。

兩個設計

均線規則的研究歷史很長。Brock、Lakonishok 與 LeBaron(1992)用 1897 到 1986 年的道瓊指數測試,發現訊號有預測力。Sullivan、Timmermann 與 White(1999)修正資料探勘偏誤後則指出,最好的規則在 1987 到 1996 年沒有延續優勢。

  • 黃金交叉: S&P 500 成分股的 S 日均線上穿 L 日均線就買,S 日線跌回 L 日線之下或離開指數就賣。S 取 40、50、60,L 取 150、200、250。
  • 黃金交叉+營收成長: 進場另外要求最新已申報季的營收年增至少 g。g 取 5%、10%、20%。

新加入指數時短均線已在長均線之上的股票,要等下一次交叉才買。持股等權,單檔上限 5%,符合的股票不足 20 檔時留現金。

策略結果:貼近 RSP,低於 QQQ

基本版平均持有 280 檔,範圍 59 到 450 檔,多數時間持有超過半個指數。它的日報酬和 RSP 的相關係數是 0.94,報酬和回撤都貼近 RSP:年化 11.5% 對 11.6%,回撤 -38.4% 對 -39.0%。夏普 0.72 對 0.68 的優勢來自較低的波動,17.2% 對 18.6%。策略始終滿倉,一檔出現死亡交叉時,資金只是轉到其他股票。2018 年(-4.8% 對 -7.8%)和 2022 年(-9.0% 對 -11.6%)跌得比 RSP 少,2020 年賺得比較少(8.6% 對 12.7%)。

對 RSP 的優勢很脆弱。長均線用 150 日的三組裡有兩組輸 RSP,每邊 0.1% 成本下夏普從 0.72 掉到 0.68,和 RSP 打平。目標權重一年週轉約 2.5 次。

黃金交叉短均線、長均線與營收濾網的日夏普熱圖

粗體是原設定。36 格全部低於 QQQ,最好的是 0.77 對 0.89。50/200 這組沒有特別之處:相鄰的長度都落在 0.66 到 0.75 之間,既沒有可以利用的尖峰,也沒有高於 QQQ 的高原。

營收版比較值得一看。它把組合減到約 75 檔,27 組參數全部贏 RSP,只是有些差距極小。年化提高到 12.7%,後半段 0.80 贏 QQQ 的 0.69。但前半段夏普 0.69,輸 RSP 的 0.78,也輸 QQQ 的 1.11,扣掉短期國庫券後同樣輸,0.60 對 0.79。它的 0.73 只比基本版的 0.72 高一點點。它的起步也慢:第一天只有 2 檔,2017 年有 106 天不足 20 檔,其餘留現金。交易統計:945 筆已平倉交易,勝率 38.1%,中位數虧 4.4%,平均賺 5.1%,持有中位數 127 個交易日。

基本版則是 3,429 筆已平倉交易,勝率 41.3%,平均賺 6.4%,中位數虧 3.3%,持有中位數 138 個交易日。

個股和指數的差別

我們的槓桿 ETF 擇時研究拿同樣的交叉測指數本身,在基金和短期國庫券之間切換。2017 年 1 月起,QQQ 版夏普 0.99、9 組贏 4 組,最大回撤降到 -28.6%;SPY 版 0.73、一組都沒贏,回撤 -33.7%,和 SPY 相同。這些規則是整個離開市場。本文的個股組合則始終在場內,回撤貼近 RSP。

和 QQQ 的差距,有一部分可能來自持有哪些股票、各持多少。Bessembinder(2018)發現,美股長期創造的財富大多來自少數股票。QQQ 依公司規模加權,這個策略則把資金平均分給約 280 檔。我們沒有把這兩種影響拆開。

台股的情況可以看均線怎麼用才對:同樣用台股資料測過黃金交叉選股,研究段年化也輸 0050。

程式碼

這段是基本版,用到 2026 年 10 月的資料跑出來就是頭條的夏普 0.72。research.py 另外保留一家公司一個股別,並加上營收濾網和事件研究。

顯示程式碼
import finlab
from finlab import data
from finlab.backtest import sim
 
finlab.login()
data.set_market("us")
 
close = data.get("us_price:adj_close")
members = data.get("us_index_constituents:sp500").astype(bool)
 
# 兩張表都有的代號,成分股對齊交易日
tickers = members.columns.intersection(close.columns)
close = close[tickers]
members = members[tickers].reindex(close.index, method="ffill").fillna(False).astype(bool)
 
fast = close.rolling(50).mean()
slow = close.rolling(200).mean()
 
# 黃金交叉是 50 日線升到 200 日線之上的那一天
golden_cross = (fast > slow) & (fast.shift(1) <= slow.shift(1)) & members
sell = (fast < slow) | ~members
position = golden_cross.hold_until(sell).loc["2017-04-03":]
 
# 等權、單檔上限 5%、下一個收盤成交
report = sim(position.loc[:, position.any()], position_limit=0.05, trade_at_price="close",
             market="us", upload=False)
 
returns = report.creturn.pct_change().dropna()
print("日夏普:", round(returns.mean() / returns.std() * 252 ** 0.5, 2))

不想自己寫也可以。照 AI 輔助安裝流程裝好 FinLab skill,或直接到 FinLab Studio 用白話請 AI 重跑,例如「把黃金交叉研究改成 Nasdaq 100 成分股」或「只看 SPY 在 200 日線之上時的死亡交叉」。

回測方法

項目 做法
回測區間 2017-04-03 至 2026-10-30。起點前的交叉也算持股,所以基本版第一天持有 176 檔;營收版從 2 檔開始,其餘留現金
股票池 每天的 S&P 500 成分股,一家公司留一個股別。2017-04-03 的 505 檔成分股裡有 13 檔當天在 FinLab 沒有價格,略過;其中有些後來倒閉,結果會略為偏高
流動性 除了指數成分外未設濾網。未估容量
週轉率 目標權重一年約 2.5 次
事件研究 成分股的 50/200 交叉。剩餘天數不足的事件剔除,包含期間內被併購或下市的股票,所以長天期略偏向存活者
財報 依申報日對齊,沒有成長率的季度視為不符合,避免前視偏差
權重 等權、單檔上限 5%,名單變動的日子重新等權;現金沒有利息
成交 收盤算訊號、下一個收盤成交
成本 finlab sim() 美股預設 0,另跑每邊 0.1%。未估滑價
稅 未計
樣本 全段都是樣本內,前後兩段只檢查穩定度,沒有做樣本外驗證

這個結果能說明什麼

在這段期間和這個股票池裡,交叉本身幾乎沒有個股層面的資訊。這不代表均線沒有用,前面指數層級的結果就不一樣。本文也只涵蓋美國大型流動性股票的一個強勢十年,小型股或其他市場可能不同。

想從頭學,可以看美股回測教學;站上其他研究都收在美股量化交易策略比較,技術與動能的總覽在程式交易完整指南。類股層級的類似訊號見美股類股輪動回測。

常見問題

黃金交叉是什麼意思?

股票 50 日移動平均線升到 200 日移動平均線之上的那一天。也有人用其他長度;本文測了短均線 40 到 60 日、長均線 150 到 250 日。

黃金交叉是買進訊號嗎?

依本文的證據不是。3,293 次黃金交叉之後的 126 個交易日,46.2% 贏過 S&P 500 成分股平均,和任一成分股任一天的 47.5% 差不多,平均差距 0.15%。

死亡交叉是看空訊號嗎?

這段期間平均來說不是。死亡交叉後 126 個交易日平均上漲 7.64%,和成分股平均差不多,平均來說賣掉既沒有幫助也沒有傷害。

黃金交叉失敗的機率多高?

23.2% 的黃金交叉在 63 個交易日內被死亡交叉反轉。一年後,全部黃金交叉有 45.5% 贏過成分股平均,和任一成分股任一天的 46.0% 差不多。

哪一組均線最好?

沒有特別突出的組合。測的 9 組夏普介於 0.66 到 0.75,全部輸 QQQ。

為什麼死亡交叉後股票反而漲比較多?

死亡交叉偏向出現在弱勢行情,之後成分股平均也漲得比較多。和這個平均相比,差距幾乎消失。

黃金交叉用在 SPY 或 QQQ 有用嗎?

QQQ 版 9 組贏 4 組,SPY 版一組都沒贏,細節見槓桿 ETF 擇時研究。兩者都沒有通過完整驗證。

可以自己重跑嗎?

可以。透過 AI 輔助安裝流程裝好 FinLab skill,下載下面的 research.py,執行 python research.py。

延伸閱讀

下載資源

檔案 內容
research.py 完整研究:兩個設計、36 組參數、前後兩段、成本重跑與事件研究
data.csv 兩個設計,加上 QQQ、SPY、RSP 的每日淨值
metrics.json 本文背後的統計,包含逐年事件數

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

最後更新:2026-11|回測區間:2017-04~2026-10|資料截至 2026-10-30,重跑日 2026-11-01|基準:QQQ 含息|作者:FinLab 量化研究團隊(經量化研究員審閱)

FinLab AI

想建立自己的策略?

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

免費開始

更多技術指標研究

查看全部