市场数据重播

时间:2017-05-08 01:18:55

标签: c++ architecture finance quantitative-finance hft

我想创建一个能够通过勾选多级图书更改重播历史记录的应用程序。我的问题是如何做到这一点?

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

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

谢谢,

1 个答案:

答案 0 :(得分:1)

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

鉴于对于这种高保真仿真器的要求所规定的HFT验证所需的实际事件流程,您的设计选择并非无穷无尽。

鉴于只有一个仪器(GBDUSD)可以在相同的[usec]内生成数千个(是的,数千个)L3-DoM变化(是的,在相同的单个微秒时间内),您的设计必须决定两种主要方式之间:

  • 以分布式方式(使用一组远程资源)以一种受控制的流时间方式注入大量事件流,独立于您的实际消费者(localhost)工作量/备用处理能力

  • 采用FPGA方式(使用内部连接的PCIe硬件),可以帮助注入所述事件流,再次独立于消费者操作

无论哪种方式,到目前为止,并不是一个周末黑客马拉松或共同赞助的叉子可能带来生命的错觉。

可用性&所有历史的,带时间戳的L3-DoM数据的静态尺度+交易流事件的记录是一个问题。时间流的高保真度(在市场生成的消息注入高速动态模拟和双向交易流程的整个过程中精心策划),独特的消费者方面接近硬件性能信封,绝对

  

正如Seymour CRAY所说:“任何人都可以建立一个快速的CPU。诀窍是建立一个快速的系统。

构建一个比实时工作慢的系统似乎要求不高,但这种方法永远不会再次占领市场(不会谈论在某些超参数空间上运行任何优化策略,其中{{1但更常见的是PSPACE | PTIME将任何此类尝试移动到可计算性约束的死胡同中,以期望在合理的实时时间内获得任何结果,可用于运行此类模拟/待生成优化系统。