logo好方法网

一种期货行情档位快速处理系统和方法


技术摘要:
本发明属于金融期货领域,涉及一种期货行情档位快速处理系统和方法。目前在期货行情交易中重新排序常用的多档位处理大多采用链表方式,而每一个档位操作延迟至少为百纳秒级,导致一次合约更新延迟大。本发明提供了一种期货行情档位快速处理装置,包括FPGA,所述FPGA包  全部
背景技术:
期货行情市场越来越注重高频交易,对处理速度的要求日益增加。上海期货交易 所二代行情以增量的方式传输,每个合约提供最多5档行情信息。在增量转变为全量后,档 位也会发生变化,需要对这些档位进行重新排序。在一次合约更新中,可能会对多个档位进 行增加,修改或删除操作。常规处理采用链表方式。对每次要操作的档位查找链表,在找到 该档位后再进行对应增加,修改或删除操作,并将其下个链表指针进行修改。这种处理方式 下,操作次数越多所需的时间越长,需要操作的档位越大,所需的时间越长。目前市场上常 用的多档位处理大多采用链表方式,而每一个档位操作延迟至少为百纳秒级,导致一次合 约更新的延迟很大。 在高频交易日益追求速度的趋势中,百纳秒的延迟尤为重要。并且在FPGA(Field  Programmable  Gate  Array现场可编程逻辑门阵列)集成电路中,链表所占用的资源较大。 当使用资源增加时,又会带来频率提高不上去的问题。因此迫切需要一种能够使用FPGA资 源少,同时延迟又低的方法。
技术实现要素:
1、所要解决的技术问题: 目前在期货行情交易中重新排序常用的多档位处理大多采用链表方式,而每一个档位 操作延迟至少为百纳秒级,导致一次合约更新延迟大。 2、技术方案: 为了解决以上问题,本发明提供了一种期货行情档位快速处理系统,包括FPGA,所述 FPGA包括数据传输模块,数据处理模块,数据存储模块和数据输出模块。所述数据传输模 块,用于接收行情源发出的行情数据,并进行过滤和解码后,发送到数据处理模块;所述数 据处理模块,先从存储模块获取上次的全量信息,再和解码后的数据进行运算,得出对应档 位最新的全量信息,并根据操作类型对行情各档位进行相应的增加或修改或删除操作。在 一个合约的多次操作结束后再对档位重新排序,并将重新排序后的各档位重新存入存储模 块;所述数据存储模块,用于存储当前最新行情的各档位信息;所述数据输出模块,对数据 处理模块中重新排序后的各档位信息按一定格式组包,并以组播方式,组成UDP报文后发送 出去。 所述数据处理模块由状态机控制。 所述数据传输模块采用光纤传输。 本发明还提供了利用所述的期货行情档位快速处理系统的处理方法,包括以下步 骤:步骤一:获取期货交易所数据到FPGA,FPGA中数据传输模块将接收到的报文进行过滤, 将匹配的报文提取其序列号和数据一起存入数据存储模块,同时和指定序列号对比,当提 3 CN 111600731 A 说 明 书 2/3 页 取的序列号有和指定序列号一致时,数据处理模块从数据存储模块取出进行解码并发送到 数据处理模块;步骤二:当一个档位的完整信息解码完成后,状态机控制数据处理模块读取 该合约对应的全量信息,并进行最新全量计算,当一个合约的所有档位都计算完成后,对档 位进行重新排序;步骤三:对重新排序的档位信息通过数据输出模块输出,同时回写到数据 存储模块。 在步骤二中,状态机空闲时从数据存储模块提取当前合约的初始各档位信息,按 顺序放入固定寄存器中,同时给每个档位按顺序分配一个指针和一个有效标志信号,有效 标志信号初始值为有效,每来一个档位操作,对所有有效标志位有效的指针和该档位进行 比较,根据其大小进行排序。同时判断每个指针的实际值以及其有效标志是否有效,同时输 出新的五档信息,一个档位操作2个时钟周期完成。 3、有益效果: 本发明的方法使用资源较少,每个档位处理周期少同时不会降低时钟频率,即解决了 定制电路的不足,又克服了原有可编程器件门电路数有限的缺点,而且可以对多个合约同 时处理。 附图说明 图1为本发明的系统结构图。 图2为数据处理模块的结构图。
分享到:
收藏