VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
策略學院 / 策略生成

量化交易策略:四大類型與各自的測試方法

多數量化交易策略屬於四大類型之一:趨勢跟隨、均值回歸、突破與動能。每一種都是電腦對每根 K 棒套用的固定規則。第一次執行前先寫好進場、出場、部位大小、商品、K 棒週期與成本,計算扣除成本後的已完成交易筆數,用沒碰過的資料評判固定下來的規則,並留意兩種常見失敗:過度最佳化與成本。

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

目錄
  1. 量化交易策略有哪些主要類型?
  2. 量化策略和一般技術分析有什麼不同?
  3. 如何把交易想法變成可測試的規則?
  4. 要有多少筆交易,結果才有意義?
  5. 如何回測量化策略並檢查樣本外表現?
  6. 量化策略通常在哪裡失敗?
  7. 常見問題
  8. 參考文獻

量化交易策略有哪些主要類型?

量化交易策略分成四大類型:趨勢跟隨、均值回歸、突破與動能。每一種都是由電腦對每根 K 棒套用的固定規則,規定何時進場、何時出場、持有多少。類型決定測試要先檢查什麼:獲利集中度、每筆成本、假突破或週轉率。

量化交易策略是一整套寫成文字的交易規則,電腦可以直接套用在歷史與即時價格上,中間不需要人為決定。量化交易策略與系統化交易策略是同一件事的兩種稱呼。以下四個類型涵蓋了多數散戶期貨交易者在跑的規則,而一種類型賺錢的方式,決定了它失敗的方式,所以每一種的測試起點都不同。

類型趨勢跟隨均值回歸突破動能
押注什麼價格沿目前方向繼續走價格回到平均價格離開區間後繼續走近期的贏家繼續贏
典型交易形態少數大賺、多數小賠多數小賺、少數大賠兩者混合與趨勢相近
典型持有時間數天至數週數小時至數天數小時至數天數週至數月
測試時先檢查什麼獲利集中度每筆成本假突破比率週轉率
四種量化策略類型與各自的第一項測試:趨勢跟隨靠少數大賺,所以要移除最大筆交易再測;均值回歸靠多數小賺,所以要測成本;突破押注價格離開區間,所以要測假突破;動能順著近期贏家,所以要測週轉率 每種類型要各自的測試 賺錢的方式決定檢查什麼 趨勢跟隨 少數大賺 測:最大筆交易 均值回歸 多數小賺 測:成本 突破 離開區間 測:假突破 動能 順著贏家 測:週轉率
四種類型押注不同的價格行為,所以交易統計與第一項測試也不同。

趨勢跟隨與動能關係相近。在期貨中,動能通常指:一個市場自己過去數週或數月的報酬為正時做多、為負時放空;Moskowitz、Ooi 與 Pedersen(2012)在許多期貨市場研究這條規則,並稱之為時間序列動能。趨勢跟隨則對價格路徑的形狀反應,例如移動平均線或通道,通常交易較頻繁。均值回歸押注相反的方向:賣出強勢、買進弱勢,預期回到近期平均。突破交易是趨勢跟隨的進場端寫成單一事件:價格離開定義好的區間。這五種期貨演算法交易策略類型可對應到這幾個類型,S&P 500 期貨交易策略的規則類型則把它們放在同一個市場上呈現。

量化策略和一般技術分析有什麼不同?

量化策略使用的指標與看圖的人相同,但每個決定都寫成電腦對每根 K 棒套用的規則,所以結果可以計數、重複與測試;憑主觀看圖則做不到。技術分析是閱讀過去的價格與成交量(通常在圖表上),以決定下一步。差別不在工具。20 日移動平均線在兩個畫面上是同一條線。差別在於決定是否取決於看圖的那個人。

問題看圖判讀量化規則
誰決定進場?交易者,看著圖表寫好的條件,每根 K 棒檢查
出場在進場前就定義好了嗎?常常沒有一定有
能數出 10 年的交易筆數嗎?不能,每次判讀都不同能,電腦接受每個訊號
兩個人能得到相同結果嗎?少有能,只要資料與設定相同
能用從未見過的資料檢查嗎?只能往前實際交易能,用樣本外期間
同一張價格圖與同一條 20 日平均線並列兩次:左邊看圖的人猜一個進場,沒有出場,也無從計數;右邊寫好的規則標出每一個進出場,結果因此可以測試 只有規則能測試 同樣的價格,同樣的 20 日均線 看圖判讀 量化規則 這裡買? 無出場,無法計數 每筆交易都標出 只有規則能計數。 所以:每個決定寫成規則。
同一張圖、同一條均線。只有右邊的面板能回測,因為每個決定都是寫好的規則。

所以憑眼睛交易的圖形,沒有回測紀錄,量化規則有。看圖的人接了一些訊號、略過一些,理由難以寫下來,所以無法公平地計算漏掉的部分。電腦全部接受,包括不好的,這正是重點:不好的有多少,就是你需要的資訊。同樣的邏輯也適用於執行,程式交易的定義與成本有說明;電腦能測試的規則,電腦也能交易。

如何把交易想法變成可測試的規則?

在第一次執行前,把進場、出場、部位大小、商品、K 棒週期與成本都寫下,想法就可以測試,回測就沒有需要詮釋的空間。多數想法一開始是一句話,像是「在上升趨勢中買回檔」。回測無法用這句話執行,它需要依序固定六個決定:

  1. 用一句話寫出想法,並點名類型。「在上升趨勢中買回檔」是趨勢濾網內的均值回歸。點名類型,就知道先做哪個測試。
  2. 選擇商品與 K 棒週期。單一指數期貨的日 K 棒,每月有幾筆交易;5 分鐘 K 棒,每天有幾筆。K 棒週期決定交易筆數與成本負擔;扣除成本後檢驗當沖策略顯示日內選擇改變多少。
  3. 寫出進場規則與參數範圍。「收盤高於 20 日平均線,且持續 2 根 K 棒」是規則。「回看長度 10 到 50」是搜尋可以嘗試的範圍。參數越少,自欺的方式越少。
  4. 寫出出場規則。出場是結束交易的條件:反向訊號、停損、停利或時間限制。沒有出場,策略就不完整。
  5. 固定部位大小與成本。一口,每筆有明確的手續費與明確的滑價。成本在第一次執行前放進去,不是之後。
  6. 寫下通過或不通過的門檻。例如:至少 200 筆交易,扣除成本後的平均每筆損益高於來回成本的三倍,任一單季的獲利不得多於總獲利的三分之一。在第一次執行前寫好,讓結果無法移動標準。
六個決定依序把交易想法變成可測試的規則:一句話寫出想法、商品與 K 棒週期、進場規則、出場規則、部位大小與成本、通過或不通過的門檻,全部在第一次執行前寫好 六個決定,執行之前 從想法到可測試的規則 1 2 3 4 5 6 一句話想法 商品、K 棒週期 進場規則 出場規則 部位與成本 通過門檻 六項都在第一次執行前寫好。 所以:結果無法移動標準。
六個決定把一句話變成策略。最後一個在第一次回測執行前寫好。

最後有個實用檢查:把寫好的規則交給別人,問他是否能在不問你任何問題的情況下,在圖上標出每一筆交易。如果他需要問,規則就還沒寫完。

要有多少筆交易,結果才有意義?

用扣除成本後已完成的交易筆數來判斷結果,而不是用年數或淨損益;只有幾十筆交易的結果只是線索,需要更多證據,不是結論。原因在於平均值的行為。35 筆交易算出的平均,只要三筆交易改變,就可能大幅移動。幾百筆交易算出的平均幾乎不動。這裡只需要一條公式:

平均每筆損益的不確定度 = 單筆交易的離散程度 ÷ √N

單筆交易的離散程度是一筆交易的結果通常偏離平均多遠(標準差)。N 是已完成的交易筆數,√N 是它的平方根。因為平方根成長得慢,要把不確定度減半,需要四倍的交易筆數。

假設性範例

假設某條日 K 棒指數期貨規則的單筆交易,通常偏離平均約 $4,000。35 筆交易時,平均的不確定度約為 $4,000 ÷ 5.9 ≈ $680。100 筆交易時約 $400,400 筆交易時約 $200,一千筆交易時約 $130。$500 的平均每筆損益,在 35 筆交易時完全落在雜訊之內,在 400 筆交易時則遠在雜訊之外。

單筆交易相差約四千美元的假設性範例:平均每筆損益的不確定度約 680 美元(35 筆交易)、400 美元(100 筆)、200 美元(400 筆)、130 美元(一千筆),所以交易筆數乘以四,不確定度減半 筆數越多,雜訊越少 假設:單筆交易差異大 35 筆交易 ±$680 100 筆交易 ±$400 400 筆交易 ±$200 一千筆交易 ±$130 筆數 4 倍,雜訊減半。 所以:先數交易筆數,再看獲利。
平均每筆損益的不確定度,隨交易筆數的平方根下降。只有幾十筆交易時,不確定度仍然寬闊。

一個真實的回測說明這件事為何重要。以下回測由 AlphaPrime(Valynox)在 2019-01-02 至 2025-06-30 的 NQ 日 K 棒上執行,多空皆做,一口。它只以標準差通道規則作為進出場,這是用標準指標組成的替身,用來說明交易筆數的問題,並不是對四種類型中任何一種的測試。呈現的候選策略,是搜尋在嘗試的 1,024 個中留下的那一個,依報酬對回撤比挑選。

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

數字結果
淨損益(已平倉交易)$116,360
最大回撤$110,535
交易筆數35
勝率54.29%
獲利因子1.487
平均每筆損益$3,324.57
在市場中的時間95.01%
把交易筆數與淨損益、最大回撤放在一起看。只有 35 筆交易時,限制能下什麼結論的是筆數,不是獲利。
把交易筆數與淨損益、最大回撤放在一起看。只有 35 筆交易時,限制能下什麼結論的是筆數,不是獲利。 NQ · 日線 · 2019-01-02 至 2025-06-30 · CPU 引擎回測

這個方框有三件事要讀。第一,六年半裡 35 筆交易:$3,324.57 的平均每筆損益落在寬廣的不確定帶之內,所以接下來的 35 筆可能看起來截然不同。第二,最大回撤 $110,535 幾乎與淨損益 $116,360 一樣大,這是幾乎一直持有部位(在市場中的時間 95.01%)、經歷 2020 與 2022 年波動的部位的形狀。第三,這個結果是 1,024 個候選策略中最好的,事後挑出,而這樣的挑選讓它看起來更好;規則並沒有以讀者可以期待重複的任何意義賺到這筆錢。方框確實說明了報表該怎麼讀:先看交易筆數,再看平均每筆損益對照成本,最後才看獲利。

如何回測量化策略並檢查樣本外表現?

從第一次執行就帶入手續費、滑價與下一根 K 棒成交,再用搜尋從未碰過的資料評判固定下來的規則,通過或不通過的標準要在看結果前寫好。量化策略回測,是把寫好的規則在過去價格上重播,並計入每一項成本。它有三個部分,必須保持分開。

  1. 用真實的交易摩擦回測。每筆交易的手續費與滑價,與結果使用相同幣別,成交在訊號後的下一根 K 棒。規則在收盤決定、又在同一個收盤價成交,用的是它無法成交的價格。
  2. 只在歷史較早的一段上搜尋。樣本內資料是用來挑選規則與設定的部分。樣本外資料是留下來、在規則固定後只跑一次的部分。常見的時間切分是 70:30 到 80:20;樣本內與樣本外資料的切分說明切分日期與樣本外要多少才夠。
  3. 用上面第 6 步的門檻評判樣本外結果。通過或不通過。因為樣本外曲線看起來偏弱就修改設定,會把那段資料變成樣本內資料,評判也就失效。
沿著權益曲線進入標示出的樣本外區段,把它的斜率與回撤,和之前的部分比較。固定下來的規則只用那一段來評判。
沿著權益曲線進入標示出的樣本外區段,把它的斜率與回撤,和之前的部分比較。固定下來的規則只用那一段來評判。 NQ · 日線 · 2019-01-02 至 2025-06-30 · CPU 引擎回測

好結果的樣子:樣本外斜率比樣本內平緩,但仍為正,回撤大小相近,多數季度都有貢獻。壞結果的樣子:曲線在切分日走平或轉下,或一個月占了大部分獲利。出現一些下滑是正常的,因為樣本內結果是多次嘗試中最好的,帶著新資料沒有的加成。AlphaPrime 的策略檢驗讓你在搜尋前一次設定這些門檻,候選策略一旦未通過其中一項,就停止後續檢查,因此樣本外資料被較少的候選策略看過,更接近未被碰過的狀態。

量化策略通常在哪裡失敗?

兩個常見的失敗點,是把眾多變體中最好的那個留下來並當成實力,以及平均每筆損益小到撐不過真實成本;只要去找,兩者在任何實單交易前都看得到。過度最佳化,是把策略調到太貼合某一段歷史,使它描述的是那一段的雜訊,而不是可重複的模式。它不需要大量參數,只需要大量嘗試,加上留下一個贏家。

想像一千個人各擲十次硬幣。總會有人擲出九次正面。如果你接著聘請這個人當硬幣專家,下一個十次會讓你失望。在 1,024 個候選策略上搜尋也是同樣道理:留下的那一個一部分是真實模式,一部分是運氣最好的一次,而樣本內的數字無法告訴你比例。Bailey、Borwein、López de Prado 與 Zhu(2014)指出,隨著嘗試次數增加,最佳回測的預期樣本外結果會下降,他們後來的論文(2017)提供了估計留下的候選策略有多大可能過度最佳化的方法。Harvey 與 Liu(2015)得到相同結論,並建議依結果背後的測試次數來打折。這些研究整理在最漂亮的回測為何通常被高估。

一千多個候選結果由低到高分布的示意:留下的那個候選策略位於高端,因為它是事後挑出的,新資料通常落得更低 最好的一次有部分是運氣 示意:許多次嘗試,依結果排列 新資料 被挑中 低 高 它因為最好而被挑中。 所以:用沒碰過的資料評判。
留下的候選策略位於分布的右端,因為它就是因為在那裡才被挑中。新資料通常落得更低。

第二種失敗比較隱微。毛平均每筆損益只有幾個跳動點的策略,因為交易頻繁,扣成本前看起來平滑,也因為同樣的原因在扣成本後虧損。檢查只要一次除法:扣除成本後的平均每筆損益除以一買一賣(來回)成本。許多系統化交易者的經驗法則是,毛平均每筆損益要是來回成本的數倍,這樣滑價小幅上升時,優勢才不會被抹去。如何設定手續費與滑價,以及為何高頻候選策略最先失敗,見回測裡的交易成本。均值回歸類型在這點上最容易受傷,因為它每筆的獲利天生就小。

三項檢查可以在任何實單交易前,抓出多數這兩種失敗:

  1. 相鄰設定。如果 20 根 K 棒的回看長度表現好,而 18 與 22 表現不佳,那 20 就是雜訊。
  2. 移除最大的幾筆交易。拿掉五筆最大的獲利。趨勢規則會縮水,但不該變成負值。
  3. 滑價加倍。用兩倍滑價重跑。失敗的規則原本就靠便宜的成交。

實際的下一步:選一個你已經憑眼睛交易的想法,寫出第三節的六個決定,包括通過或不通過的門檻,在單一市場的日 K 棒上計入成本執行,先數已完成的交易筆數,再讀獲利那一行。如果筆數少於一百,第一件事是更多資料,不是更好的規則。

常見問題

什麼是量化交易策略?

量化交易策略是一整套寫成文字的交易規則,由電腦套用在價格上,中間不需要人為決定。多數屬於四大類型之一:趨勢跟隨、均值回歸、突破與動能。因為每個決定都是規則,策略可以在過去價格上回測、逐筆計數,並用它從未見過的資料檢查。

趨勢跟隨與動能有什麼差別?

兩者都押注走過的方向會繼續走。期貨中的動能通常指:一個市場自己過去數週或數月的報酬為正時做多、為負時放空,持有時間為數週至數月。趨勢跟隨則對價格路徑的形狀反應,例如移動平均線交叉或通道突破,通常交易較頻繁、持有較短。兩者的大部分獲利都來自少數幾筆大交易,所以都應該移除最大的獲利交易來測試。

35 筆交易足以評判量化策略嗎?

不夠。平均每筆損益的不確定度隨交易筆數的平方根縮小,所以 35 筆交易讓平均值仍寬廣未定,接下來的 35 筆可能看起來截然不同。少於約一百筆交易的結果,視為蒐集更多資料的理由:更長的歷史、更小的 K 棒週期或推進分析的設計。許多系統化交易者要先有數百筆樣本外交易,才會相信每筆數字。

測試量化交易策略需要會寫程式嗎?

不一定。規則必須精確到電腦能對每根 K 棒套用,但有好幾種軟體無需撰寫程式即可接受規則,策略生成軟體也能把帶有參數範圍的想法變成候選策略並測試。無法省略的是書寫的部分:進場、出場、部位大小、商品、K 棒週期、成本,以及第一次執行前定好的通過或不通過門檻。

為什麼通過回測的量化策略,實單交易仍然失敗?

兩個常見原因,只要去找,回測裡都看得到。第一,這個策略是眾多變體中最好的,而眾多中的最好帶有挑選的加成,新資料不會重複。第二,扣除成本後的平均每筆損益太小,撐不過比回測假設稍差的成交。實單交易前檢查相鄰設定、移除最大的幾筆交易、把滑價加倍,能抓出多數這兩種情況。

參考文獻

  • 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.
  • Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2017). The Probability of Backtest Overfitting. Journal of Computational Finance, 20(4), 39–69.
  • Harvey, C. R., & Liu, Y. (2015). Backtesting. The Journal of Portfolio Management, 42(1), 13–28.
  • Moskowitz, T. J., Ooi, Y. H., & Pedersen, L. H. (2012). Time Series Momentum. Journal of Financial Economics, 104(2), 228–250.