市场数据回放

Market Data Replay

我想创建一个应用程序,能够逐笔逐笔地重播多级书籍更改。我的问题是如何才能做到这一点?

我现在面临的问题是如何模拟实际的数据量突发?此处的数据突发定义为在给定时间跨度(例如微秒)内发生的大量事件。例如,如果我只是逐个事件地遍历数据并将其发布给我的消费者,这将不会考虑现实生活中发生的连续事件之间的实际时间差异。由于市场数据是异步输入的,因此我需要能够对其进行建模。

非常感谢任何建议或资源。

谢谢,

是的,高保真模拟也必须模拟时间流。

鉴于 HFT 验证所需的真实事件流对此类高保真仿真器要求的规定定义,您的设计选择并非无止境。

假设只有一种工具 (GBDUSD) 可以在相同的 [usec] 内产生数千(是的,数千)L3-DoM 变化(是的,在相同的一微秒时间内) ,您的设计必须在两种主要方式之间做出决定:

  • 采用分布式方式(使用一组远程资源),以便以一种受控的时间流方式注入巨大的事件流,而与您的实际情况无关消费者 ( localhost ) 工作负载/备用处理能力

  • 采用 FPGA 方式(使用内部连接的 PCIe 硬件),这可以帮助注入上述事件流,同样独立于消费者操作[=​​13=]

无论哪种方式,到目前为止都不是周末黑客马拉松或共同赞助的叉子可能带来的幻想。

所有历史的、带时间戳的 L3-DoM 数据的可用性和静态比例 + 贸易流事件的记录 不是 问题.时间流的高保真度(基于将市场生成的消息注入具有双向交易流的高度动态模拟的整个理由),仅在消费者端接近硬件性能信封,肯定是.

As Seymour CRAY has stated:
"Anyone can build a fast CPU. The trick is to build a fast system."

构建一个运行速度比实时慢的系统似乎要求不高,但这种方法永远不会再抓住市场(不是说 运行 对某些超参数的任何优化策略-space,其中 PSPACE | PTIME 的额外逆向缩放,但更常见的是 EXPSPACE & EXPTIME 将任何此类尝试移入可计算性约束的死胡同,以期望在合理的实时时间内获得任何结果,可用对于运行这样一个模拟/待优化的系统。