幽灵流动性:为何微秒级交易会打破开发模拟器

主要观点:模拟器在测试时表现良好,一切清晰,但部署到生产环境后,幻影流动性会迅速消失,导致订单执行出现问题。模拟器默认会作弊,结构上假设事件按顺序完美到达,而实际市场并非如此,如网络抖动、时钟漂移等会导致交易失败,产生幻影流动性,下游系统会受其影响。根本问题是模拟数据过于完美,测试环境应模拟真实市场的混乱情况,如注入抖动、重排序、消息重复等。修复方法是构建会伤害开发者感情的模拟器,遵循时间同步、注入合成突发、积极对账等规则,通过对账工具暴露幻影交易,将其纳入持续集成管道,以避免在生产环境中出现问题。

关键信息:

  • 模拟器在测试时匹配引擎正常工作,订单书平衡,但到生产环境会出现问题。
  • 模拟器默认按顺序处理事件,假设数据包完美到达,与实际市场情况不符。
  • 幻影流动性是模拟器显示交易存在但生产环境中未执行的情况,会影响下游系统。
  • 模拟数据过于完美,测试环境应模拟真实市场的混乱,如注入各种干扰。
  • 修复模拟器的方法包括时间同步、注入突发、积极对账等,通过对账工具暴露问题。

重要细节:

  • 用 Python 代码展示了简单的模拟器示例及存在的问题,如网络抖动导致订单匹配失败。
  • 用代码演示了时钟漂移导致的订单差异和幻影流动性的产生。
  • 介绍了模拟市场数据的方法及常见问题,如大多数测试工具未注入混乱。
  • 给出了对账工具的代码示例和 PTP 时钟同步配置示例。
阅读 3
0 条评论