機器人交易 · 回測 · 2026 年 7 月更新

回測手續費:交易成本如何吃掉你的策略報酬

幾乎每個量化交易者都經歷過:回測畫出一條漂亮的淨值曲線,上了實盤卻悄悄流血。策略沒壞——成本一直都在,只是回測沒跟你收。手續費與滑點會從每一個來回裡被扣掉,所以在高換手的策略上,它們會複製、放大成你損益表裡最大的一條。這篇拆給你看:一個沒算手續費的回測到底怎麼騙人、哪類策略最先崩、以及三個把紙上與實盤差距補回來的槓桿。

先講結論

回測量的是「毛邊際」,實盤量的是「毛邊際 減去 成本」。三個事實解釋整個「報酬消失」的問題:

  1. 成本是逐筆的,不是逐年的。每個來回都在兩條腿上付手續費、再加滑點。你交易越多次,這個減法就發生越多次。
  2. 差距 = 少估的成本 × 換手率。如果回測收 0%、現實收每來回 0.13%,而你一年做 3,000 個來回,紙上曲線就被灌水約成交名目金額的 390%。
  3. 重點是「每筆淨邊際」,不是年化報酬。一個每筆毛利 0.15%、成本 0.13% 的策略只留下 0.02%——它離虧損只差一個爛費率假設。

解法不是更聰明的訊號,而是誠實地估成本,然後攻擊裡面最大、最可控的一塊:交易手續費。

為什麼「零手續費回測」會騙人

回測引擎——freqtrade、Backtrader、VectorBT 或你自己的 notebook——預設就是照你給的費率跑。留成 0、或貼一個過度樂觀的掛單費,每一筆模擬成交都會留下真實交易所會拿走的錢。在低頻策略上這個錯誤看不出來,因為大的每筆毛利把它吞掉了;在高頻策略上卻是致命的,因為那個微小的逐筆誤差被重複上千次,複製進了淨值曲線。

白話說:回測沒有發現 alpha,它發現的是你的手續費假設。改一下費率輸入,「alpha」就跟著變。這就是破綻——如果你把費率從 0% 調到真實有效費率、夏普就崩,那份報酬從來就不是真的。

唯一決定成敗的數字:每筆淨邊際

一切都收斂成一行:

每筆淨邊際 = 毛邊際 −(腿 1 手續費 + 腿 2 手續費)− 滑點

假設一個合約策略,在乾淨回測裡秀出每來回 0.15% 毛邊際。用 USDT 本位合約標準檔的真實成本估:

  • 進場(吃單)= 0.05%
  • 出場(吃單)= 0.05%
  • 滑點(小單、深盤)= 0.03%
  • 總成本 = 每來回 0.13%

淨邊際 = 0.15% − 0.13% = 每筆 0.02%。成本吃掉了毛邊際的 87%。一個什麼都不收的回測給你看那 0.15%,實盤付你的是 0.02%。整個「報酬憑空消失」的謎團,就在這一條減法裡。

差距如何隨換手率複製放大

現在乘上交易筆數。假設同一策略一年做 3,000 個來回(一天約 12 次):

情境每筆留下年度加總(成交名目金額)你會下的結論
回測,0% 手續費0.15%≈ 450%「立刻上線」
實盤,標準費率 + 滑點0.02%≈ 60%「勉強做得下去」
實盤,手續費上返 40%0.06%≈ 180%「是真的能賺」

(數字是成交名目金額的示意、非複利帳戶報酬,也未計槓桿/資金費率——重點是各列之間的比例,不是絕對值。)零手續費回測把策略高估了約 7 倍。同一策略誠實計成本後只剩臨界;同一策略再把砍不掉的手續費返一部分回來,就回到能賺錢的區間——而且完全沒動訊號。

補回差距的三個槓桿

當你的回測收了真實成本、策略還有正的淨邊際,就從三個方向去壓成本基數:

  1. 誠實地——甚至悲觀地——估成本。兩條腿都用真實有效費率、依下單量加滑點、絕不假設 100% 掛單成交。能在比現實更差的成本假設下存活的策略,才是唯一能安心上實盤的。有效費率怎麼算,見我們的降低交易手續費 7 招
  2. 能掛單的地方就掛單。把一條腿從吃單(0.05%)換成掛單(0.02%,某些場內甚至是負費率返傭)直接壓低損益兩平。網格機器人天生每一格都是掛單,所以網格機器人手續費優化特別吃這個槓桿。
  3. 把砍不掉的手續費返回來。快策略非吃不可的吃單腿,返傭退回最高 40%、每週以 USDT 結算,直接降低你每筆有效成本、抬高之後每一筆的淨邊際。這是唯一不用改任何程式碼、也不帶策略風險的槓桿——機制見幣安返傭OKX 返傭頁。

一個誠實的但書:返傭只降交易手續費,砍不到資金費率——那是多空之間的另一筆轉移,若你的策略持有合約,資金費率要另外估。它也造不出本來不存在的優勢。它做的,是不讓一個真實的優勢被成本抽稅抽到死。台港交易者的實戰版,見台灣人怎麼開海外交易所做合約/網格

哪類策略最先崩

手續費敏感度 = 每筆邊際 ÷ 每筆成本。這個比值越低,錯的費率假設就越會翻轉你的結論:

策略每筆邊際換手率手續費敏感度
剝頭皮/做市極小極高極端——手續費常是損益最大一條
套利極小(基點級)極端——每條腿都要付
高頻網格/定投高——大量小額再平衡
波段/趨勢(持有數天)低——成本是零頭

如果你跑的是前三列任何一種,手續費假設就不是回測裡的註腳,而是整個模型最重要的輸入。自架機器人的人,可以照自架機器人 API 綁定返傭教學把弄崩你回測的那個數字降下來;想比較交易所費率,見幣安 vs OKX 手續費 2026

相信一份回測前的檢查清單

  • 費率輸入 = 兩條腿的真實有效費率,不是掛牌掛單費。
  • 滑點依你的下單量與幣對深度模擬——不是 0。
  • 掛單成交假設合理(有些限價單不會被打到),不是 100%。
  • 持有合約就另外估資金費率。
  • 淨邊際能在悲觀成本假設下存活,還要有餘裕。
  • 放大部位前,先知道返傭能把淨邊際抬多少。

常見問題

為什麼我的回測報酬到實盤就消失了?+
最常見的原因是回測沒算手續費與滑點,或用了不切實際的低費率。你的每筆毛利是固定的,但每個來回都要在兩條腿上付手續費、再加滑點——這些成本一直都在,只是回測沒跟你收。當模型收的成本比真實成本低,紙上淨值曲線就被灌水,灌的正好是那個差額,再乘上你的交易筆數。高換手策略感受最深,因為那個微小的逐筆差額被重複了上千次。
回測裡手續費該抓多少?+
用你真實的有效費率,不是掛牌的掛單費。如果策略是吃單,兩條腿都要模擬吃單費——現貨標準檔一個來回大約 0.10%,USDT 本位合約也約 0.10%(每邊吃單 0.05%)。再依你的下單量與該幣對深度加上合理滑點。若你掛限價單,只能對「真的會掛住並成交」的那部分算掛單費——假設 100% 掛單成交是最經典的自我欺騙。拿不準時,把成本抓得比現實略差;能在悲觀成本假設下還活著的策略,才是唯一值得上實盤的。
滑點比手續費更重要嗎?+
看下單量與流動性。手續費是固定且可知的——每筆成交固定百分比。滑點則隨你推動盤口的程度放大,所以大單打薄幣對時滑點可能遠大於手續費,而小單打 BTC、ETH 這種深盤時則是手續費主導。兩者都是你每筆全含成本的一部分,都必須進回測。差別在於:手續費可以靠 VIP 等級與返傭往下談,滑點則靠下單量控制、被動掛單與場內流動性去管理。
如果策略扣完成本只剩微利,返傭救得回來嗎?+
通常可以——因為返傭直接作用在最大的可控成本上。返傭把你付掉的手續費退回一個比例,等於降低每筆有效成本、抬高淨邊際,而完全不動訊號。在一個淨邊際只剩手續費零頭的臨界策略上,拿回最高 40% 的手續費,可能讓真正進到淨值的東西翻好幾倍。它救不了本來就沒有真實優勢的策略,也砍不到資金費率(只砍交易手續費那一塊),但對一個被成本拖死的真策略來說,這是最便宜的解方。
哪類策略對手續費假設最敏感?+
每筆毛利小、換手率高的那些:剝頭皮、做市、套利、高頻網格,以及頻繁再平衡的定投機器人。對這些策略,手續費常常是損益表裡最大的一條,所以回測裡一個錯的費率假設,就能把結論從「賺錢」翻成「虧錢」。持有數天的低頻高勝率策略則遠沒那麼敏感,因為每筆毛利相對一次性成本很大。如果你的策略一天把資金翻好幾次,就把手續費假設當成整個回測裡最重要的輸入。

把弄崩你回測的那個成本降下來

拿回最高 40% 的交易手續費——每週以 USDT 結算、可完整對帳,不用改策略也不用改程式碼。在高換手的策略上,這常常就是臨界與獲利之間的差別。

免責聲明:費率表與返傭比例為撰文當下的公告值,可能隨時調整而不另行通知。範例為成交名目金額之示意、非帳戶報酬預測;你的實際結果取決於場內、商品、掛單/吃單比例、VIP 等級、滑點與資金費率。本文為教育性質,非投資建議。JackTrader 為獨立推薦/子經紀合作夥伴,與幣安、OKX 均無官方隸屬關係。僅單層推薦,無下線或多層架構。