DOM按深度引用到增量引用-有人有想法吗?

DOM按深度引用到增量引用-有人有想法吗?,dom,Dom,好了,开始吧。这是一个棘手的问题。金融市场 我有一个最初为rithmicapi开发的交易应用程序。出于不同的原因,我现在将实时数据馈送到NxCore RIthmic没有“DOM级别”的概念。我得到了每个报价的信息,包括数量、价格。如果引号变为无效,它将获得0卷。很好用 NxCore确实与级别一起工作。我得到了不同的信息,每一个级别(D1-D10) 问题是-我需要在不发送太多错误/多余消息的情况下,从这一点转移到RIthmic表示 基本上,isue如下所示: 我们建立了一个DOM——只需忽略这里的

好了,开始吧。这是一个棘手的问题。金融市场

我有一个最初为rithmicapi开发的交易应用程序。出于不同的原因,我现在将实时数据馈送到NxCore

RIthmic没有“DOM级别”的概念。我得到了每个报价的信息,包括数量、价格。如果引号变为无效,它将获得0卷。很好用

NxCore确实与级别一起工作。我得到了不同的信息,每一个级别(D1-D10)

问题是-我需要在不发送太多错误/多余消息的情况下,从这一点转移到RIthmic表示

基本上,isue如下所示:

我们建立了一个DOM——只需忽略这里的项目。有趣的是d18@11417

CBOT/YM.Z10 MM D2: 17 @ 11416 vs 10 @ 11421
CBOT/YM.Z10 MM D3: 10 @ 11415 vs 14 @ 11422
CBOT/YM.Z10 MM D5: 13 @ 11413 vs 13 @ 11424
CBOT/YM.Z10 MM D4: 17 @ 11414 vs 12 @ 11423
CBOT/YM.Z10 MM D9: 12 @ 11409 vs 12 @ 11428
CBOT/YM.Z10 MM D10: 14 @ 11408 vs 14 @ 11429
CBOT/YM.Z10 MM D5: 13 @ 11413 vs 16 @ 11424
CBOT/YM.Z10 MM D6: 20 @ 11412 vs 11 @ 11425
CBOT/YM.Z10 MM D1: 8 @ 11417 vs 3 @ 11420
CBOT/YM.Z10 2010-12-14 05:00:20.275000 BestBid 8 @ 11417

Something happens to he BestBid here..... so now it goes to 11418

CBOT/YM.Z10 MM D1: 3 @ 11418 vs 3 @ 11420
CBOT/YM.Z10 MM D2: 10 @ 11417 vs 10 @ 11421
CBOT/YM.Z10 MM D3: 17 @ 11416 vs 14 @ 11422
CBOT/YM.Z10 MM D4: 10 @ 11415 vs 12 @ 11423
CBOT/YM.Z10 MM D5: 16 @ 11414 vs 16 @ 11424
CBOT/YM.Z10 MM D6: 13 @ 11413 vs 11 @ 11425
CBOT/YM.Z10 MM D7: 17 @ 11412 vs 6 @ 11426
CBOT/YM.Z10 MM D8: 12 @ 11411 vs 5 @ 11427
CBOT/YM.Z10 MM D9: 18 @ 11410 vs 12 @ 11428
CBOT/YM.Z10 MM D10: 12 @ 11409 vs 14 @ 11429
CBOT/YM.Z10 2010-12-14 05:00:30.325000 BestBid 3 @ 11418

And that gives ups 10 updates just to move the DOM on the bid side. What I would need here is 2....
0 @ 11417
18 @ 11409
每一行都是我的代码中的一个单独回调(如果您想使用该术语,也可以是事件)。我已经知道我需要保留一些东西(两边都是D1-D10,买卖,价格,水平和数量)。我的主要问题是所有的边缘案例。当卷发生变化时,相同的DOM级别,相同的价格-很容易

但是当DOM像上面那样移动时,我会得到10个更新,但大多数都需要为我扔掉

有人有主意吗?还要注意的是,D1-D10不一定能处理接下来的10个价格-有时(非工作时间)会有差距。。。。这让事情变得很糟糕。我知道,如果我得到了D1或D10,我可以把所有报告的项目“再往下”扔。但我的问题主要是关于差距

哦,它需要快一点。有时每秒大约20万条消息


任何人都有一个聪明的想法吗?

对于您遵循的每个符号都有一个DOM阶梯(两个单独的数组,一个用于出价,一个用于询问)

这必须考虑到可能出现的任何波动。 通常情况下,一天2000个水平就足够了。 即使你同时遵循许多符号,现代计算机存储器也没有问题

当一个DOM事件刚好进来时 -以适当的价格水平更新数量 -更新当前内部出价或询问的索引(如果此信息也随事件一起提供)

换句话说,忽略“DOM级别”信息,只需将卷写入适当的位置

可以安全地假设DOM中没有“洞”,级别始终位于一个刻度距离处(这可以在示例中看到)

希望我把这个想法说得足够清楚。如果没有,请随意询问。

如果我计算正确: 2000个级别*8000个符号*4字节(大小)*2(买卖)=256 MB

今天的电脑没问题

大概2个字节的大小也可以将其减少到128MB


(顺便说一句,如果我做到了这一点,我的工作就是通过NxCore跟踪完整的美国股票市场)

坏消息是,我必须在驱动程序(无用户界面)中进行交易信息存档。现在同时使用7xxx符号。还有更多。确切地说,没有。它只跟随CME小组的一小部分——这个小组总共有超过200k个符号。选项会增加符号计数。