主要观点:模拟器在测试时表现良好,一切清晰,但部署到生产环境后,幻影流动性会迅速消失,导致订单执行出现问题。模拟器默认会作弊,结构上假设事件按顺序完美到达,而实际市场并非如此,如网络抖动、时钟漂移等会导致交易失败,产生幻影流动性,下游系统会受其影响。根本问题是模拟数据过于完美,测试环境应模拟真实市场的混乱情况,如注入抖动、重排序、消息重复等。修复方法是构建会伤害开发者感情的模拟器,遵循时间同步、注入合成突发、积极对账等规则,通过对账工具暴露幻影交易,将其纳入持续集成管道,以避免在生产环境中出现问题。
关键信息:
- 模拟器在测试时匹配引擎正常工作,订单书平衡,但到生产环境会出现问题。
- 模拟器默认按顺序处理事件,假设数据包完美到达,与实际市场情况不符。
- 幻影流动性是模拟器显示交易存在但生产环境中未执行的情况,会影响下游系统。
- 模拟数据过于完美,测试环境应模拟真实市场的混乱,如注入各种干扰。
- 修复模拟器的方法包括时间同步、注入突发、积极对账等,通过对账工具暴露问题。
重要细节:
- 用 Python 代码展示了简单的模拟器示例及存在的问题,如网络抖动导致订单匹配失败。
- 用代码演示了时钟漂移导致的订单差异和幻影流动性的产生。
- 介绍了模拟市场数据的方法及常见问题,如大多数测试工具未注入混乱。
- 给出了对账工具的代码示例和 PTP 时钟同步配置示例。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。