
執行這個策略
複製提示詞,讓 AI 依照上方證據的資料、條件與風險檢查重跑一次。
告訴你的AI:
幫我設定 FinLab,重跑美股市值前 200 大的 ROE、淨利成長與 PEG 選股,和 QQQ 含息比較前後兩段,請讀:https://finlab.finance/setup?relatedUrl=/blog/us-large-cap-factors-backtest
**挑成長股、高 ROE、高現金流的美國大型股,過去九年有沒有比直接買 QQQ 好?本文把 17 個 FinLab 資料做得到的因子搬進 finlab,用當時拿得到的財報與市值逐月選股:淨利與營收成長、ROE 與 ROIC、自由現金流殖利率、PEG、股價營收比、EV/EBITDA、盈餘殖利率,再加上動能、低波動與兩個綜合分數。2017 年 8 月到 2026 年 10 月,85 種組合沒有一個在前後兩段都贏 QQQ 含息。85 種組合裡全期日夏普唯一超過 QQQ 的,是市值前 100 大裡成長加動能分數最高的 10 檔(0.98 對 0.90),但它 2017 到 2022 年的前段只有 0.76,鄰近 9 組參數也只有 2 組贏;高 ROE 與淨利成長的日夏普都是 0.89,前段同樣輸。加上「QQQ 站上 200 日均線才持有」的大盤濾網,40 個組合有 34 個變差,連 QQQ 自己都從 0.90 掉到 0.85。**所以本文沒有任何一個組合算成立。
關鍵數字:最接近 QQQ 的組合與估值、現金流因子
| 組合(股票池、持有檔數) | 日夏普 | 前段/後段日夏普 | 年化報酬 | 最大回撤 | 鄰近參數贏 QQQ |
|---|---|---|---|---|---|
| 成長+動能綜合(市值前 100 大、10 檔) | 0.98 | 0.76/1.18 | 29.1% | -33.8% | 2/9 |
| 淨利成長(市值前 200 大、20 檔) | 0.89 | 0.78/1.00 | 18.4% | -29.9% | 2/9 |
| ROE(市值前 200 大、20 檔) | 0.89 | 0.81/1.01 | 15.3% | -35.8% | 3/9 |
| 營業利益率改善(市值前 200 大、20 檔) | 0.87 | 0.67/1.07 | 19.8% | -32.2% | 初篩未過 |
| 低股價營收比(市值前 200 大、20 檔) | 0.76 | 0.56/1.08 | 13.7% | -43.0% | 初篩未過 |
| 低 PEG(市值前 200 大、20 檔) | 0.75 | 0.67/0.84 | 13.1% | -35.0% | 初篩未過 |
| 自由現金流殖利率(市值前 200 大、20 檔) | 0.75 | 0.55/1.01 | 13.3% | -39.0% | 初篩未過 |
| 低 EV/EBITDA(市值前 200 大、20 檔) | 0.74 | 0.54/0.99 | 14.6% | -43.7% | 初篩未過 |
| 盈餘殖利率(市值前 200 大、20 檔) | 0.60 | 0.51/0.72 | 10.4% | -39.8% | 初篩未過 |
| 市值前 200 大全部等權 | 0.74 | 0.62/0.90 | 12.1% | -34.9% | 對照組 |
| QQQ 含息 | 0.90 | 0.93/0.87 | 20.0% | -35.1% | 基準 |
| SPY 含息 | 0.84 | 14.9% | -33.7% | 參考 |
每個組合都從 2017-08-01 跑到 2026-10-28,QQQ 與 SPY 是同一段日子買進持有、股利再投入。其餘 31 個組合與加濾網後的數字在文末的總表。
三項驗證怎麼判
本文的「贏」只有一個意思:同一段交易日裡,日夏普高於 QQQ 含息。日夏普是每日報酬的平均除以標準差,再乘上 √252 年化,不扣無風險利率(夏普比率怎麼算)。和美股 10 個學術因子回測、美股 6 個知名選股法回測用同一套標準,三項都過才算成立:
- **前後兩段都要贏(先拿來初篩):**回測期間從中點 2022-03-16 切開,QQQ 在前段是 0.93、後段 0.87。全期、前段、後段三個日夏普都贏 QQQ,才算通過初篩。
- **換鄰近參數也要贏:**通過初篩的組合,股票池大小與持有檔數各取原值和上下各一個鄰近值(約 ±50%),共 9 組,七成以上要贏 QQQ。沒有任何組合通過初篩,所以另外替全期日夏普最高的三個組合照樣跑完 9 組,確認它們不是差一點的參數問題。
- **含交易成本:**全部用 finlab
sim()的美股預設成本(USMarket:手續費 0、沒有交易稅,美國免佣券商的常態);最接近的三個組合另外用每邊 0.1% 的成本重跑。
17 個因子與股票池怎麼做
財報數字都來自 FinLab 的 us_income_statement、us_balance_sheet、us_cash_flow,每個數字以 SEC 申報日為準納入,10-Q 或 10-K 公開之前不會進入任何分數(前視偏差)。市值用 etl:us_market_value,股數變動與分割已經算進去。
股票池:總部在美國的普通股,保留後來被併購或下市的公司,同一家公司只留一種股份,排除 ADR、ETF、基金與金融股(銀行與保險的營收、負債和一般公司不能直接比)。只用美國公司,是因為估值因子要拿財報除以市值,加拿大等外國公司的財報用本國貨幣,市值卻是美元。股票要股價高於 5 美元、近 60 日平均成交金額高於 500 萬美元,單日漲跌超過 50% 的股票剔除一年(多半是資料錯誤或代號重複使用)。每天從裡面取兩種大型股範圍:市值前 200 大,以及成交金額前 500 大(會多出一些成交熱絡的中型股)。
**選股:**每月底依因子分數排序,持有最高的 20 檔,等權,隔天收盤價成交。另外在市值前 100 大裡,對淨利成長、ROIC 與成長+動能綜合各測持有 10 檔與 30 檔。
17 個因子分成六類,近四季合計簡寫為 TTM:
- **成長:**淨利成長(TTM 淨利年增,去年要為正)、營收成長(TTM 營收年增)、營業利益率改善(TTM 營業利益率減一年前)、研發費用率(TTM 研發費用 ÷ 營收)。
- **獲利能力:**ROIC(TTM 營業利益 ÷ 總債務加股東權益)、ROE(TTM 淨利 ÷ 最新股東權益,權益要為正;Hou, Xue & Zhang (2015) 把 ROE 列為解釋股票報酬的四個因子之一)、毛利獲利能力(TTM 毛利 ÷ 總資產,Novy-Marx (2013))。
- **現金流與股東回饋:**自由現金流殖利率(TTM 自由現金流 ÷ 市值)、股東收益率(TTM 庫藏股買回淨額加現金股利 ÷ 市值)。
- **估值:**低 PEG(本益比 ÷ 淨利成長率的百分比,只算獲利與成長都為正的公司;Lynch (1989) 在《彼得林區選股戰略》推廣,PEG 小於 1 視為便宜)、低股價營收比(市值 ÷ TTM 營收,Barbee, Mukherji & Raines (1996) 發現它比股價淨值比更能解釋報酬)、低 EV/EBITDA(企業價值 ÷ TTM EBITDA,Loughran & Wellman (2011) 的企業價值倍數)、盈餘殖利率(TTM 淨利 ÷ 市值,也就是本益比的倒數,Basu (1977))。
- **價格:**12-1 月動能(過去 12 個月扣掉最近 1 個月的報酬,Jegadeesh & Titman (1993))、低波動(近 126 日報酬標準差最低)。
- **綜合:**成長+動能(動能、營收成長、營業利益率改善三者在股票池內的百分位平均)、品質+動能(動能、毛利獲利能力、ROIC 的百分位平均)。
估值因子都換成「越高越便宜」的方向排序(例如用營收 ÷ 市值代替股價營收比),本益比或 EBITDA 為負的公司不會被當成便宜股。
結果一:85 種組合,沒有一個前後兩段都贏 QQQ
文首的圖是 17 個因子在兩種股票池各持有 20 檔的日夏普。市值前 200 大裡最好的是 ROE 與淨利成長,都是 0.89,QQQ 是 0.90;接著是營業利益率改善 0.87、ROIC 0.83。最差的是盈餘殖利率 0.60 與 12-1 月動能 0.62。成交金額前 500 大普遍更低,17 個因子裡 13 個比市值前 200 大的同一個因子差,最高是成長+動能綜合的 0.86。

把 40 個個股組合的前段與後段日夏普畫在一起,右上角兩段都贏 QQQ 的綠色區域是空的。後段(2022-03 到 2026-10)有 17 個組合贏 QQQ 的 0.87,前段(2017-08 到 2022-03)只有 2 個贏 QQQ 的 0.93:成交金額前 500 大的低股價營收比(0.94)與成長+動能綜合(0.95),它們的後段又分別只有 0.60 與 0.79。兩段的贏家幾乎沒有重疊,代表這段期間沒有一種選股角度能穩定贏 QQQ。
我們另外試了 5 個不是單純因子排序的做法(文末「其他試過的做法」),也都沒過初篩。所以 85 種組合(40 個個股組合、同樣 40 個加大盤濾網、5 個其他做法)初篩過關的是 0 個,三項全過的也是 0 個。
結果二:最接近的三個,換鄰近參數就輸

雖然沒有組合通過初篩,我們還是替全期日夏普最高的三個組合跑了 9 組鄰近參數,看它們是不是「差一點」:
- **成長+動能綜合(市值前 100 大、10 檔):**2/9 組贏。贏的只有原值 0.98 與同股票池持有 15 檔的 0.93;股票池改成前 50 大或前 150 大,持有 10 檔都只剩 0.79。這是一個孤立的高點,旁邊的參數都掉下去。
- **淨利成長(市值前 200 大、20 檔):**2/9 組贏(持有 10 檔 1.06、前 300 大持有 20 檔 0.95)。持有 10 檔雖然最高,但同樣持有 10 檔、股票池換成前 100 大或前 300 大就只有 0.87 與 0.88。
- **ROE(市值前 200 大、20 檔):**3/9 組贏(前 200 大持有 10 檔 0.91、30 檔 0.93,前 300 大持有 20 檔 0.91),是三個裡最平均的,但離七成還很遠;而且 9 組沒有一組前後兩段都贏 QQQ。
成本不是問題:每邊 0.1% 之後三個組合分別是 0.96、0.87、0.88,和原本幾乎一樣。輸 QQQ 的原因在選股本身。
結果三:成長+動能的 10 檔,領先幾乎都來自 2025 年之後

85 種組合裡全期唯一贏 QQQ 的成長+動能 10 檔,逐年看是另一個故事。2017 到 2024 年它的日夏普是 0.82,QQQ 是 0.88;2019 年少賺 19 個百分點、2023 年少賺 26 個百分點。2025 年漲 61.1%、2026 年到 10 月漲 65.5%,同期 QQQ 是 20.8% 與 18.5%,這兩年把它推到全期 0.98。組合平均有一半權重在科技股。只持有 10 檔的集中組合,在一段產業行情裡贏很多,不代表選股規則本身穩定。

淨利成長與 ROE 是相反的形狀。ROE 在 2017 到 2024 年的日夏普 0.91,還略高於 QQQ 的 0.88,但 2025 年只漲 12.9%、2026 年到 10 月 8.6%,被拉回 0.89;它的組合三成是非必需消費股,科技股只佔兩成,錯過了這兩年的科技行情。淨利成長則是 2023 年只漲 12.2%(QQQ 54.9%),那一年的落後一直沒補回來。三條線在 1 美元成長圖上大部分時間都在 QQQ 下方,只有成長+動能在 2025 年後衝出去。
PEG、股價營收比、EV/EBITDA、盈餘殖利率與 ROE
這 5 個因子是站上之前的美股學術因子與知名選股法研究都沒有測過的,每個都先用原參數(市值前 200 大與成交金額前 500 大,各持有 20 檔)初篩:
- **ROE:**0.89 與 0.81,前段 0.81 輸 QQQ 的 0.93。高 ROE 在大型股裡是 17 個因子中最接近 QQQ 的,但前段輸,鄰近參數也只有 3/9 組贏。
- **低股價營收比:**0.76 與 0.78。成交金額前 500 大的前段 0.94 是少數贏 QQQ 的前段,後段卻只剩 0.60;最大回撤 -43.0% 與 -45.8%,比 QQQ 深。
- **低 PEG:**0.75 與 0.50。PEG 用的是過去一年的淨利成長率,去年獲利基期很低的公司成長率會非常高、PEG 因此很低,但這種成長不一定持續。
- **低 EV/EBITDA:**0.74 與 0.57。成交金額前 500 大的最大回撤 -65.1%,是 5 個因子裡最深的。
- **盈餘殖利率:**0.60 與 0.44,市值前 200 大裡是 17 個因子中最低的,前後兩段都輸 QQQ。
5 個因子沒有一個通過初篩,照規則不跑鄰近參數(ROE 因為是全期最接近的三個之一,還是跑了)。在市值前 200 大裡,四個估值因子不只輸 QQQ,也輸給 ROE 與淨利成長:這段期間買便宜的大型股,不如買獲利正在成長的大型股。
為什麼贏不了 QQQ:等權大型股的起跑點
一個公平的問題是:這些因子有沒有比它挑選的範圍好?市值前 200 大全部等權持有的日夏普是 0.74,年化 12.1%。17 個因子裡 9 個高於這個數字,ROE、淨利成長、營業利益率改善、ROIC 都多了 0.09 到 0.16。所以因子確實挑到比平均好的股票,問題是起跑點:等權的前 200 大比 QQQ 低了 0.16,市值前 100 大全部等權是 0.80,也還差 0.10。
Bessembinder (2018) 發現 1926 年以來美股的淨財富增加,全部來自表現最好的 4% 股票。QQQ 用市值加權,大部分資金放在市值最大的幾檔科技股;等權持有 20 檔的因子組合,每檔只有 5%,就算挑到其中一兩檔大贏家,權重也比 QQQ 低。這段期間這個差距,比任何一個因子多賺的部分都大。
加大盤濾網為什麼反而變差
很多人會想:選股贏不了,那在大盤轉弱時空手總可以吧?我們用一個常見的趨勢濾網:QQQ 在 200 日均線之上、而且近 6 個月報酬為正才持有,否則整個組合換成現金。200 日(約 10 個月)均線來自 Faber (2007) 的資產配置擇時研究。濾網在換股日檢查,2017-08 到 2026-10 有 79.7% 的交易日是開的,110 個月裡有 24 個月空手。

結果是 40 個個股組合有 34 個變差,平均少了 0.08,沒有一個加上濾網後贏 QQQ。跌最多的是動能類:成長+動能綜合從 0.75 掉到 0.53,12-1 月動能從 0.62 掉到 0.44。QQQ 自己加上同一個濾網,日夏普從 0.90 掉到 0.85,年化報酬從 20.0% 降到 15.0%,最大回撤從 -35.1% 收斂到 -28.6%。少的回撤換不回少的報酬。

原因看濾網空手的那幾段就清楚了。QQQ 跌破 200 日均線或 6 個月報酬轉負,濾網就關,這時候跌幅大多已經發生;接下來它又要等均線與 6 個月報酬都翻正才重新進場,剛好錯過反彈:
| 濾網空手期間 | 月數 | QQQ 報酬 | 成長+動能(前 100 大、10 檔) | 淨利成長(前 200 大) | ROE(前 200 大) |
|---|---|---|---|---|---|
| 2018-11~2019-04 | 6 | +12.1% | -0.6% | +9.8% | +14.7% |
| 2020-04 | 1 | +15.0% | +12.5% | +12.3% | +12.0% |
| 2022-02~2023-03 | 14 | -10.8% | -3.0% | -5.4% | -1.8% |
| 2025-04~2025-05 | 2 | +10.7% | +24.7% | +13.0% | +5.1% |
| 2026-04 | 1 | +15.7% | +27.6% | +18.5% | +4.8% |
五段空手期裡只有 2022 年那一段避開了下跌,而且那 14 個月 QQQ 只跌 10.8%,因為濾網在 2022 年 1 月底才關,2023 年第一季的反彈也被它錯過。其他四段 QQQ 都是上漲的。平均來看,濾網空手的 24 個月裡 QQQ 每月平均漲 2.0%,濾網開著的 86 個月只有 1.6%;成長+動能 10 檔也是空手月 2.7%、持有月 2.4%。趨勢濾網的用處是避開跌好幾季的長空頭,例如 2000 到 2002 年與 2008 年;2017 到 2026 年只有 2022 年一段是這種空頭,其他幾次下跌(2018 年第四季、2020 年疫情、2025 年 4 月關稅)都跌得快、彈得也快,濾網確認轉弱時已經來不及。
我們也測了濾網每天檢查、轉弱隔天就出場的版本:成長+動能 10 檔是 0.93、淨利成長 0.82,都比不加濾網差;ROE 升到 0.99,但前段 0.86 仍輸 QQQ 的 0.93,年化報酬也從 15.3% 降到 12.4%,一樣不算過。
其他試過的做法
| 做法 | 日夏普 | 前段/後段 | 年化報酬 | 最大回撤 |
|---|---|---|---|---|
| 先挑 3 個最強類股(成分股站上 200 日均線比例最高)再選 12-1 月動能前 20 檔 | 0.48 | 0.52/0.44 | 11.4% | -45.1% |
| 先挑 3 個最強類股再選 ROIC 前 20 檔 | 0.55 | 0.55/0.56 | 10.7% | -32.4% |
| 成交前 1,000 大過半站上 200 日均線就持有 QQQ,否則持有 IEF、SHY、GLD 中近 3 個月最強的一檔 | 0.85 | 1.10/0.58 | 14.5% | -24.6% |
| 市值前 200 大近 5 日跌最多的 20 檔,每週換股 | 0.54 | 0.47/0.63 | 11.4% | -46.1% |
| 成交前 500 大近 5 日跌最多的 20 檔,每週換股 | 0.46 | 0.50/0.41 | 10.7% | -67.5% |
先挑類股再選股的兩個組合只有 0.48 與 0.55,比前面單用 12-1 月動能或 ROIC 選股的組合都低(兩種股票池分別是 0.62/0.80 與 0.83/0.76)。大盤寬度擇時在前段 1.10 遠勝 QQQ,後段卻只剩 0.58,是典型只在某段期間有效的訊號。每週短期反轉每週都要換股,每邊 0.1% 的成本就把日夏普壓到 0.20 與 0.21。
全部 40 個個股組合一覽
「濾網後」是同一個組合加上前一節的 QQQ 趨勢濾網。QQQ 同期日夏普 0.90,前段 0.93、後段 0.87。
| 因子 | 市值前 200 大 | 前段/後段 | 濾網後 | 成交前 500 大 | 前段/後段 | 濾網後 |
|---|---|---|---|---|---|---|
| ROE | 0.89 | 0.81/1.01 | 0.82 | 0.81 | 0.87/0.74 | 0.74 |
| 淨利成長 | 0.89 | 0.78/1.00 | 0.78 | 0.65 | 0.48/0.81 | 0.65 |
| 營業利益率改善 | 0.87 | 0.67/1.07 | 0.70 | 0.42 | 0.48/0.37 | 0.32 |
| ROIC | 0.83 | 0.76/0.91 | 0.75 | 0.76 | 0.87/0.64 | 0.80 |
| 低股價營收比 | 0.76 | 0.56/1.08 | 0.77 | 0.78 | 0.94/0.60 | 0.75 |
| 低 PEG | 0.75 | 0.67/0.84 | 0.67 | 0.50 | 0.36/0.66 | 0.56 |
| 成長+動能綜合 | 0.75 | 0.54/0.93 | 0.53 | 0.86 | 0.95/0.79 | 0.63 |
| 自由現金流殖利率 | 0.75 | 0.55/1.01 | 0.67 | 0.79 | 0.70/0.92 | 0.73 |
| 低 EV/EBITDA | 0.74 | 0.54/0.99 | 0.67 | 0.57 | 0.48/0.70 | 0.52 |
| 研發費用率 | 0.73 | 0.62/0.83 | 0.58 | 0.31 | 0.38/0.25 | 0.21 |
| 股東收益率 | 0.69 | 0.54/0.93 | 0.56 | 0.62 | 0.68/0.54 | 0.56 |
| 營收成長 | 0.68 | 0.46/0.90 | 0.50 | 0.33 | 0.43/0.23 | 0.26 |
| 品質+動能綜合 | 0.67 | 0.53/0.82 | 0.58 | 0.52 | 0.40/0.65 | 0.46 |
| 毛利獲利能力 | 0.65 | 0.79/0.48 | 0.62 | 0.51 | 0.51/0.51 | 0.41 |
| 低波動 | 0.64 | 0.60/0.74 | 0.51 | 0.51 | 0.48/0.56 | 0.40 |
| 12-1 月動能 | 0.62 | 0.52/0.71 | 0.44 | 0.80 | 0.65/0.93 | 0.52 |
| 盈餘殖利率 | 0.60 | 0.51/0.72 | 0.57 | 0.44 | 0.35/0.57 | 0.40 |
市值前 100 大的 6 個集中組合:
| 組合 | 日夏普 | 前段/後段 | 濾網後 |
|---|---|---|---|
| 成長+動能綜合,10 檔 | 0.98 | 0.76/1.18 | 0.86 |
| 成長+動能綜合,30 檔 | 0.85 | 0.70/1.00 | 0.80 |
| 淨利成長,10 檔 | 0.87 | 0.69/1.05 | 0.74 |
| 淨利成長,30 檔 | 0.81 | 0.68/0.95 | 0.81 |
| ROIC,10 檔 | 0.70 | 0.58/0.83 | 0.73 |
| ROIC,30 檔 | 0.79 | 0.68/0.93 | 0.77 |
程式碼
ROE 選股的核心只要幾個步驟:用近四季淨利除以股東權益,在市值前 200 大裡挑最高的 20 檔,再和 QQQ 比較。
顯示程式碼
import finlab
from finlab import data
from finlab.backtest import sim
finlab.login() # finlab 會自動引導登入
data.set_market("us")
# 1. 近四季淨利除以最新股東權益(以 SEC 申報日對齊)
net_income = data.get("us_income_statement:net_income").rolling(4).sum()
book_equity = data.get("us_balance_sheet:total_stockholders_equity")
roe = net_income / book_equity[book_equity > 0]
# 2. 股票池:總部在美國的普通股,排除金融股,每天取市值前 200 大
profile = data.get("us_company_profile")
eligible = profile.loc[
(profile["security_type"] == "common_stock")
& (profile["country"] == "US")
& (profile["sector"] != "Financial Services"),
"stock_id",
]
market_value = data.get("etl:us_market_value")
market_value = market_value[market_value.columns.intersection(eligible)]
close = data.get("us_price:close")
top_200 = market_value[close > 5].is_largest(200)
# 3. 前 200 大裡 ROE 最高的 20 檔,等權、每月換股
position = roe[top_200].is_largest(20)
report = sim(position.loc["2017-08-01":], resample="M", upload=False)
# 4. 和同一段日子的 QQQ 含息比較日夏普
curve = report.creturn
qqq = data.get("us_fund_price:adj_close")["QQQ"].reindex(curve.index).ffill()
for name, series in [("ROE 前 20 檔", curve), ("QQQ", qqq)]:
daily = series.pct_change().dropna()
sharpe = daily.mean() / daily.std() * 252 ** 0.5
print(name, f"{sharpe:.2f}")資料到 2026-10-28 時,這段會印出 0.89 與 0.90,和表格一致。注意 roe[top_200].is_largest(20) 的寫法:先把範圍外的股票設成空值再排序,範圍內才會剛好選到 20 檔。完整的 strategy.py 另外加上 500 萬美元成交金額門檻、單日 ±50% 剔除與同公司只留一種股份,17 個因子、兩種股票池、大盤濾網與其他做法都在裡面,加上 --grid 與 --extras 可以重現本文所有熱圖、前後段、成本與濾網測試。
用 AI 跑這份研究
上面的程式不用自己寫。在 Claude Code、Codex 或 Gemini CLI 安裝 FinLab skill 只要一行:
顯示程式碼
npx skills add https://github.com/koreal6803/finlab-ai --skill finlab接著用中文提問,例如「在市值前 200 大的美股裡用 ROE 選 20 檔,和 QQQ 比較前後兩段」或「把 PEG 選股的股票池換成市值前 500 大,再加上 200 日均線濾網」。各工具的安裝步驟在 AI 助理設定頁,AI 輔助安裝流程會連上你的 FinLab 帳號,同樣的研究也可以直接在瀏覽器的 FinLab Studio 執行。
回測方法與限制
| 項目 | 做法 |
|---|---|
| 回測期間 | 2017-08-01 到 2026-10-28,第一個有一年財報與股價的月份。前後兩段在 2022-03-16 切開。 |
| 股票池 | FinLab 美股公司資料中總部在美國的普通股,包含後來下市的公司;同公司只留一種股份;不含 ADR、ETF、基金與金融股。股價高於 5 美元、近 60 日平均成交金額高於 500 萬美元、過去一年沒有單日 ±50% 的走勢。每天取市值前 200 大(或 100 大)與成交金額前 500 大。 |
| 前視偏差 | 財報以 SEC 申報日為準納入;市值是當天的資料。類股、國家與證券類型標記來自目前的公司資料,排除金融股與限定美國公司有小幅前視;公司資料每天更新,之後重跑 strategy.py,日夏普可能差 0.01 到 0.02。 |
| 權重 | 等權,每檔 5%(持有 10 檔時 10%),沒有另設類股上限。 |
| 換股頻率 | 每月最後一個交易日排序,隔天收盤價成交;短期反轉每週換股。 |
| 交易成本 | finlab USMarket 預設:手續費 0、交易稅 0。最接近的三個組合另以每邊 0.1% 成本重跑。未模擬滑價。 |
| 周轉率 | 單邊、每年:ROE 0.7、淨利成長 2.0、成長+動能 10 檔 2.6、12-1 月動能 3.5。 |
| 基準 | QQQ 含息買進持有、不計成本;SPY 作為參考。日夏普不扣無風險利率。 |
| 樣本 | 全部是約九年的全段樣本內結果。前後兩段只是穩定度檢查,本文未做樣本外驗證,也未估算策略容量。我們試了 85 種組合,加上鄰近參數、成本與濾網的檢查共超過 100 次回測,就算全部無效,也會有幾個剛好在某段期間看起來很好,所以單一組合的勝出要過三項驗證才算數。 |
這個結果代表什麼、不代表什麼
它代表的是:2017 到 2026 年,用成長、ROE、ROIC、現金流或估值因子挑美國大型股,等權持有,在我們試過的 85 種組合裡,沒有一種在前後兩段都比持有 QQQ 好;加上大盤趨勢濾網只會更差。它不代表這些因子沒用:在市值前 200 大裡,17 個因子有 9 個挑出來的股票比同一範圍的等權平均好,只是這段期間 QQQ 的領先來自少數市值最大的科技股,等權的因子組合追不上。McLean & Pontiff (2016) 也發現,學術論文發表過的選股訊號在發表後報酬平均少了 58%。
對想拿真錢跑這些因子的人,實際的解讀是:在美國大型股裡,挑成長或高 ROE 的股票,九年下來大約和 QQQ 打平,代價是更集中、換手更多;全期勝出的組合要看它是不是只靠一兩年、一個產業。站上三項驗證都過的美股策略,例如美股動能策略與品質價值策略,是用個股訊號決定什麼時候持有槓桿 Nasdaq ETF,選出的個股本身不直接買進,也因此多了槓桿風險;用 200 日均線控制槓桿 ETF 的結果在槓桿 ETF 擇時回測。台股讀者如果想看 PEG 與本益比在台股的表現,可以看 PE、PB、PEG 台股回測;美股 PEG 在不同產業的差異,在美股選股池分類器。
常見問題 FAQ
美股成長股會贏大盤嗎?
以 2017 到 2026 年的大型股來看,大約打平、不穩定。市值前 200 大裡淨利成長最快的 20 檔,日夏普 0.89,QQQ 是 0.90,贏了 SPY 的 0.84;但 2017 到 2022 年的前段 0.78 輸 QQQ 的 0.93。營收成長更差,只有 0.68。
高 ROE 選股有效嗎?
在美國大型股裡是 17 個因子中最接近 QQQ 的,市值前 200 大持有 20 檔是 0.89,2017 到 2024 年還略贏 QQQ(0.91 對 0.88),但 2025 年後落後。9 組鄰近參數只有 3 組贏,前段也輸,所以不算穩定有效。
PEG 選股在美股有用嗎?
這段期間沒有。市值前 200 大裡 PEG 最低的 20 檔,日夏普 0.75,成交金額前 500 大只有 0.50,都低於 QQQ 的 0.90,也低於 SPY。PEG 用的是過去一年的淨利成長率,獲利從低基期反彈的公司會顯示很高的成長率、很低的 PEG。
股價營收比、EV/EBITDA 低的美股會贏嗎?
低股價營收比是 0.76 與 0.78,低 EV/EBITDA 是 0.74 與 0.57,最大回撤都在 -43% 以上。在市值前 200 大裡,兩者也都輸給 ROE 與淨利成長。
自由現金流殖利率高的股票值得買嗎?
市值前 200 大是 0.75,成交金額前 500 大是 0.79,年化 19.0%,但最大回撤 -50.8%,比 QQQ 的 -35.1% 深很多。
加上 200 日均線濾網可以避開空頭嗎?
2017 到 2026 年反而有害。濾網讓 40 個組合有 34 個變差,QQQ 本身也從 0.90 掉到 0.85。這段期間的下跌都很快反彈,濾網確認轉弱時跌幅大多已經發生,空手的月份平均報酬比持有的月份還高。
為什麼用 QQQ 當基準,不用 S&P 500?
QQQ 是 FinLab 所有美股策略共用的基準,站上的結果才能互相比較。關鍵數字表附了 SPY:40 個個股組合裡有 7 個贏 SPY 的 0.84,但沒有一個在前後兩段都贏 QQQ。
可以自己重跑嗎?
可以。透過 AI 輔助安裝流程裝好 FinLab skill,下載下面的 strategy.py,執行 python strategy.py --grid --extras,資料下載完之後約 10 分鐘跑完。
延伸閱讀
- 選股方法完整指南:基本面、技術面、籌碼面選股的做法與工具總覽。
- 美股量化策略總覽:站上所有美股策略的回測結果比較。
- 美股因子投資入門:價值、品質、動能等因子是什麼、怎麼用。
- 美股 10 個學術因子回測:股價淨值比、資產成長、應計、F-Score 等論文因子,同一套三項驗證。
- 美股 6 個知名選股法回測:Rule of 40、神奇公式、CANSLIM、葛拉漢數與股息成長。
- 美股回測教學:從安裝到第一個美股回測的完整流程。
下載資源
| 檔案 | 內容 |
|---|---|
| strategy.py | 完整研究:17 個因子、兩種股票池、鄰近參數、前後兩段、成本重跑、大盤濾網與其他做法 |
| data.csv | 市值前 200 大 17 個因子、最接近的三個組合(含加濾網版本)、前 200 大等權、QQQ 與 SPY 的每日淨值 |
| metrics.json | 本文引用的全部統計,包含 85 種組合、27 組鄰近參數與濾網空手期間 |
**投資警語:本文僅供教學參考,不構成投資建議。過去績效不代表未來表現,投資有風險。**本文所有回測均為全段樣本內結果;前後兩段只是穩定度檢查,未經樣本外驗證。
最後更新:2026-10|回測區間:2017-08~2026-10|基準:QQQ 含息|作者:FinLab 量化研究團隊(經量化研究員審閱)
FinLab AI
想建立自己的策略?
用自然語言描述你的選股想法,AI 自動驗證、回測、給你答案
免費開始

