FPGA:硬件加速金融行情解码

1.前言
高频交易,硬件加速,这两个词,不管是金融领域从业人员,还是FPGA开发从业人员,对于这两个词应该都不会太陌生。
对于金融行业从业人员来说,高频交易,是用来指代从开仓到平仓只有很短的时间间隔,主要目的是通过市场短暂的价格波动进行获利的交易行为,这种交易行为,对时间十分敏感,这种交易从以前的人工进行操作,交易的时间量级大概是分钟(min)乃至秒(s)级;到后来使用繁杂的计算机程序进行操作,定义一个复杂的模型,编写软件代码让计算自行机判断买入卖出,交易的时间量级大概到了毫秒(ms)级;而到了近年来十分火热的使用FPGA辅助计算机进行硬件级的加速,交易时间的量级甚至来到了微秒(us)级乃至纳秒(ns)级。
对于FPGA从业人员来说,近年来,也许没有参与过这种硬件加速的项目,但是肯定也在社交媒体上看到过硬件加速等等相关的内容,对于FPGA来说,主要是可以并行的处理任务,而且进行操作的时间量级是纳秒级,延时远低于使用软件的毫秒级延时。

2.概述
在证券交易领域,便是高频交易的一个领域,更快的获取行情信息,更低的交易延迟,更快的买入卖出,是每一个交易者所共同追求的目标,财富的盈亏,便在合约行情的短暂波动中。
目前国内金融交易系统有一部分还在使用传统的软件方式进行行情的获取与解码,而有部分已经使用了基于FPGA的硬件加速的方法进行行情的处理,FPGA有可编程、低延时的特性,基于RTL(寄存器传输级)级的逻辑编程,可以定制各种解码方案,实现数据的并行处理,达到极低的延时,满足金融证券交易者对低延时的需求。

3.加速系统的架构介绍在这里插入图片描述
本地版行情处理:
行情信息从交易所发出,经过交易所行情网络(上图标号1),进入券商的行情网络进行筛选,再发送到客户交易服务器。
我们要做的便是使用FPGA,在上图标号2、3处,将通过万兆以太网传输而来的行情信息送入FPGA中,再由FPGA进行行情的解码,过滤不需要的行情,发送给客户服务器,客户获得行情信息。

行情解码与过滤的处理:在这里插入图片描述
由上图:
A、B两路行情通过万兆以太网进入FPGA中,首先进行串转并,PCS,MAC层的处理,再将数据传递到解码模块,解码模块将接收需要的合约的合约报文,不需要的合约报文则丢弃,同时进行分价表的重排序,在从MDQP报文接收到一个需要的完整的合约信息后,或是一个合约信息在接收到MIRP报文且修改完毕后,将合约信息由PCIE模块发送到客户服务器的内存中,由用户取用。

3.加速系统的简单参数
本系统实现功能的简单介绍:
(1)接收主题行情快照查询,MDQP协议,可以配置需要筛选的合约,将需要的合约从MDQP报文中提取出来,由PCIE发送到客户服务端的内存中。
(2)接收增量行情推送,MIRP协议,对需要的合约进行更改,对分价表进行重排序,将修改过后的合约发送到内存中。
(3)MIRP A路、B路选优,选取速度较快的MIRP报文进行处理。
(4)接收MIRP增量行情修改行情,获得最新的行情快照。

4.开发过程的简单示例
一个简答的11个以太网包的MDQP快照查询消息的处理:在这里插入图片描述
从以上MDQP报文中提取的合约信息域:在这里插入图片描述

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值