VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
策略學院 / 回測與檢驗

獲利因子:公式、多少算好,以及 3 個常見陷阱

獲利因子是所有獲利交易的總和除以所有虧損交易的總和。高於 1.0,代表策略在測試中賺得比賠得多;成本後約 1.3 至 2.0,是許多系統化交易人接受的範圍。這個數字必須搭配交易筆數、最大的幾筆獲利、成本與回撤一起讀,才有意義。

作者 · 發佈 · 更新於 · 編輯原則

目錄
  1. 什麼是獲利因子?怎麼計算?
  2. 獲利因子多少算好?
  3. 交易筆數少,或靠一筆大賺撐起來,獲利因子還能信嗎?
  4. 獲利因子與期望值:差在哪裡?
  5. 手續費與滑價如何改變獲利因子?
  6. 獲利因子沒有告訴你什麼?
  7. 常見問題
  8. 參考文獻

什麼是獲利因子?怎麼計算?

獲利因子是總獲利除以總虧損:所有獲利交易的總和,除以所有虧損交易的總和。高於 1.0,代表策略在測試期間賺得比賠得多。許多系統化交易人在成本後找的是約 1.3 至 2.0,但這個數字必須搭配背後的交易筆數,才有意義。

總獲利是每一筆以獲利平倉的交易的加總。總虧損是每一筆以虧損平倉的交易的加總,寫成正數。剛好以零平倉的交易,不算在任何一邊。想像月底的一家店:賣出商品進來的所有錢,除以付出去的所有錢。如果每付出 1.0 就進來 1.7,獲利因子就是 1.7。全文只有這一個算式:

獲利因子 = 總獲利 ÷ 總虧損

其中總獲利是獲利交易的總和,總虧損是虧損交易的總和,兩者都取自用舊價格跑固定規則的回測所產生的交易明細。其他一概不放進去:不放帳戶規模、不放口數,也不放花了多久時間。

假設性範例

一個策略平倉了 100 筆交易。60 筆獲利交易合計 $17,000。40 筆虧損交易合計 $10,000。獲利因子 = 17,000 ÷ 10,000 = 1.7。淨損益為 $7,000,這是兩個總和的差,不屬於比值本身。

獲利因子就是一個總和除以另一個總和:假設的 100 筆交易範例中,獲利交易合計 一萬七千 美元,虧損交易合計 一萬 美元,所以獲利因子是 一萬七千 除以 一萬,也就是 1.7 獲利 ÷ 虧損 = 1.7 假設:100 筆交易 獲利 $17k 虧損 $10k $17k ÷ $10k = 1.7 只放進這兩個總和。 所以:用成本後的結果。
獲利因子就是一根長條除以另一根:獲利交易的總和除以虧損交易的總和。

同一份交易明細還能算出平均獲利、平均虧損與勝率,所以建議同時用免費的勝率計算機:期望值與損益兩平勝率跑一遍。後面的段落會說明,為何比值與金額必須一起看。

獲利因子多少算好?

成本(手續費與滑價)後約 1.3 至 2.0 的獲利因子,是許多系統化交易人接受的範圍;任何區間脫離背後的交易筆數與成本,都沒有意義。下表的區間是經驗豐富的交易人當作第一道篩選的經驗法則,不是定律。Pardo(2008)把獲利因子視為多項評估指標之一,要搭配交易筆數與回撤來讀,這個表也該這樣用。

獲利因子成本後通常代表什麼要檢查什麼
低於 1.0策略在測試期間虧損有沒有計入成本;成本前高於 1.0、計入成本後卻掉到其下的情況相當常見
約 1.0 至 1.3優勢單薄;滑價小幅增加或換一段期間,就可能抹掉用兩倍滑價重跑,並在樣本外的部分讀取
約 1.3 至 2.0許多系統化交易人對有好幾百筆交易的策略所接受的範圍交易筆數、最大的獲利、回撤相對於帳戶規模
筆數多而高於約 3.0少見;多半是錯誤,而不是優勢前視偏誤、漏算成本、同一根 K 棒成交,或交易筆數太少而無從判斷
成本後的獲利因子區間經驗法則:低於 1.0 會虧錢,1.0 至 1.3 是單薄的優勢,1.3 至 2.0 是許多系統化交易人接受的範圍,高於 3.0 要檢查是否有錯誤;每個區間都要連同交易筆數與成本一起判斷 多數人接受 1.3 至 2.0 經驗法則,成本後 低於1.0 虧錢 1.0 – 1.3 優勢單薄 1.3 – 2.0 常被接受 高於3.0 檢查有無錯誤 區間只是第一道篩選。 所以:連同筆數與成本判斷。
獲利因子的各個區間,以及各區間在成本後通常代表什麼。這個刻度只是第一道篩選,最後由交易筆數與成本決定。

同一個數字,兩種讀法會導向相反的決定。五年 800 筆日內交易、每筆都計入成本而得到的獲利因子 1.6,值得帶進下一關檢查。25 筆交易得到的 1.6,或在沒計手續費的回測中得到同一個數字,只是個線索,僅此而已。特別高的值最該懷疑:一千筆交易上獲利因子達 3.5 的策略,通常用了實際上成交不到的價格,例如在產生訊號的同一根 K 棒收盤價成交。

交易筆數少,或靠一筆大賺撐起來,獲利因子還能信嗎?

由幾十筆交易組成、或靠一兩筆離群大贏撐起來的獲利因子,只要一筆交易改變就可能大幅擺盪,所以相信它之前,先拿掉最大的獲利交易再重算。原因是單純的算術:總獲利是一個加總,而一個大項可能占去大半。拿掉那一項,比值可能從安心的水準掉到剛好略高於 1.0。

假設性範例

一個波段策略平倉了 20 筆交易。總獲利為 $30,000,但光是一筆交易就賺了 $14,000。總虧損為 $15,000。獲利因子 = 30,000 ÷ 15,000 = 2.0。拿掉那筆 $14,000 的獲利:總獲利降到 $16,000,總虧損仍是 $15,000,獲利因子 = 16,000 ÷ 15,000 = 1.07。二十筆交易裡的一筆,撐起了整個結果。

假設的 20 筆交易策略,拿掉一筆獲利前後:獲利合計 三萬 美元(含一筆 一萬四千 美元的交易),對虧損 一萬五千 美元,獲利因子為 2.0;拿掉那筆獲利後,一萬六千 對 一萬五千,得 1.07 去掉一筆:2.0 → 1.07 假設:20 筆交易,一筆 $14k 獲利 之前 $14k $30k $15k 虧損 2.0 之後 $16k $15k 虧損 1.07 一筆交易撐起了結果。 所以:去掉前 3 大獲利,重算。
一筆離群的大贏,就能撐起小樣本的大部分獲利因子。拿掉它,同一個策略看起來截然不同。

一個兩分鐘就能做完的檢查:

  1. 把交易明細依損益排序,最大的獲利排最前面。
  2. 依序拿掉最大的一筆、兩筆、三筆獲利交易,每次都重新計算總獲利 ÷ 總虧損。
  3. 事先寫下,最大的三筆拿掉之後,你能接受的最低值。許多交易人希望它仍高於約 1.2。
  4. 策略過不了這條線,就視為尚未證明,而不是不好。它需要更多筆交易,才能判斷好壞。

我們自己用 AlphaPrime(Valynox)跑的這次回測,是小樣本的一個典型例子。它測試的是一條替代規則,而不是獲利因子本身:一條以標準指標組成的 HiLo Activator 規則,作為 NQ 日 K 棒唯一的進場與出場,期間 2019-01-02 至 2025-06-30,多空皆做,一口,沒有停損、停利與濾網。所示這次回測,是搜尋試過的 1,024 個候選策略中唯一留下的,依報酬相對回撤挑選。事後挑出留下的那一個,會讓數字顯得好看,這裡沒有任何內容表示這條規則賺到了這筆錢,也不表示讀者可以預期同樣的結果。

來源:AlphaPrime 產品引擎(CPU),2026-10-31 執行。NQ 日線,2019-01-02 至 2025-06-30,多空都做,1 口,每筆手續費 $20、滑價 $10。

數字結果
淨損益(已平倉交易)$109,290
最大回撤$116,305
交易筆數33
勝率69.7%
獲利因子1.703
平均每筆損益$3,311.82
持倉時間占比95.08%
在同一個摘要區塊裡找出獲利因子與交易筆數,先把兩者當成一對來讀,再看其他數字。
在同一個摘要區塊裡找出獲利因子與交易筆數,先把兩者當成一對來讀,再看其他數字。 NQ · 日 K 棒 · 2019-01-02 至 2025-06-30 · CPU 引擎回測

獲利因子 1.703,落在許多交易人接受的範圍內。約六年半 33 筆的交易筆數卻不在。樣本這麼小,兩三筆交易換個出場方式,比值就可能朝任一方向大幅變動;最大回撤 $116,305 也大於淨損益 $109,290。這正是上面「檢查最大獲利」要先做的情形。Bailey、Borwein、López de Prado 與 Zhu(2014)提供了另一個要多看一眼的理由:只展示許多候選策略中最好的那個時,它的結果有一部分是篩選造成的,而交易筆數越少,這一部分可以越大。在 AlphaPrime 的績效報表裡,摘要數字與完整交易明細在同一個畫面上,不必離開報表,就能找出最大的獲利交易,再用手算重做一次除法。

獲利因子與期望值:差在哪裡?

獲利因子是沒有金額刻度的比值,期望值則是每筆交易的平均金額,所以兩個獲利因子相同的策略,賺的錢可能相差甚遠。期望值是淨損益除以交易筆數,也就是賺賠相抵後,一筆平均交易值多少。比值告訴你策略把虧損轉成獲利的效率;期望值告訴你每筆交易值多少錢;交易頻率告訴你多常能收到。三者缺一不可。

假設性範例

策略 A:總獲利 $17,000,總虧損 $10,000,100 筆交易。獲利因子 1.7,淨損益 $7,000,期望值每筆 $70。策略 B:總獲利 $170,000,總虧損 $100,000,2,000 筆交易。獲利因子 1.7,淨損益 $70,000,期望值每筆 $35。比值相同,每筆金額少一半,交易筆數卻是二十倍。哪個比較好,要看 2,000 筆交易的成本與滑價,是否讓這 $35 完整保留,下一節會談。

問題獲利因子期望值
內含什麼只有總獲利與總虧損淨損益與交易筆數
單位無;純比值每筆的金額
能反映部位大小嗎不能;口數加倍,它不變能;口數加倍,它也加倍
能反映交易頻率嗎不能不能;要自己乘以每年交易筆數
典型用途在大量候選策略間快速篩選比較每筆的優勢與每筆的成本
兩個獲利因子同為 1.7 的假設性策略:100 筆交易的策略 A 每筆賺 70 美元,兩千筆交易的策略 B 每筆賺 35 美元,因為比值不含規模,期望值才有 同為 1.7,每筆少一半 假設策略 A 與 B 策略 A 策略 B 交易筆數 100 2k 獲利因子 1.7 1.7 每筆 $70 $35 比值不含規模。 所以:每筆金額對照成本。
同樣的獲利因子,每筆金額不同:比值不含規模,期望值才有。

用這一對數字的實用做法:先以獲利因子篩選候選策略,因為在幾百次回測之間能迅速比較,再把存活者的期望值與一筆交易的一買一賣成本相比。期望值只比一買一賣成本高一點的策略,不論獲利因子怎麼說,都離歸零只差一次不利成交。

手續費與滑價如何改變獲利因子?

成本讓每筆獲利變小,同時讓每筆虧損變深,所以小額交易為數眾多的策略,獲利因子掉得最快;只在最後才加入成本的回測,會高估獲利因子。手續費是券商與交易所按每口收取的費用。滑價是回測假設的價格與真實委託單可能得到的價格之間的差。兩者都從每筆交易扣掉固定金額,而固定金額對一筆 $40 的交易,傷害遠大於對一筆 $4,000 的交易。

這個機制在除法的兩邊都起作用。總獲利縮小,因為每筆獲利都少了成本;總虧損變大,因為每筆虧損都多了成本;一些小額獲利變成虧損,從分數的上方移到下方。分子減少、分母增加的比值,掉得極快。

假設性範例

策略 C 每年約交易 50 次:成本前總獲利 $19,000,總虧損 $10,000,獲利因子 1.9,平均每筆損益 $180。每筆一買一賣成本 $30,30 筆獲利與 20 筆虧損各扣一次後,總獲利降到約 $18,100,總虧損升到約 $10,600,所以獲利因子約為 1.7。策略 D 每年約交易 2,000 次:成本前總獲利 $152,000,總虧損 $80,000,獲利因子 1.9,平均每筆損益 $36。同樣的一買一賣 $30,用在 1,200 筆獲利與 800 筆虧損,留下總獲利約 $116,000、總虧損約 $104,000,獲利因子約 1.1,還沒把變成虧損的小額獲利算進去。

同樣的 30 美元一買一賣成本,用在兩個假設性策略:每年 50 筆交易時,獲利因子從 1.9 降到 1.7;每年兩千筆交易時,從 1.9 降到 1.1 成本重擊大量小額交易 每年筆數,一買一賣 $30 50 筆 之前 1.9 之後 1.7 2k 筆 之前 1.9 之後 1.1 固定成本最傷小額交易。 所以:第一次就算進成本。
成本讓小額交易大量的策略損失的獲利因子,遠多於少量大額交易的策略。

由此得出三項設定。從第一次回測起就把手續費與滑價放進去,而不是排名之後才加,免得小額交易大量的候選策略因錯誤的原因浮到最上面;怎麼挑數字,見回測裡的手續費、滑價與平均每筆交易。把滑價加倍重跑一次,再讀獲利因子;從 1.6 掉到 1.1 的策略,原本就靠便宜的成交。並且用你實際交易市場的成本項目:台股現股當沖自有一套手續費與稅項,用期貨式成本算出的獲利因子,說明不了股票當沖規則。

獲利因子沒有告訴你什麼?

獲利因子不考慮交易順序、回撤、槓桿與持倉時間,所以獲利因子不差的策略,仍可能賠光有槓桿的期貨帳戶。它是一個總和除以另一個總和。把同樣的交易洗成任何順序,兩個總和都不會變,但帳戶從第一筆到最後一筆之間走的路徑,卻可能完全不同。

假設性範例

十筆交易:六筆獲利,分別為 +$4,000、+$3,000、+$3,000、+$3,000、+$2,000 與 +$2,000;四筆虧損,分別為 −$3,000、−$3,000、−$3,000 與 −$1,000。總獲利 $17,000,總虧損 $10,000,獲利因子 1.7,最終獲利 $7,000,順序怎麼排都一樣。把虧損分散在獲利之間,從高點起的最深下跌約 $3,000。若先放三筆 $3,000 的虧損,第一筆獲利還沒到,帳戶已經少了 $9,000。同樣十筆交易、同樣的獲利因子,回撤卻是三倍。

同樣十筆假設性交易的兩條權益曲線,獲利因子 1.7,最終獲利 七千 美元:虧損分散時,最深下跌 三千 美元;虧損集中在開頭時,為 九千 美元 同樣 PF,回撤 3 倍 同樣 10 筆交易,兩種順序 分散 回撤 $3k 集中 回撤 $9k 兩者的獲利因子都是 1.7。 所以:一定要看最大回撤。
同樣的交易換個順序,獲利因子相同,回撤卻大不相同。

四個盲點,以及各自該用什麼補上:

  • 交易順序。用最大回撤,並把交易明細洗牌許多次來補;免費的交易用蒙地卡羅模擬器能就貼上的交易損益清單做洗牌。Magdon-Ismail 與 Atiya(2004)指出,即使平均每筆損益不變,預期的最深下跌也會隨回測長度增加,所以獲利因子不錯的長期回測,仍然要讀它的回撤。
  • 回撤相對於帳戶規模。上面的 NQ 回測,獲利因子 1.703,一口的最大回撤 $116,305。帳戶撐不撐得過這段下跌,取決於帳戶,而不是比值;怎麼據以決定口數,見期貨槓桿下保證金對回測回撤的影響。
  • 槓桿。獲利因子在一口與十口時相同。追繳保證金卻不同。機制見保證金交易的槓桿、追繳保證金與回測風險。
  • 持倉時間。同一次回測有 95.08% 的時間持有部位,所以結果涵蓋了這段期間幾乎每一次跳空與隔夜行情。一條只有十分之一時間持有部位、獲利因子相同的規則,承擔的是另一種風險,占用資金的方式也不同。

搭配交易筆數一起讀、對照最大的幾筆獲利檢查、在成本後計算,並與最大回撤和口數並列,獲利因子才配得上報表第一個數字的位置。單獨看,它只是一個總和除以另一個總和,僅此而已。

下一步用你上一次回測的交易明細,花十分鐘就能做完:算出總獲利 ÷ 總虧損,拿掉最大的三筆獲利再算一次,然後把同一策略的滑價加倍重跑。如果兩次改動之後,數字仍高於你事先寫下的那條線,就通過了第一道篩選,可以進入樣本外檢驗。

常見問題

獲利因子怎麼計算?

把每筆獲利交易加總,得到總獲利。把每筆虧損交易以正數加總,得到總虧損。總獲利除以總虧損。獲利交易合計 $850、虧損交易合計 $500,獲利因子就是 1.7。用手續費與滑價之後的結果,因為成本前的值可能高出許多。

交易策略的獲利因子多少算好?

許多系統化交易人對有幾百筆交易的策略,接受成本後約 1.3 至 2.0。介於 1.0 與 1.3 之間的值偏薄,滑價小幅增加就可能抹掉。筆數多卻高於約 3.0 的值,多半是前視偏誤、漏算成本或同一根 K 棒成交的跡象,而不是優勢,所以先檢查回測設定。

交易筆數少時,獲利因子可靠嗎?

單看並不可靠。只有幾十筆交易時,一筆大額獲利就可能占總獲利的大半,拿掉它,獲利因子可能從 2.0 掉到接近 1.0。把交易明細排序,拿掉最大的三筆獲利再重算。結果撐得住,這個數字才值得繼續帶著走;撐不住,策略就需要更多筆交易才能判斷。

獲利因子與期望值有什麼差別?

獲利因子是總獲利除以總虧損,是沒有單位的比值。期望值是淨損益除以交易筆數,也就是一筆平均交易值多少錢。兩個策略的獲利因子可以同為 1.7,一個每筆賺 $70,另一個每筆賺 $35。把期望值與一筆交易的一買一賣成本相比;比值看不出成本之後還剩下什麼。

獲利因子高於 1,策略還是可能賠錢嗎?

可以,只要回測漏掉了手續費與滑價。成本讓每筆獲利縮小、每筆虧損加深,所以成本前 1.2 的獲利因子,成本後常常掉到 1.0 以下,尤其是一天交易好幾次的策略。一律讀成本後的值。

參考文獻

  • Pardo, R. (2008). The Evaluation and Optimization of Trading Strategies (2nd ed.). John Wiley & Sons.
  • Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.
  • Magdon-Ismail, M., & Atiya, A. F. (2004). Maximum Drawdown. Risk, 17(10), 99–102.