跳至主要內容
台股研究 約 6 分鐘閱讀

動能策略台股 18 年回測:純追漲停輸 0050,
複合動能年化 36%(附程式碼)

用 finlab 把經典 12-1 動能策略在台股實測 18 年(2008–2026):純動能年化只有 11.5%、回撤 -60.7%,輸給含息 0050 的 14.8%。但動能不是沒用,加上 ROE 品質、營收成長與複合動能確認後,年化拉到 36.4%、日夏普 1.18、回撤收斂到 -40%。真相是:真正讓報酬翻數倍的是品質因子,不是大家以為的「減少換股」。

追漲停秘訣 CAGR 36.4% Sharpe 1.18

動能策略台股 18 年回測摘要:原始 12-1 動能年化 11.5% 輸給含息 0050 的 14.8%,複合動能優化版年化 36.4%、回撤收斂到 -40%

「強者恆強,會漲的股票還會繼續漲。」這是台股最深植人心的直覺之一。我們用 finlab 把這個直覺做成可重現的策略,在台股實測 18 年(2008 至 2026),結果分成兩半。

結論先講:純粹追漲停(經典 12-1 動能)在台股是輸的,年化報酬只有 11.5%、最大回撤 -60.7%,全面輸給含息 0050 的 14.8%。但這不代表動能沒用。把動能和 ROE 品質、營收成長、趨勢確認組合起來之後,年化報酬拉到 36.4%、日夏普 1.18、最大回撤收斂到 -40%,風險調整後大幅勝過大盤。而且實測過程揭露一個和直覺相反的真相:真正讓報酬翻數倍的是品質因子,不是很多人以為的「減少換股頻率」。

真實回測結果:每加一個條件的變化

下表是同一段視窗(2008-01 至 2026-06)、同一組成本設定(手續費 0.1425%、證交稅 0.3%)下,動能策略逐步優化的每一步,以及含息 0050 基準(採 etl:adj_close 還原股價買進持有)。

策略 年化報酬率 日夏普 最大回撤 總報酬率
原始動能(12-1,月換股,前 30) 11.5% 0.47 -60.7% 619%
改季度換股 9.7% 0.41 -58.5% 426%
加品質 ROE>10% 39.6% 1.25 -55.5% 6874%
加營收成長 YoY>0 38.9% 1.22 -55.0% 6399%
複合動能優化版(最終) 36.4% 1.18 -40.1% 5086%
含息 0050 買進持有 14.8% 0.74 -52.4% 1181%

兩個重點先標出來。第一,原始動能不只年化輸 0050,連夏普(0.47 對 0.74)和回撤(-60.7% 對 -52.4%)都更差,是典型的高風險低報酬。第二,從 11.5% 跳到 39.6% 的那一步是「加 ROE 品質」,不是「改季度換股」(季度換股單獨做反而降到 9.7%)。

動能效應的學術根據

動能效應有扎實的學術基礎。1993 年,Jegadeesh & Titman (1993) 發現過去 3 到 12 個月表現好的股票,未來一段期間傾向繼續表現好,這被列為金融學三大異象之一。經典做法叫「12-1 動能」:用過去 12 個月報酬排名、但排除最近 1 個月(避開短期反轉),買進動能最強的一籃股票。

問題是,這個在美股有效的訊號,搬到台股、扣掉真實交易成本之後,還站得住嗎?

原始動能:18 年實測輸 0050

我們先測最純粹的版本:12-1 動能、選前 30 檔、每月換股。

含成本後年化 11.5%,不含任何交易成本時也只有 13.9%,跟 0050 的 14.8% 差不多。也就是說,光是月換股的交易成本,就把原本就不突出的動能報酬再削掉一截。更麻煩的是回撤:純動能在 2008 金融海嘯期間一路跌到 -60.7%,比 0050 的 -52.4% 更深、更難熬。

純動能在台股失效,主要有三個原因:

  • 交易成本高:台股證交稅 0.3% 遠高於美股,月換股的高周轉讓成本侵蝕特別明顯。
  • 散戶結構:台股散戶比例高、短線波動大,很多「動能股」只是被資金一時炒高,不是真正的趨勢。
  • 訊號擁擠:動能效應被學界發現後使用者越來越多,單純追強勢股的超額報酬被稀釋。

逐步優化:真正有用的是哪一步

既然動能的概念有道理、問題出在執行,我們一步一步調整,看哪個條件真正有貢獻。

動能策略逐步優化的年化報酬,從原始月換股到複合動能優化版,加入 ROE 品質因子那一步報酬大幅躍升

  • 只改季度換股:年化掉到 9.7%,比月換股還差。降低換股頻率雖然省了成本,卻也錯過了部分動能。單靠這一步並沒有把策略救起來。
  • 加 ROE>10% 品質篩選:年化一口氣跳到 39.6%、日夏普從 0.47 升到 1.25。這才是真正的轉折點。純動能容易選到「正在被炒、但體質很差」的股票,用 ROE 篩掉沒有獲利能力的公司之後,留下的強勢股品質完全不同。
  • 加營收 YoY>0:年化 38.9%,和上一步差不多。營收成長確認基本面方向,作用是讓選股更穩,而不是再墊高報酬。
  • 複合動能確認(3 月與 6 月動能都為正):年化 36.4%,比前一步略低,但最大回撤從 -55% 大幅收斂到 -40.1%。要求短中期趨勢一致,過濾掉只有單一時間框架的假突破,換到的是抱得住的關鍵改善。

所以「複合動能優化版」追求的是風險調整後最均衡,而非把年化衝到最高:年化 36.4%、日夏普 1.18、月索提諾 2.67、回撤 -40%,平均持有約 9 檔。報酬最高的其實是只加 ROE 的版本(年化 39.6%),但它的最大回撤深達 -55%,多數人在帳上浮虧過半時根本抱不住,多承擔的那 3% 年化很可能拿不到手。複合動能確認用一點報酬換來更淺的回撤,把策略從「帳面漂亮」變成「實際抱得住」。

複合動能優化版的完整邏輯

下面是最終版的核心程式碼,登入後即可重跑:

顯示程式碼
import finlab
from finlab import data
from finlab.backtest import sim
 
finlab.login()  # finlab 會自動引導登入
 
adj = data.get("etl:adj_close")
roe = data.get("fundamental_features:ROE稅後")
yoy = data.get("monthly_revenue:去年同月增減(%)")
 
# 3 月與 6 月動能
mom_3m = adj.pct_change(60)
mom_6m = adj.pct_change(120)
 
# 選股池:複合動能(3M、6M 都為正) + ROE>10 + 營收年增 > 0
pool = (mom_3m > 0) & (mom_6m > 0) & (roe > 10) & (yoy > 0)
 
# 池內取 6 月動能最強的 10 檔,季度換股
position = mom_6m[pool].is_largest(10)
report = sim(position, resample="Q", fee_ratio=0.001425, tax_ratio=0.003)
report.display()

原始動能、複合動能優化版與含息 0050 的對數淨值曲線,原始動能貼著 0050,複合動能明顯拉開

互動式回測報告

下面是複合動能優化版的完整互動式回測報告,可自己看每一年的報酬、持股與交易明細。資料來源為 finlab 套件實跑,與本文數字同口徑:

原始動能、複合動能優化版與含息 0050 的回撤曲線,三者在 2008 金融海嘯都吃到深度回撤,複合動能之後回撤明顯較淺

方法揭露與風險

  • 交易成本與稅:回測已內含手續費 0.1425%(雙邊)與證交稅 0.3%。月換股版本的成本侵蝕特別明顯,這也是原始動能失效的原因之一。
  • 前視偏誤的處理:ROE 來自財報、使用 finlab 已對齊公布日的 fundamental_features;營收年增使用月營收資料;季度換股讓進場時點落在財報與營收公布之後,避免用到未揭露資料。
  • 集中度與容量:最終版只持有約 9 檔,且偏向中小型成長股,單一個股的漲跌對組合影響很大,實際下單還要留意流動性與滑價,可投入的資金規模也有上限;即使是最均衡的版本,最大回撤仍有 -40%,2008 那種系統性下跌一檔都躲不掉,回測上的高報酬必須先扣掉「你能不能抱得住」這一關。
  • 樣本內結果:本文是單一視窗(2008–2026)的回測,未做樣本外切割(in_sample_only)。優化過程是在同一段歷史上挑條件,請把「季度換股單獨沒用」「ROE 才是關鍵」當成對這段資料的觀察,而非保證未來。過去績效不代表未來表現。

把這套複合做法和其他因子並列比較,可延伸看多因子選股打敗 0050,以及把營收動能單獨拆開測的月營收動能選股

常見問題

動能策略在台股有效嗎?

純粹的價格動能(追漲停)在台股 18 年實測是無效的,年化 11.5%、回撤 -60.7%,輸給含息 0050。但動能搭配 ROE 品質與營收成長後會變得有效,複合動能優化版年化 36.4%、日夏普 1.18,風險調整後勝過大盤。

為什麼追漲停會輸?

三個原因:台股證交稅高、月換股的交易成本侵蝕大;台股散戶結構讓很多動能只是短線炒作;動能效應被廣泛使用後超額報酬被稀釋。把純動能換成有品質與基本面把關的版本,才站得住。

12-1 動能是什麼意思?

用過去 12 個月的報酬排名選股,但排除最近 1 個月,因為最近一個月常出現短期反轉。這是 Jegadeesh 與 Titman 1993 年論文裡的經典定義。

減少換股頻率能改善績效嗎?

在我們的實測裡,單純把月換股改成季度換股反而讓年化從 11.5% 降到 9.7%。省成本的同時也錯過了動能,效果不如預期。真正讓績效翻轉的是加入 ROE 品質因子。

動能策略適合哪種投資人?

複合動能優化版適合能承受波動、願意每季換股的成長型投資人。它的年化報酬高,但最大回撤達 -40%,又集中在約 9 檔個股,單一個股的影響大。如果無法忍受帳面大幅起伏,或偏好被動長抱,含息 0050 這類分散的指數工具會更適合;動能訊號也可以只當成既有持股的進場時機篩選器,而不是放上全部資金的核心策略。

延伸閱讀

自己重跑

本文所有數字都可下載自行重現,與互動式報告同口徑:

檔案 內容
strategy.py 原始動能與複合動能優化版的完整程式
data.csv 原始動能、複合動能與 0050 的淨值序列
report_strategy.html 複合動能優化版互動式回測報告
report_baseline.html 原始 12-1 動能互動式回測報告

想用最新資料即時重算、或換成自己的條件,[用 AI 輔助流程安裝 FinLab](

免費試用

用 AI 開始 FinLab

把這句話交給你的AI,它會帶你完成設定並做出第一個策略。

告訴你的AI:

幫我設定 FinLab,重現這篇文章,請讀:https://finlab.finance/setup?relatedUrl=/blog/momentum-strategy

)後就能直接跑。


本文由 FinLab 研究團隊撰寫,所有回測以 finlab 套件實跑、資料來源為 finlab 台股資料庫,數字可用上方下載檔自行重現。內容僅供教學與研究參考,不構成投資建議。過去績效不代表未來表現,動能類策略最大回撤可能超過 40%,投資前請依個人風險承受度審慎評估。

FinLab AI

想建立自己的策略?

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

免費開始

更多動能與趨勢研究

查看全部