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

台股選股回測 2026:單因子全輸 0050,
複合策略在風險調整後勝出

選股方法、選股策略怎麼選股票?我們用 finlab 實測台股 2018-03 至 2026-06:基本面、技術面、籌碼面、消息面四大選股面向,並單獨回測 6 個因子。結論是 0050 贏在絕對報酬(CAGR 24.7%),但品質+動能+低波複合策略贏在風險調整後表現(月索提諾 2.46 vs 1.90)與較淺回撤(-25.6% vs -34.0%),並附敏感度測試與可下載腳本。

單因子全輸0050、複合策略回撤較淺 CAGR 19.6% Sharpe 1.28

台股選股因子回測 權益曲線縮圖,品質動能低波複合策略 vs 0050

台股選股策略有哪些、新手又該怎麼開始選股?這篇用回測來回答。我們想回答一個很多人問「怎麼選股票」時真正在問的問題:有沒有單一指標,長期穩定打贏買進 0050 就好? 為了用數據而非感覺回答,我們用 finlab 把台股最經典的幾個選股因子各自跑了一次回測,再把它們疊成一個複合策略。本文先講這個研究的結果與為什麼,再回頭整理基本面、技術面、籌碼面、消息面這四大選股面向的工具箱——這四個面向也就是常見選股策略的主要分類。

一、研究問題與資料設定

回測區間 2018-03 至 2026-06,涵蓋 2018 貿易戰、2020 疫情急殺、2021 資金行情、2022 升息空頭,到 2024–25 的 AI 多頭——一段同時有大漲與兩次像樣回檔的樣本。對照基準是含息 0050(用 etl:adj_close,把配息還原進去,否則 benchmark 會被低估)。

設定 內容
回測期間 2018-03 ~ 2026-06,月頻換股
股票池 全上市櫃,剔除近 60 日日均成交額後 50% 的低流動個股
基準 含息 0050(etl:adj_close)
交易成本 finlab sim() 預設已扣手續費 0.1425% + 賣出證交稅 0.3%
前視處理 ROE 對齊財報實際公布日;月營收換股延後 14 天

二、六個單因子,沒有一個贏過含息 0050

先看各個因子單獨選股的成績單。每個因子各選 30 檔、每月換股、與含息 0050 對照:

選股因子(選 30 檔,月頻) 年化報酬 夏普 最大回撤 對 0050
0050(含息對照) 24.69% 1.21 -33.96% 基準
價格動能(近 60 日漲幅) 11.54% 0.45 -58.86%
營收動能(年增最高) 7.36% 0.40 -38.16%
低股價淨值比(PB) 6.37% 0.35 -34.57%
高 ROE 5.90% 0.35 -27.99%
低波動(近 60 日,流動性過濾後) 3.99% 0.34 -13.63% 輸(但回撤最小)
低本益比(PE) -1.40% -0.11 -44.13% 輸(且為負報酬)

(資料來源:finlab 實測,腳本見文末 factor-comparison.py

在本文設定下、2018-03 至 2026-06 這段期間,沒有任何一個單因子贏過含息 0050。 這是這段樣本的結果,不能直接外推成「台股單因子永遠不行」——換一段期間、換一組參數,排序可能不同。

幾個值得記下來的觀察:

  • 報酬最高的「價格動能」(11.54%)也只有 0050 的一半,而且要你忍受 -59% 的回撤——多數人很難照原規則一路抱著不停損。
  • 「低本益比」單獨用是負報酬。便宜常常便宜有原因(產業衰退、獲利下修),這就是價值陷阱。
  • 「低波動」報酬墊底,但最大回撤只有 -13.6%,是所有因子裡最小的。它不是用來衝報酬的,是用來壓回撤的——這一點後面的複合策略會用到。

低波動因子的一個陷阱: 若不加流動性過濾,直接取全市場「波動最低」的股票,會選到近乎停滯的全額交割股或低流動個股(它們因為幾乎不交易,測出來的波動被低估),回測報酬接近零且不具代表性。所以我們對低波因子(以及後面的複合策略)都加上「近 60 日成交額前 50%」的流動性門檻。

最大回撤(MDD,Max Drawdown): 從最高點跌到最低點的最大跌幅。-59% 代表資產一度跌掉超過一半。回撤越深,多數人越難照原規則續抱。

三、為什麼單因子會輸?

每個因子各有一個結構性弱點:

因子 弱點
動能 怕急漲後反轉,牛轉熊時回撤特別深(-59%)
低 PE / 低 PB 怕價值陷阱,買到的便宜股是基本面在惡化
高 ROE 怕買貴,好公司常常已經反映在股價上
低波動 怕在牛市跑輸,漲得慢

關鍵在於:這些弱點彼此不在同一個時間點發作。動能反轉的時候,低波正好幫你扛住;價值陷阱拖累報酬的時候,品質與營收成長能把你拉回真正在賺錢的公司。把彼此低相關的因子疊起來,一個失靈時其他能補,整體的波動與回撤就被壓下來。這也是 Asness, Moskowitz & Pedersen (2013)《Value and Momentum Everywhere》觀察到的現象:價值與動能在多數市場呈負相關,合成組合的夏普高於單獨任一個。

四、複合策略的設計(以及為什麼這樣設計)

我們把四個方向不同的因子各自轉成橫斷面百分位排名(0~1 分),加權平均成總分,選分數最高的 25 檔:

因子 抓什麼 在組合裡的角色 學術參考
ROE 品質 股東權益報酬率 過濾「成長但不賺錢」的公司 Novy-Marx (2013)
價格動能 近 120 日漲幅 跟上市場已認同的標的 Jegadeesh & Titman (1993)
低波動(雙倍權重) 近 120 日波動度低者加分 壓低整體回撤 Ang et al. (2006)
營收動能 月營收年增 確認基本面正在成長

這裡有兩個刻意的設計選擇,動機都是降低回撤,不是衝高 CAGR:

  • 低波給雙倍權重。 因為這個策略的目標是「用較低的風險換接近的報酬」,而非追求最高年化。後面的敏感度表會看到:低波權重從 1 倍加到 3 倍,回撤從 -39% 一路降到 -22%,代價是 CAGR 從 24% 降到 17%——這是個清楚的取捨,我們選 2 倍是在報酬與回撤間取折衷。
  • 分數三次方加權。 把資金更集中在分數最高的幾檔,而非平均分散。不過敏感度表也顯示,等權到三次方的差異其實很小(CAGR 19.3% vs 19.6%)——所以這個選擇影響有限,不是結果的關鍵驅動。

動能口徑說明: 上面的單因子表用近 60 日動能(較短、反映短線強弱),複合策略改用近 120 日動能。原因是複合策略要的是「中期趨勢確認」,較長的回看期能降低短線反轉造成的噪音與換手。後面敏感度表會驗證:60/120/240 日三種口徑的結果幾乎一樣,所以這個選擇對結論不敏感。

複合策略用 finlab 寫出來核心就這幾行:

顯示程式碼
from finlab import data
from finlab.backtest import sim
 
close = data.get('price:收盤價')
roe   = data.get('fundamental_features:ROE稅後').index_str_to_date()
rev   = data.get('monthly_revenue:去年同月增減(%)')
mom   = close / close.shift(120) - 1                  # 近 120 日動能
vol   = close.pct_change().rolling(120).std()         # 近 120 日波動
 
# 四個低相關因子各自橫斷面排名後加總(低波給雙倍權重),選最高 25 檔
score = (roe.rank(axis=1, pct=True)
         + mom.rank(axis=1, pct=True)
         + 2 * (-vol).rank(axis=1, pct=True)
         + rev.rank(axis=1, pct=True))
position = score.is_largest(25)
report = sim(position, resample='M', resample_offset='14D')
report.get_stats()    # CAGR 19.55%、日夏普 1.24、月索提諾 2.46、MDD -25.6%

完整版(含分數三次方加權、流動性過濾)見文末可下載的 hero-quality-momentum-lowvol.py

五、複合策略結果:報酬略低,但風險調整後較好

下面是複合策略 vs 含息 0050 的權益曲線(資金成長曲線):

品質動能低波複合選股策略 vs 含息0050 權益曲線 2018-2026

指標 0050(含息) 品質+動能+低波 複合策略
年化報酬 CAGR 24.69% 19.55%
夏普比率(日) 1.21 1.24
索提諾比率(月) 1.90 2.46
最大回撤 MDD -33.96% -25.60%
月勝率 55.4%

(資料來源:finlab 實測,腳本見文末 hero-quality-momentum-lowvol.py

主論點很簡單,也要講清楚不要含糊:0050 贏在絕對報酬,複合策略贏在風險調整後表現與較淺的回撤。 在這段 AI 帶動的大多頭裡,0050 的 CAGR(24.69%)確實高於複合策略(19.55%)——這一格策略是的。但複合策略的夏普(1.24 > 1.21)、月索提諾(2.46 > 1.90)較高,最大回撤淺了約 8 個百分點(-25.6% vs -34.0%)。換句話說,它用略低的報酬換到明顯更小的回撤。

對願意接受報酬上限、但希望少一點心痛回撤的人,這個取捨是合理的;對只看絕對報酬、能抱得住深回撤的人,直接買 0050 反而更好。這不是「複合策略全面勝出」,而是一個清楚的風險—報酬取捨。

夏普 / 索提諾比率: 都是「每承擔一單位風險換到多少報酬」,越高越好。索提諾只計入「下跌」的波動,對怕賠錢的人更貼近真實感受。本文兩個指標都把 0050 與策略以同一口徑(夏普用日報酬、索提諾用月報酬)計算,避免只列策略、benchmark 那格留空。

下面這張「報酬 vs 風險」散佈圖把全部因子放在一起——理想的策略往左上角(高報酬、低回撤)走。複合策略明顯比所有單因子更靠左上,回撤也比 0050 淺:

選股因子報酬風險散佈圖,複合策略回撤更淺

完整的互動式回測儀表板在這裡,權益曲線、月報酬熱力圖、年度績效都可以直接操作:

六、穩健性檢查:這結論不是挑到漂亮參數

一個策略最容易被質疑的是過擬合——會不會只是剛好挑到一組好參數、或只靠某一段行情?下面幾張表用來檢驗結論對參數與假設的敏感度。

逐年報酬(策略 vs 0050)

年度 複合策略 0050(含息)
2018 +2.21% -5.46%
2019 +25.58% +33.52%
2020 +19.24% +31.14%
2021 +35.95% +21.92%
2022 -2.94% -21.37%
2023 +29.80% +27.52%
2024 +34.85% +48.64%
2025 +4.64% +36.83%
2026 (YTD) +17.63% +56.06%

複合策略的相對優勢集中在下跌年:2018、2022 兩個 0050 收黑的年份,策略都明顯抗跌(2022 只跌 2.9%,0050 跌 21.4%)。代價是在 AI 強多頭的 2024–25,策略大幅跑輸——這完全符合「低波偏防禦」的設計,牛市本來就會落後。這也說明 0050 那個漂亮的 CAGR 很大一部分來自最近兩年,策略的價值是在你最需要的回檔時保護你。

參數敏感度

動能回看期(60/120/240 日):

動能回看期 CAGR 夏普(日) 月索提諾 MDD
60 日 19.57% 1.23 2.30 -24.61%
120 日(本文) 19.55% 1.24 2.46 -25.60%
240 日 19.71% 1.25 2.34 -26.26%

持股檔數(20/25/30/50):

持股檔數 CAGR 夏普(日) 月索提諾 MDD
20 檔 20.38% 1.27 2.51 -27.97%
25 檔(本文) 19.55% 1.24 2.46 -25.60%
30 檔 19.23% 1.23 2.51 -24.19%
50 檔 20.00% 1.28 2.61 -24.32%

低波權重(1/2/3 倍)與加權方式:

變動項 CAGR 夏普(日) 月索提諾 MDD
低波 1 倍權重 23.71% 1.09 2.33 -39.35%
低波 2 倍權重(本文) 19.55% 1.24 2.46 -25.60%
低波 3 倍權重 17.42% 1.26 2.55 -22.29%
等權加權 19.26% 1.22 2.43 -25.29%
分數三次方加權(本文) 19.55% 1.24 2.46 -25.60%

動能回看期、持股檔數、加權方式三項,結果都很穩定——CAGR 落在 19–20%、夏普 1.2–1.3,沒有哪個參數是結論的命脈。唯一影響大的是低波權重:它直接決定報酬與回撤的取捨(1 倍時 CAGR 高但回撤 -39%,3 倍時回撤 -22% 但 CAGR 只剩 17%)。這正好印證低波因子是這個策略「壓回撤」的主引擎,也說明選 2 倍是刻意的折衷而非曲線擬合。

成本壓力與族群排除

壓力測試 CAGR 夏普(日) 月索提諾 MDD
預設成本 19.55% 1.24 2.46 -25.60%
手續費 2 倍 17.48% 1.11 2.15 -25.85%
交易摩擦 +0.2%(滑價代理) 16.65% 1.05 2.03 -25.95%
排除電子/半導體族群 19.52% 1.23 2.59 -25.17%

兩點值得注意:

  1. 成本敏感但不致命。 手續費加倍、再加 0.2% 摩擦當滑價代理,CAGR 從 19.6% 掉到 16.7%——這跟下面 51% 的月周轉率一致(換手越高,越吃成本)。即使如此,風險調整指標仍維持在 0050 之上。
  2. 不是只靠半導體。 把電子、半導體、光電等族群整批排除後再測,CAGR 幾乎不變(19.52%),月索提諾還略升。代表這個結果不是被台積電供應鏈單一族群撐起來的。

周轉率與最大回撤時點

項目 數值
平均月單邊周轉率 51.3%
單月最高周轉率 75.9%
策略 MDD 期間 2020-01-20 → 2020-03-19(疫情急殺,-25.6%)
0050 MDD 期間 2022-01-17 → 2022-10-25(升息空頭,-34.0%)

兩者最大回撤發生在不同事件:策略的最深回撤在 2020 疫情那波急跌(快速 V 轉),0050 則在 2022 整年的升息空頭——而那一整年策略只跌 2.9%。月周轉率約 51%(代表每月約換掉一半持股),屬於中等偏高,這也是為什麼成本壓力測試會明顯吃掉報酬。

關於容量: 本文未估算策略容量。實際下單的市場衝擊取決於你的資金規模與個股成交量,大資金在中小型股上的衝擊成本可能遠高於本文假設,這是把回測搬到實盤前必須自行評估的。


到這裡是這份研究的核心。下半部把四大選股面向當成工具箱整理一遍,給想自己組策略的讀者參考。

基本面選股:先看公司賺不賺錢、貴不貴

基本面選股回答兩個問題:這家公司會賺錢嗎(品質)?現在買貴不貴(估值)?

指標 白話定義 怎麼看 學術參考
本益比 PE 股價 ÷ 每股盈餘,幾年回本 越低越「便宜」,但太低常有原因 Basu (1977):低 PE 組長期報酬較高
股價淨值比 PB 股價 ÷ 每股淨值 <1 代表股價低於帳面價值 Fama-French (1992):高淨值市值比有溢酬
股東權益報酬率 ROE 公司用股東的錢賺錢的效率 越高越會賺,>15% 算優 Novy-Marx (2013):高獲利能力股有超額報酬

本益比(PE)怎麼算? 股價 50 元、每股盈餘 5 元,本益比就是 10 倍。但如同前面回測,單買低 PE 在台股這段期間是負報酬:便宜常常便宜有因,這就是「價值陷阱」。

基本面三大指標單獨用都跑輸大盤(ROE 5.9%、PB 6.4%、PE 倒虧)。它們的價值不在單獨選股,而是當過濾器——先排除不賺錢、太貴的公司,再交給其他因子。想看 ROE 與本益比怎麼搭配,讀 ROE × 本益比選股策略14 年 14 倍的雞蛋水餃股策略

技術面選股:看價格趨勢與波動的時機

技術面選股看的是價格本身的行為:趨勢、動能、波動。

工具 白話定義 選股用途
均線(MA) 一段期間的平均收盤價 站上季線/年線視為多頭
MACD 兩條均線的乖離與趨勢 判斷動能轉強/轉弱
KD 收盤價在近期高低區間的相對位置 >80 可能超買、<20 可能超賣
價格動能 近 N 日的漲幅排名 買「已經在漲」的強勢股
波動度(Volatility) 報酬的標準差 低波動股回撤通常較淺

動能(Momentum): 過去一段時間漲得多的股票,短期內傾向繼續漲。這是學術上較穩健的異象之一(Jegadeesh & Titman, 1993)。

技術面在本文扮演兩個角色:價格動能負責跟上市場已認同的標的,低波動負責壓低整體回撤。前面回測中,純動能年化雖有 11.5%,回撤卻達 -59%——這說明動能要搭配低波才抱得住。想學更多技術指標選股,讀 創新高 + ROE + 股價淨值比複合因子策略

籌碼面選股:看誰在買

籌碼面看的是資金流向——三大法人(外資、投信、自營)和主力大戶在買還是在賣。

籌碼指標 白話定義 解讀
三大法人買賣超 法人當日淨買/淨賣張數 連續買超視為認同
投信作帳 投信季底/年底拉抬持股 季底前的投信買超股值得留意
主力/大戶持股 大額帳戶持股比例變化 大戶增加常領先股價
融資融券 散戶槓桿多空部位 融資過高、券資比異常需警惕

籌碼面在台股相對有效(本土法人作帳行為明顯),但它波動快、需要日頻資料,較適合進階者。本文複合策略以中長期基本面與技術面為主,籌碼面留作延伸——想深入,可從 AI 概念股量化篩選法 切入,把籌碼當成額外的篩選層。

消息面選股:抓營收與財報的成長轉折

消息面回答:公司營運是不是正在變好? 台股最即時的訊號是月營收(每月 10 日前公布),比季報快,是抓基本面轉折的好工具。

消息面指標 白話定義 選股用途
月營收年增(YoY) 與去年同月比,營收成長幾 % 連續正成長代表動能延續
財報三表 損益表、資產負債表、現金流量表 確認獲利品質、是否燒錢
財測/法說 公司對未來的展望 提供前瞻訊號

關於換股日延後 14 天: 我們把複合策略的換股日延後到月營收公布之後(resample_offset='14D'),主要目的是避免使用尚未公布的資訊(前視偏差),確保進場時這些營收數字真的已經對市場公開。這跟 Bernard & Thomas (1989) 的 PEAD(盈餘公告後漂移)是相關但不同的概念——PEAD 講的是「盈餘」公告後的漂移,而月營收不等於盈餘。所以這裡的延後是嚴謹性處理,而非假設 PEAD 必然會在月營收上發生。

前面回測中,純營收動能年化 7.36%、輸 0050,但它在複合策略裡是關鍵的「成長確認」因子。單獨用不行,組起來才有價值。

由上而下 vs 由下而上:兩種選股流程

知道四大面向後,怎麼把它們串起來?有兩種主流流程:

流程 起點 步驟 適合誰
由上而下(Top-down) 總經/產業 景氣 → 強勢產業 → 產業內挑個股 對總經有掌握的進階者
由下而上(Bottom-up) 個股財報 財報海選 → 估值/品質過濾 → 技術面挑時機 新手、量化選股

本文的複合策略屬於典型的由下而上:不預測總經,直接讓四個因子在全市場橫斷面打分數,選分數最高的一籃子。對新手而言,由下而上較可靠,因為它可回測、可驗證,不依賴對未來總經的猜測。

新手怎麼開始:把四大面向串成一條流程

如果你想自己動手,可以照這個順序把四個面向接起來:

  1. 定方向。 由上而下(先選產業再選股)或由下而上(直接從財報海選)。新手建議由下而上,讓數據說話。
  2. 基本面初篩。 用 ROE、本益比、股價淨值比,過濾掉不賺錢或太貴的公司。
  3. 消息面確認成長。 看月營收年增是否為正、是否連續成長,確認公司正在變好而非吃老本。
  4. 技術面挑時機。 在符合基本面的標的中,挑近期有動能、波動相對低的,避開主跌段。
  5. 分散與定期換股。 選 20–30 檔分散個股風險,每月依規則換股,並用回測驗證——而不是單押一檔。

這五步驟的精神,正是前面複合策略在做的事:先用基本面與消息面確認好公司,再用技術面確認好時機,最後分散持有並系統化換股。

不會寫程式?用一句話請 AI 跑回測

FinLab 的做法是:你不必背 Python 語法,只要把規則用白話講清楚,回測交給 AI 加 finlab 實跑。

💬 你對 AI 說:

幫我用四個條件選台股:ROE 高、近 120 天漲幅高、近 120 天波動低(低波給雙倍權重)、月營收年增高。把這四項各自做橫斷面排名加起來,選分數最高的 25 檔,依分數加權,每月對齊營收公布日換股,回測 2018 到現在,跟含息 0050 比報酬、夏普、索提諾和回撤。

🤖 AI 回覆:

已用 finlab 跑完回測。品質+動能+低波複合策略年化 19.55%、日夏普 1.24、月索提諾 2.46、最大回撤 -25.60%。

和含息 0050 對比:報酬略低(19.6% vs 24.7%),但夏普與索提諾都更高、回撤淺約 8 個百分點。0050 贏在絕對報酬,這個策略贏在風險調整後表現與較淺的回撤。

想要可複製的完整程式碼?下載文末的 hero-quality-momentum-lowvol.py,貼進 finlab 環境就能重現上面每一個數字。

這篇和常見的選股內容差在哪

內容型態 常見限制 本文補上的
指標介紹文 講清楚指標怎麼算,但沒有回測,不知道單獨用有沒有效 每個因子單獨回測,給出真實 CAGR/夏普/回撤
策略分享文 有一個漂亮成績單,但少了參數敏感度與成本/族群壓力測試 6 張穩健性表,證明結論對參數不敏感
量化研究文 嚴謹但常停在概念,缺可重現的完整程式碼 全文數字附可下載腳本,可在自己電腦重跑

本文的回測都附可下載腳本,文中的數字都能在自己電腦重跑,回測也會每季更新。

回測方法揭露

項目 設定
回測期間 2018-03 至 2026-06,月頻換股
交易成本 finlab sim() 預設已扣手續費 0.1425% + 賣出證交稅 0.3%
滑價 / 容量 未額外假設滑價;本文未估算策略容量,實際衝擊取決於資金規模與個股成交量
基準 0050 用 etl:adj_close(含息調整)
股票池 全上市櫃;流動性過濾:剔除近 60 日日均成交額後 50% 的個股
排除類別 通用版未特別排除金融股 / KY 股;另做「排除電子/半導體族群」敏感度測試
前視偏差 ROE 用 index_str_to_date() 對齊各股財報實際公布日;月營收用 resample_offset='14D' 確保只用已公布資料
權重 四因子分數加權(低波雙倍),選前 25 檔依分數三次方加權
周轉率 平均月單邊周轉率約 51%,單月最高約 76%
樣本內外 本文為 2018-03 至今全段 in-sample,未做樣本外 / 滾動測試

限制提醒: 這段樣本含一段由 AI、半導體領漲的強多頭,且未做樣本外驗證。實盤前請自行做 out-of-sample 與不同成本假設的壓力測試,別把單一段回測當未來保證。

常見問題(FAQ)

問題 回答
低本益比不是價值投資核心嗎,為何會倒虧? 概念對,但單獨用在台股這段期間跑輸大盤(-1.4%):便宜常有因(產業衰退),即價值陷阱。要搭配品質、動能等因子才有效。
複合策略年化 19.6% 還輸 0050 的 24.7%,憑什麼說它好? 不是說它「全面贏」,而是它在風險調整後較好:夏普、月索提諾更高、回撤淺約 8 個百分點。報酬上限換來更小的回撤,是一個取捨,不是免費的午餐。
選 25–30 檔會不會太分散? 分散是為了降低個股暴雷風險;複合策略用分數加權把資金集中在最高分股,兼顧分散與集中。敏感度表顯示 20–50 檔結果都接近。
回測贏就能直接實單嗎? 不行。要扣交易成本與滑價、注意過擬合與前視偏差,還要考量策略容量。請當研究起點,不是保證。
我不會寫程式可以做嗎? 可以。把選股規則用白話講給 AI,由 finlab 實跑回測。FinLab 教的是跟 AI 對話,不是叫你背 Python 語法。

學術參考

本文用到的因子各有對應的實證文獻(白話一句話說明):

  • Fama & French (1992),《The Cross-Section of Expected Stock Returns》 — 規模與淨值市值比(價值)能解釋股票報酬,是低 PB 選股的理論基礎。
  • Jegadeesh & Titman (1993),《Returns to Buying Winners and Selling Losers》 — 過去 3–12 個月漲得多的股票傾向繼續漲,確立動能異象。
  • Novy-Marx (2013),《The Other Side of Value: The Gross Profitability Premium》 — 高獲利能力(品質)的公司有超額報酬,支撐用 ROE 選股。
  • Ang, Hodrick, Xing & Zhang (2006),《The Cross-Section of Volatility and Expected Returns》 — 低波動股票有較好的風險調整報酬,支撐我們給低波較高權重。
  • Asness, Moskowitz & Pedersen (2013),《Value and Momentum Everywhere》 — 價值與動能跨市場負相關,合成組合的夏普高於單一因子,是「疊加」的理論依據。

(PEAD 與本文換股日延後的關係見上方「消息面選股」段的說明——那是嚴謹性處理,非直接套用 PEAD。)

延伸閱讀

這篇屬於股票選股主題,並串接 量化交易 總綱。想更深入,接著看:

完整程式碼(可下載重現)

三支腳本都用 conda activate finlab && python <檔名> 即可重現本文每一個數字;benchmark 0050 一律用除權息調整後的 etl:adj_close

關於作者與 FinLab

作者:FinLab 量化研究團隊。 FinLab 是台灣專注於用 AI 與量化數據做台股投資研究的團隊,自 2017 年起經營 finlab Python 套件與量化教學社群,累積數萬名使用者。本文所有回測由 finlab 套件實跑,資料涵蓋台股全市場日頻價量、月營收、財報與除權息調整序列,數字可被任何讀者用文末腳本獨立重現。

選股策略常見問題(FAQ)

台股選股策略有哪些?

常見的選股策略大致對應四大面向:基本面(ROE、本益比、股價淨值比)、技術面(均線、動能、波動)、籌碼面(三大法人、主力持股)、消息面(月營收、財報)。本文把其中幾個經典因子各自回測,發現單獨用沒有任何一個贏過含息 0050;真正有價值的是把方向不同、弱點不同步發作的因子疊成複合策略。想看多因子如何進一步加碼,可讀 多因子選股實戰:年化贏過 0050

新手該怎麼開始選股?

新手建議走「由下而上」:先用基本面初篩掉不賺錢或太貴的公司,再用月營收確認成長,最後用技術面挑時機,並分散持有 20–30 檔、依規則定期換股。這條流程的重點是可回測、可驗證,不依賴對總經的猜測。基本面兩大指標怎麼搭,可參考 ROE × 本益比選股策略

選股要看哪些指標?

依面向各有代表指標:基本面看 ROE、本益比、股價淨值比;技術面看均線、價格動能、波動度;籌碼面看三大法人買賣超與主力持股;消息面看月營收年增。本文回測顯示這些指標單獨用多半跑輸大盤,它們的價值在於當過濾器與相互搭配,而非單押一項。

單因子和多因子選股差在哪?

單因子只用一個指標排序選股,結構性弱點明顯——例如純動能在本文回測雖年化 11.54%,回撤卻達 -58.86%。多因子則把彼此低相關的因子疊起來,一個失靈時其他能補,整體波動與回撤被壓下來;本文的品質+動能+低波複合策略最大回撤收斂到 -25.60%,就是這個道理。因子組合的有效性怎麼驗證,可參考 三因子分析


投資有風險,過去績效不代表未來表現。本內容僅供教學參考,不構成投資建議,請依個人風險承受度審慎評估。所有因子回測數據來源:finlab 實測(2018-03 至 2026-06)。

最後更新:2026-06|回測區間:2018-03 ~ 2026-06|作者:FinLab 量化研究團隊(經量化研究員審閱)

FinLab AI

想建立自己的策略?

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

免費開始

更多多因子選股研究

查看全部