加密交易机器人回测怎么加入手续费和滑点?
CryptoRebateHub Editorial Team
用双边手续费、点差、滑点、延迟、部分成交、资金费率、失败订单和保守返佣建立 bps 成本模型。
直接答案:真实机器人回测必须计入双边手续费、点差、滑点、延迟、部分成交、持仓成本、失败订单和可验证返佣,并统一换算为 bps。
净收益公式
使用 净收益 bps = 毛收益 - 入场费 - 出场费 - 点差 - 入场滑点 - 出场滑点 - 资金/借贷 - 失败成本 + 已实现返佣。bps 可跨仓位比较。
不要按信号 K 线收盘价成交
信号在 K 线结束后才知道,就不能同时按该收盘价成交。应使用下一可成交事件、当时买一卖一、实测延迟后的价格、可用深度,以及取消、追价或放弃规则。
Maker 概率和部分成交
不能把所有限价单写成 Maker。简单模型为 预期手续费 = Maker概率 × Maker费率 + Taker概率 × Taker费率。更好的方法是订单簿重放与队列估计,未成交数量必须保留。
滑点和失败场景
按交易对流动性、仓位相对深度、波动率、时段和新闻事件分层。API 超时、Post Only 撤销、精度拒单、行情过期和风控阻止都不能删除,否则产生幸存者偏差。
三档测试与返佣
运行乐观、基准、压力三档。基准使用真实 Maker/Taker 混合、P75 滑点和延迟中位数;压力使用 Taker 偏重、P90/P95、尾部延迟和零返佣。对照仓位计算工具。
常见问题
固定 1 bps 滑点可以吗?
只能作为占位,真实滑点应随流动性、仓位和波动变化。
失败订单应删除吗?
不能,它们是执行质量和机会成本的一部分。
可以计入最高宣传返佣吗?
基准只使用稳定已结算历史,压力档设为零。
结论
回测目标不是最好看的曲线,而是估计真实摩擦后还能剩多少边际。