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

動能 ETF:SPMO、MTUM 對 QQQ,
三個輪動與均線設計驗證

動能 ETF 怎麼比較?用含息資料檢查 SPMO、MTUM、XMMO、PDP、IMTM、FDMO 的報酬、回撤與前後半段,再測相對強弱輪動、SPMO 均線切換和輪動加趨勢濾網。二十七組參數沒有設計通過三項驗證,附完整程式、每日權益、成本壓力與固定權重對照,區分全期夏普較高和穩健策略成立的差別。

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

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

在 Studio 重跑

動能 ETF 含息比較:SPMO、MTUM、XMMO、PDP、IMTM、FDMO 與 QQQ

依本文重跑

執行這個策略

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

告訴你的AI:

幫我設定 FinLab,重現動能 ETF 含息比較,請讀:https://finlab.finance/setup?relatedUrl=/blog/momentum-etf-spmo-mtum-vs-qqq

免安裝,開啟 FinLab Studio

2016 年 9 月至 2026 年 10 月,SPMO 年化報酬 18.9%,低於 QQQ 的 20.0%;日夏普則以 0.93 略高於 0.92,但前後半段沒有都贏。 MTUM 年化 15.2%、日夏普 0.76。本文另外實測六檔動能 ETF 相對強弱輪動、SPMO 均線切換、輪動加 QQQ 趨勢濾網,三個設計都沒有通過全部驗證。這是一份不成立規則的研究紀錄,不提供通過驗證的交易策略。

動能 ETF 把挑選近期相對強勢股票的規則包在基金內。買進一檔 ETF 後,即使投資人完全不換股,基金也會按照自己的指數方法調整成分。本文的輪動則多加一層決策:在幾檔 ETF 之間選擇持有誰。因此,基金本身有動能因子,並不代表在基金之間再做動能排名就一定更好。

六檔動能 ETF 的含息報酬與回撤

ETF 含息總報酬 年化報酬 日夏普 最大回撤 前/後半日夏普
SPMO 477.7% 18.9% 0.93 -30.9% 0.94 / 0.92
MTUM 318.3% 15.2% 0.76 -34.1% 0.94 / 0.58
XMMO 367.4% 16.5% 0.79 -36.7% 1.00 / 0.58
PDP 223.9% 12.3% 0.64 -34.7% 0.82 / 0.47
IMTM 160.9% 9.9% 0.63 -30.6% 0.63 / 0.63
FDMO 294.1% 14.5% 0.79 -33.9% 0.83 / 0.75
QQQ 530.5% 20.0% 0.92 -35.1% 1.15 / 0.70

全部使用 2016-09-15 至 2026-10-30,起點由 FDMO 第一筆可用價格決定,配息透過還原價納入。SPMO 在六檔基金中的全期日夏普最高,QQQ 的累積與年化報酬較高;XMMO 年化 16.5%,最大回撤卻比 QQQ 更深。IMTM 的回撤較淺,報酬也最低,而且它持有美國以外的已開發市場股票,不能把它當作另一檔完全相同的美股配置。

共同起點避免拿新基金的短紀錄和舊基金的全部紀錄直接排高下。這張表也因此不是 SPMO 或 MTUM 的成立以來績效。資料庫對其中五檔有 2016 年 1 月起的價格,FDMO 從 2016 年 9 月開始;下載檔另保留各自可用期間與同期 QQQ 的數字,沒有把指數績效接到基金上市前,也沒有補出不存在的基金歷史。

SPMO 與 MTUM 的換股規則有何不同?

ETF 主要差異 指數例行檢查
SPMO S&P 500 的動能選股 每年三月、九月
MTUM MSCI USA Momentum SR Variant 每季
XMMO 現行為 S&P MidCap 400 動能 半年;早期追蹤別的策略
PDP Dorsey Wright 相對強弱 每季
IMTM 美國以外已開發市場 依 MSCI 動能方法
FDMO Fidelity 自有動能指數 引用方法文件為每季

Invesco 的動能說明列出 SPMO 的半年調整;MSCI 的 SR Variant 方法文件在 2024 年已列季度檢查,不能把 MTUM 也寫成半年換股。PDP 發行商資料與 Fidelity 方法文件則分別交代自己的相對強弱與調整流程。基金的配息頻率又是另一件事,不能拿來推定成分股檢查頻率。

XMMO 還有歷史策略改變的限制。2019 年 SEC 補充文件記錄,它在 6 月 21 日收盤後,從 Russell Midcap Pure Growth 改為 S&P MidCap 400 Momentum。本文按預先登記保留實際基金價格,早期包含舊策略;所以長期結果代表一路持有該基金,不能解讀成現行中型股動能方法在整個期間都有效。這個限制也適用於把 XMMO 放進輪動池的結果。

換股較頻繁可能更快追上領先族群,也可能增加交易,此外股票池、權重與集中度都不同。本文沒有做持股層級的報酬歸因,不能把 SPMO 和 MTUM 的績效差額全部歸給半年或季度調整。基金內部換股和投資人月底輪動的成本也要分開看:前者已反映在實際基金報酬,後者由回測成本情境另外處理。

開跑前固定的三個設計

A:六檔 ETF 相對強弱輪動。 每月底依過去 L 個月含息報酬,選前 k 檔等權。原設定為十二個月、前兩檔;鄰近參數是 L=9/12/15,乘上 k=1/2/3,共九組。

B:SPMO 趨勢切換。 SPMO 高於 L 日簡單均線時持有,否則全部轉到短期國庫券 ETF BIL。原設定二百日、每月檢查;鄰近參數為 150/200/250 日,乘上每週/每月/每季。它另外必須勝過 SPMO 單獨持有,才有證據說切換本身加分。

C:輪動加 QQQ 趨勢濾網。 保留 A 的前兩檔,但只有 QQQ 高於 D 日均線時持有,否則全部轉 BIL。原設定十二個月、二百日;L=9/12/15,乘上 D=150/200/250。組合版必須比同期間、不加濾網的 A 更好。所有月份均以二十一個交易日近似,與先前因子輪動的設定一致。

設計 日夏普 同期 QQQ 年化報酬 最大回撤 勝出參數 0.1% 成本後日夏普
A 0.66 0.86 13.1% -34.4% 0/9 0.64
B 1.01 0.93 16.1% -15.6% 3/9 0.99
C 0.58 0.86 9.8% -34.4% 0/9 0.55

A、C 從 2017-12-29 開始,因為必須讓六檔基金都有完整十五個月回看;B 從 2016-12-30 開始,先備妥二百五十日資料。訊號在當日收盤形成,隔一個交易日收盤成交。QQQ 一律使用每個設計自己的相同日期,包含第一個尚未成交的現金觀測,所以表中基準日夏普會不同。

報告是原設定 A:年化 13.1%、最大回撤 -34.4%,供讀者檢查失敗規則的路徑。把 A 各資產在月底的平均權重固定,再每月再平衡,日夏普為 0.76、年化 15.0%,都高於輪動的 0.66 與 13.1%。這組平均權重由整段樣本事後算出,只用於辨認切換的貢獻,不能冒充事前已知的投資配置。

三項驗證:全期夏普漂亮還不夠

過關需同時滿足:至少七組鄰近參數的日夏普勝同期 QQQ;原設定前、後半段各自勝;原設定每次買進及賣出各收 0.1% 後仍勝。美股 sim 預設手續費、交易稅均為零,所以成本壓力另跑。扣除 BIL 日報酬後的夏普、固定平均權重對照,也列為檢查。

三個動能 ETF 設計二十七組參數,相對同期 QQQ 的日夏普差

A 與 C 都是零組勝出。A 前後半段日夏普為 0.62/0.71,C 為 0.52/0.67,QQQ 為 0.76/0.97。加上 QQQ 濾網後,全期夏普從 0.66 降為 0.58,沒有改善原本輪動;即使部分時間持有國庫券,整體回撤仍受同一段急跌影響。

B 的全期日夏普 1.01,高於 QQQ 的 0.93,最大回撤從基準 -35.1% 降到 -15.6%,成本後也還有 0.99。但只有三組鄰近參數贏,前半段 1.23 對 QQQ 的 1.26,仍輸;後半段才以 0.82 對 0.62 勝出。判定使用未四捨五入的數字,不能因為把小差距忽略,就把原本的失敗改判成功。

SPMO 二百日均線切換 BIL,對照單獨持有 SPMO 與 QQQ

B 的同期間,單獨持有 SPMO 年化 19.1%、日夏普 0.93;切換後年化降為 16.1%。扣 BIL 後,B 的夏普為 0.86,QQQ 為 0.83;固定平均權重的 SPMO/BIL 對照則為 0.96。這些對照支持切換曾改善風險調整績效,但不能取代參數與前半段未過的事實。本文沒有選一個勝出鄰居當成新原設定。

單獨持有的優勢也會換邊

SPMO、MTUM、XMMO、PDP、IMTM、FDMO 與 QQQ 前後半段日夏普

共同持有視窗中,QQQ 前後半段日夏普為 1.15/0.70。SPMO 為 0.94/0.92,第一段輸、第二段贏;FDMO 第二段也以 0.75 勝 0.70,其餘四檔兩段都輸。問「最好的動能 ETF」時,至少要先固定期間、報酬或風險指標,以及能承受的跌幅,不能把全期略勝的夏普當成永久排名。

Jegadeesh 與 Titman(1993)的個股贏家買進、輸家放空研究,提供相對強弱測試的動機,但本文六檔 ETF 多頭輪動並未重現其多空股票組合。Asness、Moskowitz 與 Pedersen(2013)研究跨市場價值及動能,並不保證在相似基金之間排名必然有效。Moskowitz、Ooi 與 Pedersen(2012)研究多類期貨的時間序列動能,也不能直接替 SPMO/BIL 均線規則背書。文獻與商品實作之間的差別,必須由回測檢驗。

互動報告的大盤基準也使用 QQQ。報告從首次模擬成交顯示,表格則保留前一個訊號日的現金觀測以納入首次交易成本;這一個交易日的起點差異,可能讓報告顯示的基準年化略有不同。

回測方法與限制

項目 本文做法
資料 截至 2026-10-30;台北 2026-11-02 重跑,finlab 2.3.0、pandas 3.1.0
交易日 使用股票交易日曆;基金第一筆價格之後的零星缺值沿用前值,不往上市前補值
股票池與權重 六檔指定的現存基金;未涵蓋所有曾上市、後來清算的基金。選中者等權,無放空或槓桿;防禦期全持 BIL
成本與稅 sim 美股預設零,另每邊 0.1%;基金內扣費已在市價報酬,未另計股利與資本利得稅
周轉 月底目標權重變動之平均/最大單邊周轉:A 18.9%/50.0%,B 12.7%/100.0%,C 24.1%/100.0%;為絕對權重差之半,排除首次建倉與兩次決策間價格漂移
流動性 未設成交金額篩選,未估容量與市場衝擊;實際滑價由資金大小、價差與成交量決定
樣本 全段樣本內;前後半切分僅檢查穩定性,未做獨立樣本外或滾動選參
夏普 日報酬平均除以樣本標準差,再乘根號二百五十二;主表不扣無風險利率,另列扣 BIL 結果

重現原設定

下列程式呈現 A 的核心選擇。完整研究另處理交易日曆、共同起點、所有鄰近參數與成本:

顯示程式碼
import finlab
from finlab import data
from finlab.backtest import sim
from finlab.markets.us import USFundMarket
 
finlab.login()
data.set_market("us_fund")
data.truncate_end = "2026-10-30"
calendar = data.get("us_price:adj_close").index
price = data.get("us_fund_price:adj_close").reindex(calendar).ffill()
etfs = ["SPMO", "MTUM", "XMMO", "PDP", "IMTM", "FDMO"]
score = price[etfs] / price[etfs].shift(252) - 1
selected = score.rank(axis=1, ascending=False, method="first") <= 2
weights = selected.astype(float) / 2
class QQQMarket(USFundMarket):
    @staticmethod
    def get_benchmark():
        return price["QQQ"]
 
report = sim(weights.loc["2017-12-29":], resample="M", market=QQQMarket(), upload=False)
report.to_html("momentum_rotation.html")

用 FinLab skill 重現研究

從AI 輔助安裝流程連結帳號,agent 設定指南有 Claude Code、Codex 與 Gemini CLI 的操作方式。安裝指令如下:

顯示程式碼
npx skills add koreal6803/finlab-ai --skill finlab -g -y

接著請 agent 使用下載的 research.py、固定資料截止日,先重現原設定與九組參數。不需要自己從頭寫程式,也可以在瀏覽器的 FinLab Studio檢查程式。若之後想測其他均線或改持股數,另存為新實驗,保留本次原始結果;看過數字才改條件,已經不屬於原先的驗證。本文沒有提供通過驗證的策略部署入口。

常見問題

SPMO 有贏 QQQ 嗎?

本次共同視窗的日夏普略高,年化報酬較低,而且前後半段沒有都贏。直接說 SPMO 勝過 QQQ,會省略報酬與時間差異。

MTUM 和 SPMO 可以互換嗎?

股票池、評分與維護方法不同。基金都叫動能,不代表風險暴露、持股與績效相同;本文 MTUM 年化比 SPMO 低約四個百分點。

每月選最強的兩檔有改善嗎?

本次六基金池沒有,九組參數全輸同期 QQQ 日夏普,原設定也不如事後固定平均權重對照。結論只涵蓋這組 ETF 與回看設定。

加二百日均線可以過關嗎?

SPMO 切換改善了全期風險數字,參數與前半段沒有過;把 QQQ 均線加到輪動上則更差,不能把濾網視為通用修正。

為何防禦期用 BIL?

讓閒置資金反映短期國庫券報酬,避免在高利率期間仍假設完全沒有利息。另扣 BIL 的夏普,則檢查結果是否只靠利息水準。

能把最好的鄰近參數拿來用嗎?

可以另開研究,但那是看到結果後選參,不能算原設計通過,還需要新的未觀察期間檢驗。

下載與延伸閱讀

其他持有方式可接著比較美股量化策略總覽、美股因子投資、產業輪動研究、懶人投資組合與掩護性買權及股利研究。前視偏差與周轉率則說明回測數字容易被高估的兩個原因。 QUAL、USMV 因子 ETF 比較則測試不同因子之間的輪動;實作觀念可參考程式交易工具與方法。


最後更新:2026-11|資料截至:2026-10-30|重跑日:2026-11-02(台北)|作者:FinLab 量化研究團隊。團隊以公開規則回測、參數敏感度測試與可下載資料呈現研究方法,讓讀者檢查結果。

歷史績效不代表未來報酬,全部結果均為樣本內回測。文中 ETF 用於說明研究結果,不代表買賣推薦。本內容僅供教育研究,不構成投資建議。

FinLab AI

想建立自己的策略?

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

免費開始

更多動能與趨勢研究

查看全部