2026年九月20日 · execution

模擬帳戶拒絕了回測成交的訂單:一封談交易所篩選規則的信

模擬帳戶拒絕了回測成交的訂單:一封談交易所篩選規則的信

你有一個小型加密貨幣期貨策略,會交易好幾種合約,而你剛把它從回測移到模擬交易。第一次再平衡時,策略要下單 0.037 BTC。你的模擬器接受了這筆訂單;交易場所卻因合約數量步進為 0.001,且訂單四捨五入後低於最低名目金額而拒絕。你的持倉維持空手,回測卻記錄了成交。

這種落差很容易被當成格式錯誤而忽略,但它也可能改變你持有的資產、再平衡的時機,以及訂單失敗後剩下的風險。把各交易場所的交易篩選規則納入策略的執行規則,並確保回測與模擬交易介接層以相同順序套用相同規則。

哪些交易所篩選規則可能讓訂單失效?

先確認訂單實際需要的商品資訊:數量增量、最低數量、最低名目金額、價格增量,以及任何訂單規模或價格區間限制。不同交易場所的名稱與適用範圍各不相同。現貨交易對的最低門檻可能與其永續合約不同;策略執行期間,篩選規則也可能改變。

假設某合約的目標持倉價值為 $12,最低訂單價值是 $10。如果數量步進使訂單向下取整至 $9.80,即使未取整的目標高於最低門檻,訂單仍然無效。向上取整至 $10.20 或許能讓訂單有效,但也會比目標多出 $0.20。帳戶規模小或策略交易多種商品時,這個差異可能影響不小。

規則限制內容對回測的影響
數量步進訂單規模可採用的增量取整後的規模與目標不同
最低數量或名目金額可接受的最小訂單部分交易會變成不執行,或需要向上取整
價格跳動單位限價與觸發價格可採用的增量價格取整會改變訂單成交的可能性
價格區間或規模上限交易場所對訂單欄位設定的界限市場波動劇烈或大幅再平衡時,訂單可能遭到拒絕

應該在哪個環節取整訂單欄位?

算出預期的持倉變動後、決定是否送出訂單前,再取整訂單欄位。分析時保留未取整的目標,再根據目前持倉、合約乘數和交易場所的增量,推導出可執行的訂單。若賣出數量步進為 0.001,預計減持 0.0017 時,依照你明訂的規則,訂單會變成 0.001 或 0.002。這兩種選擇留下的剩餘持倉不同,因此「按精度取整」並不是完整的政策。

數量朝 0 的方向無條件捨去,可避免曝險意外超過預期變動,但可能留下永遠不會交易的零星持倉。四捨五入到最接近的數值,平均誤差較小,但可能超過目標。最低名目金額則需要另外決定:跳過交易、累積到達門檻後再下單,或增加規模並接受超額。不要在這些做法之間悄悄切換。

也要保留訂單未執行的原因。「未下單:低於最低名目金額」和「以 0 成交」代表的狀況不同。在投資組合再平衡時,跳過訂單可能使現金閒置,或讓你繼續持有原本的資產;請將結果記錄在帳戶狀態中。

如何讓回測與模擬交易的執行保持一致?

只要系統架構允許,就在兩種流程中共用同一個訂單驗證函式。傳入相同時間點的商品規則、預期訂單和帳戶狀態。函式應回傳正規化後的訂單,或具體的拒絕原因。接著,模擬器可對正規化後的訂單套用成交假設,模擬交易介接層則將等效欄位送往交易場所。

每次執行都要一併保存附有日期的篩選規則快照。若數量增量或最低門檻有所變動,你就需要知道回測採用的是哪一版規則。用今天的商品資訊重播一年前的策略,可能會讓過去的訂單看起來無效,或讓歷史訂單看似可行,其實當時並不可行。

模擬交易場所回報拒單時,先比對送出的欄位與篩選規則快照,再考慮修改訊號。如果回測的訂單正規化器產生了 0.037 BTC,但交易場所只接受以 0.001 BTC 為增量的數量,問題就在介接層或商品資訊。如果送出的訂單有效但始終沒有成交,那就要檢查價格、流動性或有效時間等執行行為。

在相信比較結果之前,應該檢查哪些項目?

每次再平衡都保留簡要的稽核紀錄:目標持倉、目前持倉、原始訂單、正規化後的訂單、適用的篩選規則版本,以及最終狀態。接著,比對同一決策時間點的模擬交易與回測紀錄。

第一次模擬再平衡失敗,不代表策略一定有問題。但在模擬器能說明那筆訂單為什麼會被接受、取整、跳過或拒絕之前,策略的權益曲線描述的執行系統,就和你打算實際運行的系統不同。

交易所篩選規則模擬交易訂單規模回測加密貨幣期貨
← 所有文章