C++ 市场数据回放

C++ 市场数据回放,c++,architecture,finance,quantitative-finance,hft,C++,Architecture,Finance,Quantitative Finance,Hft,我想创建一个应用程序,该应用程序能够逐条回放历史上的多级书籍更改。我的问题是,一个人如何才能做到这一点 我面临的直接问题是如何模拟实际的数据量突发?这里的数据突发被定义为在给定的时间跨度(比如微秒)内发生的大量事件。例如,如果我只是一个事件一个事件地循环数据并将其发布给我的消费者,这就不会考虑现实生活中连续事件之间的实际时间差。由于市场数据是异步输入的,所以我需要能够对其进行建模 我们非常感谢您的任何建议或资源 谢谢,是的,高保真模拟还必须模拟时间流。 考虑到HFT验证所需的真实事件流的高保真仿

我想创建一个应用程序,该应用程序能够逐条回放历史上的多级书籍更改。我的问题是,一个人如何才能做到这一点

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

我们非常感谢您的任何建议或资源

谢谢,

是的,高保真模拟还必须模拟时间流。 考虑到HFT验证所需的真实事件流的高保真仿真程序的需求定义,您的设计选择并非无穷无尽

鉴于仅一台仪器(GBDUSD)可以在同一[usec](是的,在同一微秒时间内)内产生数千(是的,数千)个L3 DoM更改,您的设计必须在两种主要方式之间做出选择:

  • 采用分布式方式(使用一组远程资源),以便以一种受控的时间流方式注入大量的事件流,独立于您的实际使用者(本地主机)工作负载/备用处理能力

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

无论哪种方式,到目前为止,这都不是一个幻想,一个周末的Hackathon或共同赞助的forks会给生活带来什么

交易事件流中所有历史、带时间戳的L3 DoM数据+记录的可用性和静态规模都不是问题。时间流的高保真度(在市场生成的消息注入到具有双向交易流的高度动态模拟的整个基础上进行编排),位于靠近硬件性能包络线的唯一消费者端,肯定是

正如西摩·克雷(Seymour CRAY)所说:“
任何人都可以构建一个快速的CPU。关键在于构建一个快速的系统。

构建一个比实时运行速度慢的系统似乎要求不高,但这种方法将永远不会再吸引市场(不是说在某些超参数空间上运行任何优化策略,在这种情况下,
PSPACE | PTIME
的额外不利缩放,而是更常见的
EXPSPACE&EXPTIME
将任何此类尝试移动到可计算性约束的死胡同,以期望任何结果。)在合理的实时范围内,可用于运行此类模拟/待优化系统