打造模拟交易平台最省事的方法,是永远按最新成交价为交易者成交。感觉很好,实现起来毫无成本,却会毁掉交易者。他们养成的习惯一碰到真实订单簿就站不住脚。等到他们转入资金账户,第一次遇到滑点就会被打垮,因为他们从来没见过滑点。
我们模拟了什么
- 来自交易场所的实时订单簿深度,而不是合成的深度。
- 对于大于盘口挂单量的市价单,逐档吃掉订单簿。
- 限价单在完全成交前被撤回时的部分成交。
- 按交易场所的实际费率表区分挂单方(maker)与吃单方(taker)。
- 从提交订单到模拟交易场所撮合报价之间的延迟。
结果是一种有意让人不太舒服的成交体验。你不会总是按盘口价成交。你的 50 手市价单会逐档吃掉订单簿,均价被抬高。你的限价单会挂着、部分成交,然后在价格越过它时被撤回。这正是重点所在。
我们不模拟什么
我们不模拟交易者自身订单对市场的冲击,因为我们从不把这些订单发送出去。交易者对交易场所是不可见的,因此交易场所的订单簿不会对他们作出反应。这是模拟环境在结构上唯一比现实更温和的地方。我们对此坦诚相告。对于典型的散户仓位规模,这个差别只是舍入误差;对于更大的仓位,交易者应该知道自己低估了滑点。
为什么这是合作公司要关心的问题
自营交易公司比散户更关心这一点。它们整个考核流程都依赖于模拟环境能够忠实地筛选出实盘表现。如果模拟环境太宽松,每个交易者都能通过,公司的资金账户群体里就全是在错误筛选压力下存活下来的人。如果太严苛,没有人能通过,公司也就没有生意可做。校准本身就是产品。
Vera Charts team · 2026年4月28日
全部实战笔记