2026年十月2日 · 研究

手續費級距變了,你的優勢就消失了。是策略失靈,還是帳戶出了變化?

手續費級距變了,你的優勢就消失了。是策略失靈,還是帳戶出了變化?

你剛重新回測 BTC 永續合約策略,淨 Sharpe 卻下滑了三分之一。訊號完全相同,成交也完全相同。你只改了一件事:現在的手續費方案會依帳戶過去 30 天的成交量計算,而測試一開始,帳戶尚未達到你在實盤時取得的級距。

在重寫訊號之前,先把 2 個問題分開:如果手續費固定不變,這個策略會付多少費用?而這個帳戶在每個時間點實際適用的費率又是多少?這是 2 種不同的實驗。把它們混在一起,可能會讓策略看起來更好,因為它的交易量足以取得折扣,接著又把這項折扣當成理所當然的免費優惠。

先看手續費方案,不要只看單一費率

多數交易所的手續費頁面都會列出表格:依成交量級距區分 maker 與 taker 費率,有時現貨和衍生品也各有不同規則。回測需要用到實際適用的費率表,以及決定級距的規則。成交量是以 30 天為區間計算嗎?還是按曆月計算?交易所會把現貨和期貨成交量合併計算嗎?代幣餘額折扣能否與成交量級距優惠併用?

把這些規則記錄為附有日期的輸入條件。以下用簡化範例說明:假設某交易平台依據前 30 天的期貨成交量,決定隔天的費率:

過去 30 天成交量Maker 手續費Taker 手續費
低於 $1 million0.020%0.050%
$1 million 至 $10 million0.016%0.040%
高於 $10 million0.012%0.035%

以上數字僅供示意;交易所的費率表與適用資格規則都可能變動。關鍵在於生效時間:昨天的成交可能影響明天的費率,但今天的成交不能追溯適用今天的折扣。

回測帳戶需要成交量紀錄

假設你的策略每天週轉 $80,000,且全部以 taker 成交。在入門級距,$100,000 的完整來回交易成本約為 $50:進場與出場的名目成交金額合計 $100,000,再乘以 0.050%。在中間級距則是 $40。這 $10 的差距看似不大,但如果你來回交易 800 次,測試期間就會相差 $8,000,而手續費級距可能正是因為這些交易提供的成交量而改變。

這種回饋確實存在,但也會造成建模陷阱。如果你因為策略在回測結束時達到中間級距,就讓回測一開始也套用中間級距,等於把帳戶未來的交易活動洩漏到過去。先設定明確的初始歷史成交量,每筆符合資格的成交後更新移動區間,並且只在交易所規則指定的時間套用級距變更。

請分開追蹤 3 項數值:策略的名目交易金額、可計入級距計算的帳戶成交量,以及每筆成交實際收取的手續費。如果交易所排除某些產品、只計算特定交易的單邊成交量,或依據你尚未納入模型的餘額提供折扣,這 3 項數值就可能不同。

固定費率測試與帳戶費率測試都要跑

你需要 2 組結果。首先,使用單一且偏保守的固定 taker 費率,重新回測整個策略。這能讓你了解策略對執行成本有多敏感,而不會讓策略自身的週轉量改變評估標準。其次,使用帳戶適用的費率方案,並記錄開倉餘額與成交量歷史。這能估算特定帳戶在既定規則下可能走過的費率路徑。

接著比較手續費總額、週轉量、扣除費用後的 P&L,以及回撤。如果只有帳戶費率測試的結果改善,就要追問:其中有多少來自合理可能發生的級距變動?又有多少取決於初始歷史紀錄、跨產品成交量,或帳戶可能不符合資格的折扣?如果 2 組測試都失去策略優勢,問題大概不在手續費級距。

也別讓 maker 成交套用最優惠費率,卻在成交模型裡暗自假設每張被動掛單都會成交。手續費方案可以設定得精確,但成交假設仍可能脫離現實。這 2 項檢查要分開進行。

讓結果可以重現

將費率表版本、級距回溯期間、重設時間、符合資格的產品,以及初始成交量一併存入回測紀錄。再附上一份簡要的每日帳本:當日開始時的移動區間成交量、新增成交量、適用級距,以及實際收取的手續費。交易所調整費率後,如果回測結果改變,你就能判斷是策略、帳戶路徑,還是假設條件發生變化。

你要回答的是一個具體而實用的問題:在一套說得清楚的手續費方案與帳戶歷史下,這個策略實際付了多少費用?如果你無法還原特定日期適用的級距,就還不能確定回測的淨結果代表什麼。

研究
← 所有文章