出場規則設計:4 種出場類型與樣本外檢驗方法
出場規則設計,就是挑出少數幾條用來結束一筆交易的規則:停損、停利、移動式出場,以及時間或交易時段出場。當每條規則都有市場依據、鄰近的設定表現相近,而且扣除成本後的平均每筆損益在樣本外仍維持正負號,這組出場就算穩健。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
目錄
什麼是出場規則設計?怎樣的出場組合才算穩健?
出場規則設計,就是挑出少數幾條用來結束一筆交易的規則:停損、停利、移動式出場,以及時間或交易時段出場。當每條規則都有市場依據、鄰近的設定得到差不多的結果,而且扣除成本後的平均每筆損益在樣本外資料上維持正負號,這組出場就算穩健。
出場組合,是一個策略一起使用的那一小組出場規則。以出門旅行為例:進場決定你什麼時候離開家,但每趟旅行都以返回收尾,所以出場影響每一筆交易。這就是為什麼出場改變結果的速度可以比進場更快,也是它值得有獨立設計步驟、而不是直接套用範本設定的原因。停損通常是交易人寫下的第一條出場規則,要選固定跳動點、波動率距離、時間上限還是移動規則,期貨策略的停損:固定跳動點、ATR、時間或移動停損有完整的討論。
三項檢查可以分辨穩健的出場與僥倖的出場:
- 有市場依據。出場距離或時間,連結到市場顯示的某樣東西:波動率、交易時段時鐘,或像波段低點這樣的價格結構。只是「測試結果最好的那個數字」的距離,沒有依據。
- 鄰近區域平坦。所選數值上下各約 10% 的設定,得到相近的結果。若 2.2 ATR 有效,而 2.0 與 2.4 無效,這個出場描述的是雜訊。
- 樣本外撐得住。出場固定下來之後,扣除成本後的平均每筆損益在切分日之後仍維持正負號。
出場規則有哪些類型?各自的功用是什麼?
出場有四種類型,各司一職:停損限制虧損,停利收下一段行情,移動式出場跟著趨勢走,時間或交易時段出場把不再動的交易清掉。一個策略每項職責最多需要一條規則,許多好策略只用兩項或三項職責,不是四項。
停損是價格逆向變動達到設定距離時平倉的出場。停利是價格順向變動達到設定距離時平倉的出場。移動式出場是出場位置隨著交易獲利而跟著價格移動的出場,所以能鎖住一段行情的一部分,同時讓行情繼續。時間或交易時段出場是在設定的 K 棒數之後,或交易時段結束之前,不論價格如何都平倉的出場。每一種防範的是不同的失敗。
| 出場類型 | 職責 | 防範的失敗 | 設定依據 |
|---|---|---|---|
| 停損 | 限制單筆交易的虧損 | 一筆交易吃掉許多筆獲利 | 波動率(ATR)或價格結構 |
| 停利 | 收下典型幅度的行情 | 回吐幾乎不再擴大的獲利 | 交易明細中典型的有利變動 |
| 移動式出場 | 留在一段行情裡,轉向時離場 | 提早砍掉成就全年的少數長行情 | 波動率,或像均線這類的訊號反轉 |
| 時間或交易時段出場 | 清掉不再動的交易 | 不動的交易占用保證金,或隔夜跳空 | 交易時段時鐘或 K 棒數 |
兩個出場可能做同一件事,出場組合就是這樣變得臃腫。固定停利與移動式出場都在收下獲利;停損與時間出場也可能結束同一筆虧損交易。每項真正需要的職責,只挑一條規則。以日內交易策略為例,通常依靠交易時段出場與停損,略過移動式出場,因為交易太短,行情來不及發展;強制日內部位平倉的交易時段規則,以現貨市場為例,在台股現股當沖:規則、成本與回測有說明。
移動式出場或固定停利,該用哪一個?
移動式出場適合獲利來自少數幾次長行情的策略;固定停利適合獲利來自許多幅度相近行情的策略。你自己的交易明細會告訴你屬於哪一種,方法是看最大有利偏移的分布。
最大有利偏移(MFE)是一筆交易在平倉前達到過的最大未平倉獲利。想像搭公車與跟著朋友走的差別。固定停利像公車站:你事先決定在哪一站下車。移動式出場像跟著朋友走:只要他一直往你的方向走,你就留著,他折返時才離開。如果朋友通常走一個街區就停,原地等待沒有意義;如果他有時會走過整個城市,公車站會讓你錯過那趟路。怎麼讀 MFE 明細並轉成停利距離,見最大有利偏移:如何用 MFE 設定停利目標。
| 問題 | 移動式出場 | 固定停利 |
|---|---|---|
| MFE 直方圖的形狀 | 右側長尾:少數交易跑得遠 | 窄峰:多數交易達到相近的距離 |
| 獲利從哪裡來 | 少數幾筆大贏家 | 許多幅度相近的贏家 |
| 勝率 | 較低,小額虧損與獲利回吐較多 | 較高,每筆贏家都有上限 |
| 需要的市場條件 | 趨勢段 | 盤整或震盪段 |
| 典型用途 | 日 K 棒或小時 K 棒的趨勢跟隨 | 均值回歸與短線日內交易 |
假設性範例
案例一:100 筆交易,其中 80 筆的未平倉獲利峰值約 12 點,20 筆跑到約 80 點。10 點的固定停利,100 筆都會觸及,共收下 1,000 點。從峰值回吐約 8 點的移動式出場,在 80 筆短交易上每筆收下約 4 點(320),在 20 筆長行情上每筆收下約 72 點(1,440),合計約 1,760 點。是長尾替移動式出場付了錢。
案例二:100 筆交易,95 筆峰值約 12 點,只有 5 筆達到 30。10 點的固定停利仍然收下 1,000 點。同樣的移動式出場,在 95 筆短交易上收下約 380 點,在 5 筆較長的交易上收下約 110 點,合計約 490 點。沒有長尾,固定停利勝出。
直方圖的形狀本身會隨市場狀況改變。在趨勢年度呈現長尾的策略,在盤整年度會呈現窄峰,因此有些交易人會用市場狀態濾網在兩種出場之間切換。這樣切換是否有幫助,是可以檢驗的問題,市場狀態偵測:3 種狀態與衡量、檢驗的方法說明如何先衡量市場狀態,再讓出場依它而定。
出場規則該不該最佳化?
出場規則應依 ATR 這類市場量設定,並在事先寫下的窄範圍內測試,再以平坦的高原而不是最佳的單一數值來判斷。出場決定每一筆交易的結果,所以自由最佳化出場,比自由最佳化進場更快出現過度最佳化。
ATR 平均真實區間是在選定的 K 棒數內,一根 K 棒完整價格區間的平均大小,也是最常拿來掛出場的市場量,因為在平靜市場裡一個 ATR 寬的停損,和在劇烈市場裡一個 ATR 寬的停損,以波動率來說是同一個停損。值得寫下的公式只有一條:
停損距離 = k × ATR(n)
這裡的 k 是倍數,例如 2 或 3,ATR(n) 是最近 n 根 K 棒的平均真實區間,停損就放在離進場價這麼多點的位置。經驗法則的設定,以及同一個 ATR 距離如何決定口數,見ATR 移動停損的規則、參數與期貨回測。這時最佳化要問的就不是「哪個 k 最好」,而是「k 在多大範圍內,結果大致維持不變」。
高原是一段相鄰設定都給出相近結果的範圍;尖峰是遠高於鄰近設定的單一設定。想像寬廣平頂的山丘與旗桿:站在山頂任何位置都差不多一樣高,離開旗桿一步就回到地面。Pardo(2008)把這當作最佳化的核心檢驗:從高原的中間挑,永遠不要挑尖峰的頂端。Bailey、Borwein、López de Prado 與 Zhu(2014)補上尖峰為何會存在的原因:在同一段資料上試的設定越多,最好的那一個光靠機率就看起來越高。
- 執行前先寫下範圍。停損可以是 1.5 到 3.5 ATR、間隔 0.25;時間出場則是少數幾個 K 棒數。之後不再試範圍以外的任何值。
- 把整個範圍在樣本內資料上跑完,畫出結果對設定值的圖。
- 只有出現高原才保留這個出場,並取高原中間的值,不取邊緣。
- 保持交易筆數誠實。由 30 筆交易堆出來的高原仍可能是雜訊;由數百筆堆出來的高原才算證據。
先寫下範圍,會把搜尋變成約束,而不是獵取,而搜尋工具應該替你守住這個約束。在 AlphaPrime(Valynox)裡,每個出場參數的允許範圍,會和進出場條件一起在策略生成輸入,所以跑出來的候選策略,不會帶有你事先沒有同意的出場數值。
如何在樣本外檢驗出場?
在樣本內期間結束時把出場組合固定下來,原封不動地跑在後面的資料上,並比較切分前後的兩個數字:扣除成本後的平均每筆損益,與在場時間。在場時間是策略持有部位的 K 棒占全部 K 棒的比例,也是出場最直接影響的數字,因為每個出場都決定一筆交易持有多久。
步驟的順序,比任何單一設定都重要:
- 寫下出場組合與每個參數的允許範圍。
- 只用樣本內資料擬合參數,像上一節那樣尋找高原。
- 固定這些設定,連同日期寫下來。
- 把策略原封不動地跑在樣本外資料上。
- 比較切分前後扣除成本後的平均每筆損益與在場時間。
清單上沒有的那一步,正是讓檢驗失效的那一步:因為樣本外曲線看起來偏弱,就回到第 1 步。出場一旦用後面的資料重新調整,那段資料就成了樣本內,下一次的樣本外結果也已經用掉了。
這兩個數字在真實執行裡長什麼樣子?下框是 AlphaPrime 在 NQ 日 K 棒上的一次回測,期間為 2019-01-02 到 2025-06-30,多空皆做、一口,每筆收 $20 手續費與 $10 滑價。它測試的是替代規則,不是設計過的出場組合:拋物線 SAR 指標 Parabolic SAR的翻轉同時作為唯一的進場與唯一的出場,不設停損、停利與濾網,所以它代表最簡單的訊號出場,而不是本文的主題。這次執行是搜尋嘗試的 1,024 個中保留下來的那一個候選策略,依報酬相對於回撤挑選;事後挑選保留下來的候選策略,會讓數字好看,框內沒有任何一項是預測。
來源:AlphaPrime 產品引擎(CPU),2026-10-31 執行。NQ 日線,2019-01-02 至 2025-06-30,多空都做,1 口,每筆手續費 $20、滑價 $10。
| 數字 | 結果 |
|---|---|
| 淨利(已平倉) | $174,335 |
| 最大回撤 | $128,220 |
| 交易筆數 | 53 |
| 勝率 | 69.81% |
| 獲利因子 | 1.673 |
| 平均每筆 | $3,289.34 |
| 在場時間 | 94.54% |
以出場設計者的角度讀它,而不是當成成績單。在場時間 94.54% 正是只用訊號出場會產生的結果:翻轉規則平掉一筆就開出反向一筆,所以策略幾乎從不空手。加上時間或交易時段出場,或加上停損,是降低這個比例的唯一辦法,而且每加一項,都會用一部分 $3,289.34 的平均每筆損益換取較低的曝險。六年半裡的 53 筆交易,也呼應樣本內與樣本外的規則提醒:日 K 棒上這麼慢的出場組合,需要更多筆交易,或採用推進分析的設計,切分前後的正負號變化才有分量。這條規則背後的出場停損與反轉概念,可回溯到 Wilder(1978),他同時提出了拋物線 SAR 指標,以及 ATR 出場所依據的真實區間。
如何公平地比較兩組出場?
只有進場、成本、測試期間與口數都完全相同,並且以多個每筆的數字而不是只看淨損益來讀,兩組出場的比較才公平。這四項改動任何一項,比較的就不再是出場。
只看淨損益會誤導,因為兩組賺到它所承擔的風險,往往不同。留在交易裡較久的移動式出場組合,在趨勢年度每筆賺得較多,但要熬過更大的虧損;停利加停損的組合每筆賺得較少,但大部分時間空手。用計分板同時讀兩組:
- 扣除成本後的平均每筆損益:付完手續費與滑價之後,一筆交易的價值。
- 在場時間:資金在這段期間有多少時間暴露在市場中。
- 最大單筆虧損:最糟的單一筆交易,由停損與交易時段出場控制。
- 各規則平倉的交易占比:一條規則若幾乎沒有平掉任何交易,就是多餘的負擔;若某條規則平掉幾乎所有交易,其他規則只是裝飾。
假設性範例
相同的進場、相同的成本、相同的兩年期間、一口。出場組合 A(停損、固定停利、交易時段出場):扣除成本後平均每筆損益 $85,在場時間 62%,最大單筆虧損 $1,200,交易有 35% 由停損平倉、50% 由停利平倉、15% 由交易時段出場平倉。出場組合 B(停損、移動式出場、交易時段出場):扣除成本後平均每筆損益 $95,在場時間 88%,最大單筆虧損 $2,900,交易有 20% 由停損平倉、60% 由移動式出場平倉、20% 由交易時段出場平倉。B 組每筆多賺一點,但代價是資金暴露在市場的時間多了三分之一,最糟的一筆也超過兩倍大。哪一組比較好,取決於你扛得起其中哪一種成本,而計分板能把這個取捨清楚呈現出來,淨損益做不到。
平倉占比那一列,是多數交易人略過的一列,卻是最便宜的診斷。範例中,A 組的交易時段出場只平掉 15% 的交易;若這個占比在樣本外資料掉到 2%,這條規則就是什麼都沒做,可以移除。Kaminski 與 Lo(2014)指出,停損規則是增加還是減少價值,取決於市場報酬隨時間的行為,這正是要在你自己的市場與自己的進場上做這項比較、而不是借用別的策略結論的正式理由。
部位大小會改變哪一組出場看起來最好嗎?
部位大小把同一份交易明細等比例放大或縮小,所以它改變淨損益與回撤,卻不動任何一個出場,這就是為什麼出場組合先以一口比較,之後才選部位大小。部位大小是決定每筆交易帶幾口的規則。
把交易明細想成一首歌,部位大小就是音量旋鈕。旋鈕轉大,大聲的段落更大聲,小聲的段落也依同樣比例更大聲;旋律從不改變。如果你用不同的大小比較兩組出場,比較的是音量,不是歌曲。出場組合以一口選定之後,特定帳戶與停損距離下的口數,就可從免費的期貨部位大小計算機得出。
第二個框顯示光是這個旋鈕,就能把數字推到多遠。它取上面那次執行的同樣 53 筆 NQ 交易、同樣的進場與同樣的拋物線 SAR 指標出場,以九種資金管理方法重新決定部位大小,起始資金 $100,000、上限 10 口,每種方法都用其報表預設值。各列之間沒有任何一個出場改變;所有差異都來自部位大小。
來源:AlphaPrime 產品引擎(CPU),2026-10-31 執行。與上表同一批交易,初始資金 $100,000,上限 10 口。
| 方法 | 淨損益 | 最大回撤 | 平均口數 |
|---|---|---|---|
| 固定口數 | $525,125 | $384,540 | 3 |
| 固定名目金額 | $484,975 | $269,630 | 2.49 |
| 權益百分比 | $1,026,820 | $1,281,660 | 5.77 |
| 固定美元風險 | $603,940 | $217,965 | 2.53 |
| 固定風險比例 | $1,153,025 | $1,281,660 | 6.45 |
| 波動率目標 | $603,940 | $217,965 | 2.53 |
| 固定比率 | $365,375 | $629,420 | 3.06 |
| 權益曲線交易 | $485,310 | $244,940 | 2.28 |
| 凱利 | $124,325 | $217,965 | 1.06 |
差距就是重點。在一口時,上面的執行顯示最大回撤 $128,220;在權益百分比的部位大小下,同樣的交易顯示最大回撤 $1,281,660,比該方法的淨損益 $1,026,820 還大,而凱利部位大小平均 1.06 口,回撤為 $217,965。出場規則在這幾列之間並沒有變好或變壞;動的只有乘數。若你拿兩組出場來比較,其中一組以權益百分比決定大小、另一組用固定口數,部位大小會在出場還來不及發言之前就決定勝負。這些數字也承襲第一個框的挑選美化:它們是 1,024 個中保留下來的候選策略重新決定大小的結果,不是任何人應該預期的結果。
下一步不大,用你自己的交易明細就能做:匯出目前策略的交易,依最大有利偏移排序,並畫出直方圖。它的形狀會告訴你,獲利存在於尾部還是峰值,這一張圖在任何最佳化開始之前,就能解決移動式出場還是停利的問題。
常見問題
出場規則有哪些類型?
四種類型涵蓋幾乎所有策略:限制單筆交易虧損的停損、收下典型幅度行情的停利、跟著一段行情走並在轉向時離開的移動式出場,以及把不再動、或否則會被留倉過夜的交易平掉的時間或交易時段出場。每種類型各做一件事。一個策略每項職責最多需要一條規則,許多策略只用四種中的兩種或三種。
我該用移動停損還是固定停利?
看你自己交易明細中最大有利偏移的分布,也就是每筆交易達到過的最大未平倉獲利。若少數幾筆交易跑得遠、多數提早停下,獲利就在那條長尾裡,移動式出場能留住它。若多數交易達到差不多的距離、少有再走更遠的,放在那個峰值附近的固定停利能收下更多。這個形狀可能在趨勢期與盤整期之間改變,所以要在不止一段資料上檢查。
出場規則該不該最佳化?
只能在執行前寫下的窄範圍內,而且只為了找高原,不是找單一最佳數值。依 ATR 這類市場量設定出場,測試少數幾個相鄰的倍數,只有鄰近設定得到相近結果時才保留這個出場。因為出場決定每一筆交易的結果,自由最佳化的出場,擬合雜訊的速度比自由最佳化的進場更快。
比較出場時,為什麼在場時間重要?
在場時間是策略持有部位的 K 棒占比,而出場正是推動它的因素。兩組淨損益相同的出場,曝險可能差距甚大:一組可能大部分時間空手就賺到結果,另一組則幾乎一直持有部位。曝險是不論交易有沒有成功都要承擔的風險,所以應該和扣除成本後的平均每筆損益一起放進計分板。
可以用不同的部位大小來比較出場組合嗎?
不能算公平。部位大小會乘上同一份交易明細,所以較大的大小會同時放大淨損益與回撤,卻沒有改變任何一個出場。比較出場組合時,要在一口、相同進場、成本與期間下進行,依每筆的數字選出出場組合,再把部位大小方法當成另一個獨立決定。
參考文獻
- Wilder, J. W. (1978). New Concepts in Technical Trading Systems. Trend Research.
- 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.
- Kaminski, K. M., & Lo, A. W. (2014). When Do Stop-Loss Rules Stop Losses? Journal of Financial Markets, 18, 234–254.

