DOM引用Delta引用的深度 - 任何人都有想法?

时间:2011-01-05 19:00:15

标签: dom

好的,我们走了。这是一个棘手的问题。金融市场。

我有一个最初为Rithmic API开发的交易应用程序。由于不同的原因,我现在将实时数据传输到NxCore。

RIthmic没有“DOM级别”的概念。我为每个报价提供了数量,价格的润滑剂。如果报价变为无效,则为0。 WOrks很好......

NxCore适用于关卡。我得到了每个级别的不同消息(D1 - D10)。

问题是 - 我需要从此移动到RIthmic表示而不会发送太多错误/剩余消息。

基本上,isue看起来像这样:

我们建立一个DOM - 只需忽略这里的项目。有趣的是D1 8 @ 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,我可以将所有报告的项目“进一步向下”扔掉。但我的问题主要是差距......

哦,它需要快速。有时像每秒200.000条消息一样。

任何人都有一个聪明的主意吗?

2 个答案:

答案 0 :(得分:0)

为您关注的每个符号都有一个DOM梯形图(两个独立的数组,一个用于出价,一个用于询问)。

这必须足够大,以适应可能出现的任何波动。 通常2000天的水平肯定足够一天。 即使您同时遵循相当多的符号,现代计算机存储也没有问题。

当DOM事件进入时 - 以适当的价格水平更新交易量 - 更新出价或询问内的当前索引(如果此信息也随事件发生)

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

可以安全地假设DOM中没有“漏洞”,水平始终位于一个滴答距离(这可以在您的样本中看到)。

希望我能够清楚地概述这个想法。如果没有随意问。

答案 1 :(得分:0)

如果我计算得对: 2000级* 8000符号* 4字节(大小)* 2(买/卖)= 256 MB

今天的电脑没问题。

大小的2个字节也可以完成将其减少到128 MB的工作。

(顺便说一句,如果我做对了,那就是通过NxCore跟踪整个美国股票市场)