一种基于FPGA的期货交易盘口数据实时解析系统技术方案

技术编号:12272829 阅读:139 留言:0更新日期:2015-11-04 21:41
本发明专利技术公开了一种基于FPGA和PCIExpress接口的期货交易盘口数据实时更新系统,属于金融通信领域。现有技术使用纯软件的方式来更新盘口技术,带来大量延迟,难以满足实时更新的需求,本发明专利技术的系统包括以太网数据包解析,市场数据解析,盘口数据更新以及数据交互四个部分,是一个软硬件集成的一体化系统,实现了交易所海量数据包高效、稳定的解析,为期货高频交易提供了一种高速、高性能的交易行情数据获取方法。

【技术实现步骤摘要】

本专利技术属于金融通信领域,更具体地,涉及一种基于FPGA(Field ProgrammableGate Array)的期货交易盘口数据实时解析系统。
技术介绍
高频交易是指从那些人们无法手工利用的极为短暂的市场变化中寻求获利的计算机程序化交易。目前高频交易在美国占金融市场交易量的50%,在欧洲也占到40%,在日本则为30%,而国内的高频交易在期货市场交易量中的比重不到10%。随着我国金融市场的快速发展,高频交易在我国会有很大的发展空间。交易所通过Multicast UDP多播技术进行市场行情数据按序发送,实时市场数据由事件驱动,一个事件就是市场的任何一种变化,如状态变化,新进市场订单,撤销某个订单等。交易盘口在期货交易中处于交易的核心位置,它对研究制定交易策略和观察交易策略执行情况具有重大参考意义。因此在期货交易,尤其是高频交易中,更快地获得最新市场行情数据,意味着可以更早地开始制定合适的交易策略,更早地得到交易策略的执行情况,从而能够及时地调整交易策略,获取交易的主动权。传统的交易平台方案使用纯软件的方式来更新交易盘口数据,计算机从千兆以太网口获得交易所发出的市场行情更新数据包后,需要先通过内核集成的以太网协议栈解析数据包得到金融领域专用交易数据包;然后再通过软件协议栈解析交易数据包得到有效的交易数据;最后由计算机软件对有效数据进行统计分析和处理后才得到更新后的交易盘口数据。这种盘口数据的更新方案引入了大量由软件处理数据所带来的延迟,难以满足期货交易中对交易数据进行实时更新的需求。随着高频交易在国内的逐步推进,市场迫切需要一种新的更新交易盘口数据的解决方案,来满足行情数据实时更新的需求。
技术实现思路
针对现有技术中存在的问题,本申请提供的是一种基于FPGA的期货交易盘口数据实时解析系统,其中通过FPGA单元的具体结构及其设置方式进行研究和涉及,与现有产品相比,极大地提高了盘口数据更新速度,实现了盘口数据可实时更新。为实现上述目的,按照本专利技术的一个方面,提供了一种基于FPGA的期货交易盘口数据维护系统,其特征在于,该系统包括盘口数据维护模块,所述盘口数据维护模块从市场数据恢复通道(4)获取初始数据,用以完成新建或恢复盘口数据;所述盘口数据维护模块在从市场行情通道(2)收到实时更新数据时,对盘口数据进行修改;所述盘口数据维护模块通过产品定义通道(3)获取产品的定义以及其他历史数据;所述盘口数据维护模块(5)通过FPGA器件上的Block RAM单元(6)以及由DDR3内存控制器(7)及其接口的FPGA片外DDR3内存(8)进行数据缓存,所述盘口数据维护模块(5)在盘口数据有更新的时候发出DMA操作请求(9),申请将盘口数据写入服务器软件部分内存,所述盘口数据维护模块(5)也按照配置的功能需求定时的或者由事件触发的向服务器CPU发送中断请求(10),并提供如数据更新、状态异常等状态寄存器供CPU查询当前中断类型。按照本专利技术的另一方面,提供了一种基于FPGA的期货交易盘口数据实时解析系统,其特征在于,该系统包括:以太网数据包解析模块,市场数据解析模块,盘口数据更新模块以及数据交互模块四个部分;所述以太网数据包解析模块,由FPGA器件通过其内部的1G PHY接口 IP (3)接收板卡通过QSFP+接口⑵输入的市场数据,然后通过1GigE MAC模块(4)将以太网数据解包;所述市场数据解析模块,将解包后的以太网数据进行市场数据解包,得到最终有效的交易所数据;所述盘口数据维护模块,通过所述有效的交易所数据对盘口数据进行本地维护;所述数据交互模块,通过FPGA器件(I)和包括CPU(9)和系统内存(10)在内的服务器软件部分(2)通过PCIExpress进行交互。优选地,所述市场数据解析模块,将交易所通过以太网发出的市场数据根据协议将不同通道的数据解析出来,这些通道包括实时市场数据实时更新通道(2)、产品定义通道(3)、市场数据恢复通道(4),并将这些不同通道的数据发送给盘口数据维护模块。优选地,所述市场数据解析模块是如上述的市场数据解析模块。总体而言,按照本专利技术的上述技术构思与现有技术相比,主要具备以下的技术优占.V.1、使用FPGA硬件对交易所数据进行协议解析,避免了由计算机内核软件形式的数据解析带来的延迟;2使用FPGA解析交易数据并更新和维护交易盘口数据,避免了计算机软件解析和计算带来的延迟;3、使用PCIExpress接口将盘口数据以DMA方式与计算机内存直接进行数据交互,减少了可观的数据交互量并极大地降低了数据交互带来的延迟。【附图说明】图1是所述方案系统整体框架结构图;图2是FPGA内部结构框图;图3是盘口数据维护原理图;图4是PCIExpress接口数据交互结构图。【具体实施方式】为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。此外,下面所描述的本专利技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。本专利技术的技术方案是:一种基于FPGA和PCIExpress的期货交易盘口数据实时更新方案,该方案包括以太网数据包解析,市场数据解析,盘口数据更新以及数据交互四个部分。其特征在于:以太网数据包解析部分使用FPGA硬件接口技术无延迟的从千兆以太网接口获取交易数据包;使用FPGA硬件解析电路无延迟的根据金融数据专属协议解析交易数据包得到当前实时交易数据,在解析数据包的同时对交易所多数据通道进行管理,在通道序列号出现错误的情况下进行异常处理,在市场数据不繁忙的情况下对心跳包进行侦听;根据实时获取的交易数据在FPGA对本地盘口数据进行更新和维护,并在开市或者网络异常中断的情况下对盘口数据进行初始化;运用FPGA Serdes高速接口实现的PCIExpress总线接口与服务器实现互联,并通过DMA (Direct Memory Access)技术将盘口数据直接写入服务器内存,并周期性或由FPGA在特定时刻产生中断请求CPU读取更新后的盘口数据。在附图1中,FPGA硬件平台以靠近交易所放置的服务器(I)作为载体,FPGA硬件板卡(2)通过PCIExpress接口(6)与服务器互联实现数据交互,交易所的市场数据通过QSFP+ (Quad Small Form-factor Pluggable)接口(3)输入 FPGA 板卡,并通过格式转换以后进入FPGA芯片(4),FPGA芯片内部对数据进行进一步的数据解析并完成盘口数据的维护工作后,形成FPGA本地的盘口数据文件,该文件通过FPGA硬件板卡(2)上的PCIExpress接口(5)与服务器的软件系统(6)进行交互,盘口数据通过PCIExpress接口(6)采用DMA方式直接写到CPU的内存空间(7)中,并且FPGA(4)通过PCIExpress接口(5)的中断信号通知CPU(8)对盘口数据进行读取。同时CPU(8)也可以通过PCIExpress接口(5)对FPGA进行工作模式配置,并读取其他工作状态信息,同时,CPU将最终有效的盘口数据通过网络发送给终端用户。在附图2中,展示了 FPGA器件⑴内部的结构框图本文档来自技高网
...

【技术保护点】
一种基于FPGA的期货交易盘口数据维护系统,其特征在于,该系统包括盘口数据维护模块;所述FPGA根据交易所发出的市场数据解析得到市场数据恢复通道、市场行情刷新通道和产品定义通道;所述盘口数据维护模块从市场数据恢复通道获取交易盘口数据的初始数据,用以完成新建或恢复盘口数据;所述盘口数据维护模块在从市场行情刷新通道收到实时更新数据时,对盘口数据进行修改;所述盘口数据维护模块通过产品定义通道获取产品的定义以及其他历史数据;所述盘口数据维护模块通过FPGA上的Block RAM单元以及DDR3内存控制器及其接口的FPGA片外DDR3内存进行数据缓存;所述盘口数据维护模块在盘口数据有更新的时候发出DMA操作请求,申请将盘口数据写入服务器软件部分内存;所述盘口数据维护模块也按照配置的功能需求定时的或者由事件触发的向服务器CPU发送中断请求,并为状态寄存器提供数据更新、状态异常两种状态,所述服务器CPU在状态寄存器中查询当前中断类型。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨涛
申请(专利权)人:武汉旷腾信息技术有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1