600
浏览基于FPGA的超低延迟量化金融计算平台研究与实现
摘要:高频量化交易作为一种高效的现代电子化交易方法,在金融市场中的占比逐年攀升,逐渐成为金融市场的主流交易方式之一。金融市场行情作为高频量化交易的重要组成部分,对其的掌握程度与收益直接相连,更快更精准的行情信息意味着拥有产生更大收益的机会。现有的金融计算平台主要依靠基于CPU的纯软件方案实现,具有极高的处理延迟和波动性。但是,高频量化交易特定的应用场景和网络传输需求为硬件实现提供可能。FPGA凭借其高并行、可重构和低延迟等特性,完全能够满足高频量化交易中对行情数据处理和网络传输的实时性要求。因此,采用领域专用的硬件方式构建量化金融计算平台成为降低金融数据处理延迟的主流方法。本文设计并实现一种基于FPGA的超低延迟量化金融计算平台,主要内容如下:第一,针对高频量化交易中的通信场景,定制网络通信功能的FPGA硬件实现。对MAC层协议、IP协议、ARP协议、ICMP协议、UDP协议和TCP协议进行硬件定制化的设计与实现。针对特定的网络通信场景,设计一种领域专用的TCP协议卸载引擎,在满足网络通信功能的基础上,最大程度地降低网络通信延迟。实验评估表明,UDP协议的最低穿透时延为468.4ns,TCP协议卸载引擎的最低穿透时延为494.8ns,最大网络带宽可达 38.28Gbps。第二,针对高频量化交易中的行情解析场景,进行数据解码和行情重构功能的硬件定制化实现。针对FAST金融压缩协议中的逐笔成交和逐笔委托进行硬件解码器设计,实现字段分割、数据合并和数据解码等功能。同时利用解码后的数据进行实时行情信息计算,重构完整的实时行情字典,并对行情字典的存储进行优化设计与实现。实验评估表明,金融行情解析模块可最多同时处理80支证券,单支证券的最低解码重构穿透时延为 372.8ns。第三,在Vitis框架下,使用OpenCL整合网络通信、数据解码和行情重构功能,构建超低延迟量化金融计算平台。在各个功能模块内进行并行化设计,优化数据传输路径,构建全流水架构;对内存架构进行优化设计,提高数据传输速率;平台整体使用AXI4-Stream流接口连接,提升系统可移植性。实验结果表明,针对逐笔委托和逐笔成交两种数据,FPGA方案整体平均处理延迟稳定在20μs,几乎无抖动存在,最大吞吐率可达38.28Gbps。与基于Intel i9-9900x的软件方案相比,性能提升12倍,吞吐率提升1.87倍。
关键词:高频量化交易;超低延迟
文章目录
摘要
Abstract
第一章 绪论
1.1 研究背景与意义
1.2 国内外研究现状
1.3 本文主要工作
1.4 论文结构
第二章 量化金融计算平台系统分析
2.1 系统需求性与可行性分析
2.2 TCP/IP协议介绍
2.2.1 MAC层协议
2.2.2 IP协议
2.2.3 ARP协议
2.2.4 ICMP协议
2.2.5 UDP协议
2.2.6 TCP协议
2.3 金融数据协议
2.3.1 STEP协议
2.3.2 FIX协议和FAST协议
2.4 基于OpenCL的Vitis开发框架
2.4.1 Vitis开发框架
2.4.2 基于OpenCL的FPGA开发
2.5 本章小结
第三章 基于FPGA的TCP/IP协议栈研究与设计
3.1 TCP/IP协议栈整体设计
3.2 MAC层模块设计
3.3 网络协议卸载设计
3.3.1 IP协议模块设计
3.3.2 ARP协议模块设计
3.3.3 ICMP协议模块设计
3.3.4 UDP协议模块设计
3.3.5 校验和计算模块设计
3.4 TOE模块设计
3.4.1 通用型TOE模块设计
3.4.2 量化金融专用型TOE模块设计
3.4.3 数据位宽优化
3.5 网络通信功能测试与分析
3.5.1 软硬件实验环境
3.5.2 网络模块FPGA资源消耗评估
3.5.3 网络通信功能测试
3.5.4 相关工作的对比分析
3.6 本章小结
第四章 基于FPGA的量化金融计算研究与设计
4.1 量化金融计算整体设计
4.2 FAST协议模块设计
4.2.1 数据分割模块设计
4.2.2 数据合并模块设计
4.2.3 数据解码模块设计
4.2.4 前值表存储优化
4.3 行情重构模块设计
4.3.1 基本行情概念介绍
4.3.2 行情数据重构设计
4.3.3 内核矢量化设计
4.3.4 数据存储优化设计
4.4 金融数据协议测试与分析
4.4.1 软硬件实验环境
4.4.2 金融计算模块FPGA资源消耗评估
4.4.3 FAST协议解析模块测试与分析
4.4.4 行情重构模块测试与分析
4.5 本章小结
第五章 基于OpenCL的量化金融计算平台设计与实现
5.1 Alevo加速平台介绍
5.2 基于OpenCL的整体平台设计与实现
5.2.1 基于OpenCL的主机端程序设计
5.2.2 基于OpenCL的FPGA内核配置
5.2.3 AXI4-Stream接口和自由运行模型
5.3 计算平台存储优化设计
5.4 计算平台系统并行优化设计
5.4.1 流水线设计
5.4.2 循环展开优化设计
5.5 计算平台性能测试与分析
5.5.1 软硬件实验环境
5.5.2 计算平台资源消耗评估
5.5.3 计算平台性能测试与分析
5.5.4 相关工作对比分析
5.6 本章小结
第六章 总结与展望
6.1 总结
6.2 展望
致谢
参考文献
[1]高频类交易对股指期货市场的影响及探讨——基于近年股指期货市场规则调整的实证分析[J]. 朱话笙,周志中. 上海管理科学. 2018(04)
[2]基于FPGA的DDR3六通道读写防冲突设计[J]. 张凤麒,张延彬,王忠勇. 电子技术应用. 2018(07)
[3]计算机交易平台在量化投资中的应用研究[J]. 李伟岸. 电子技术与软件工程. 2014(09)
[4]中国股指期货市场期现套利及定价效率研究[J]. 刘岚,马超群. 管理科学学报. 2013(03)