OrderBook充满了买卖订单.更新,新订单可以执行交易.
我似乎无法找到任何实施的例子.
我们可以给每个订单一个id,并逐个checkExecute订单.但我们想要的东西可以扩展到成千上万的活跃订单.
我们可以对价格进行排序以获得将要执行的订单(因为它们重叠).但我们必须小心,只按订单收到的顺序执行:)
思考?
市场数据通常以时间序列的方式建模,因此它自然地按时间戳排序,目前精度高达皮秒。
根据您所依赖的技术,如果您不介意付费,我会选择OneTick,这是一个时间序列数据库,它已经有一个内置的订单簿,其中包含订单深度/价格水平、CEP 等更多的。
如果您想自己构建(或依赖免费产品),请查看OpenTSDB,它是一个具有 LGPLv3+ 许可证的开源时间序列数据库。当然,它会比 OneTick 慢,但由于您只需要数千个(OneTick 处理数十亿个),具体取决于您的速度要求,它可能会起作用。
至于 OrderBook 数据模型,这取决于您将如何准确地使用这本书:例如,您是否关心多个价格水平?书的顶部?您是否需要将出价/要价与实际订单相匹配等?
但您可以从设计一个记录 OrderBook 事件的架构开始,例如:

该示例来自LMAX 协议参考指南
| 归档时间: |
|
| 查看次数: |
3392 次 |
| 最近记录: |