猪肉涨价了迩也值钱了 发表于 2025-7-24 17:15:48

请教高频套利策略中tick级数据处理的优化方案

各位量化同好,最近在开发一个跨交易所的加密货币高频套利策略,遇到了tick数据处理上的性能瓶颈。我们的策略需要同时处理BitMEX和Binance的tick数据(每秒约2000-3000笔),目前用C++实现的处理逻辑在订单簿重建时出现了约3-5ms的延迟,导致错过部分套利机会。

想请教几个具体问题:
1. 在订单簿动态更新时,如何优化内存访问模式来减少cache miss?我们测试发现现有的std::map实现有较明显的性能损耗
2. 对于tick数据的去重和乱序处理,除了简单的时间戳过滤外,有没有更高效的算法建议?
3. 在多线程环境下,如何平衡锁粒度和数据处理实时性的矛盾?我们尝试过读写锁但效果不理想

策略目前在模拟盘年化收益约240%,但实盘测试时因为上述延迟问题收益下降了近40%。欢迎有实际高频开发经验的朋友分享实战建议,特别感兴趣在L3行情处理方面的优化技巧。

(注:本策略不涉及三角套利等可能违反交易所规则的操作)
页: [1]
查看完整版本: 请教高频套利策略中tick级数据处理的优化方案