CN107194811A - 一种基于fpga的高频交易量化系统 - Google Patents
一种基于fpga的高频交易量化系统 Download PDFInfo
- Publication number
- CN107194811A CN107194811A CN201710351352.5A CN201710351352A CN107194811A CN 107194811 A CN107194811 A CN 107194811A CN 201710351352 A CN201710351352 A CN 201710351352A CN 107194811 A CN107194811 A CN 107194811A
- Authority
- CN
- China
- Prior art keywords
- fpga
- data
- market
- module
- high frequency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种基于FPGA的高频交易量化系统,包括网络处理模块、行情处理模块、策略运行模块、Linux服务器四个模块。在整个交易过程中,由FPGA网卡承担行情的接入,并直接在FPGA中进行行情的编解码,然后将行情落盘至硬盘数据库。行情解析完成后,借助FPGA强大的并行运算能力运行交易策略,计算各类指标,做出条件判断并下单或撤单等。使用硬件技术替代软件架构,达到降低延迟的目的,其逻辑灵活,可方便的重新编译烧写。在整个策略运行过程中,数据仅仅在FPGA内传输,可大大降低数据传输和计算的耗时,达到高频交易的目的。
Description
技术领域
本发明涉及金融交易设备领域,具体是一种基于FPGA的高频交易量化系统。
背景技术
近年来,国际金融行业的发展逐步开始聚焦在高频交易领域,众多发达国家中高频交易所占的交易量已经达到了总交易量的50%,在美国这一数字更是达到了接近70%。
高频交易系统是一套结合了软硬件的综合处理方案,需要借助高性能计算机强大的运算能力。传统的交易系统,GPU有其强大的浮点运算能力,使用CPU进行逻辑处理和大量的计算,而高频交易中所需要使用的计算能力已经远远超出了CPU性能的承受范围。一种解决方案是使用GPU,然而其对逻辑判断的处理能力之低下大大影响了其在高频策略中的应用。
发明内容 本发明的目的是提供一种基于FPGA的高频交易量化系统,以解决现有技术存在的问题。
为了达到上述目的,本发明所采用的技术方案为:
一种基于FPGA的高频交易量化系统,其特征在于:在FPGA中构建网络处理模块、行情处理模块、策略运行模块、Linux服务器四个模块,FPGA 首 先通过自身网络接口接收板卡输入市场数据,行情处理模块将市场数据解包,得到最终有效的交易所数据,策略运行模块接收到解包后的市场数据,对数据进行处理运算,行情处理模块以及策略运行模块通过 FPGA上块随机存储器Block RAM进行数据缓存,策略运行模块通过FPGA上内存控制器实现与内存芯片的接口控制,进而实现处理过程中的数据缓存,策略运行模块还通过控制器与PCIExpress 总线控制器及接口物理层 PHY 模块将最终盘口数据数据写入服务器的内存,以及产生中断、实现 CPU 对板卡的控制及状态读取,Linux服务器负责处理行情数据落盘,以及负责处理界面和部分交易过程中人工干预的逻辑。
本发明一种基于FPGA的高频交易系统,使用硬件技术替代软件架构,达到降低延迟的目的,能有效处理高并发事件,用FPGA网卡实现数据数据传输,具有逻辑灵活等优点,用于高频交易。
附图说明
图1为系统整体框架结构图。
图2 CEP模式架构示意图。
图3 VFS层数据结构图。
具体实施方式
如图1所示,一种基于FPGA的高频交易系统,主要包含网络处理模块、行情处理模块、策略运行模块、Linux服务器四个模块,交易的具体实现过程如下:
1. FPGA 首 先 通 过 10GPHY(Physical layer interface) 接口接收板卡通过QSFP+ 接口输入的市场数据;
2.10GigE MAC(Media Access Control)模块将数据解包;
3.通过行情处理模块将市场数据解包,得到最终有效的交易所数据;
4.策略运行模块接收到解包后的市场数据,对数据进行处理运算,行情处理模块以及策略运行模块通过 FPGA 片上 Block RAM进行数据缓存;
5.策略运行模块通过内存控制器实现与内存芯片的接口控制,实现处理过程中的数据缓存,策略运行模块通过控制器与 PCIExpress 总线控制器及接口物理层 PHY 模块将最终盘口数据数据写入服务器的内存,以及产生中断、实现 CPU 对板卡的控制及状态读取。
如图2所示,每个策略独立地订阅和接收实时行情和历史数据,策略通过对实时行情的运算触发交易规则产生交易信号,输出交易信号到柜台执行下单命令。从复杂的系统中看似无关的事件流中,捕获事件包含的具体信息,分析出事件流对上层管理和整体业务的影响,并及时做出适当的反应。
CEP引擎的行情数据、历史数据和柜台的输入输出交互数据都是通过事先编写好的适配器或者外部程序传输。策略的管理也都完全依靠外部程序。每个策略都单独地运行于CEP平台上,直接与外部环境进行数据交互。
如图3所示,为VFS数据结构图,主要有Page_cache、Buffer cache、Inode-cache、Directory cache。其中page_cache和buffer cache主要用于缓冲内存结构数据和块设备数据。而inode-cache用于缓冲inode,directory-cache用于缓冲目录结构数据。行情数据落盘时,经过VFS层,该层的缓冲都放在主机内存中,主要在操作系统层缓冲数据,避免慢速块设备读写操作,从而影响了IO的响应时间。VFS和文件系统把数据写到硬件层列。
根据文件系统和操作系统的不同,一般来说对一个文件的写入操作包括两部分,对数据本身的写入操作,以及对文件属性(metadata元数据)的写入操作(这里的文件属性包括目录,inode等)。
本发明中,网络处理模块负责行情数据的接收和交易信号的发送。具有高性能的、可扩展性的通用网络通信模块,采用多种系统性能优化技术,主要是线程池、对象池和环形缓存区等。该模块能够支持海量并发连接,具有较高的数据吞吐量,接收海量并发连接、接收网络数据包、暂存和发送应用逻辑层的逻辑数据。
本发明中,网络通信模块有足够的可运行线程来充分利用CPU资源,但线程的数量不能太多,具体工作线程的数量和并发连接数量不是直接相关联的。该模型提供了最好的可伸缩性,而且其执行效率比较高。
本发明中,行情处理模块负责对交易所LV2加密行情的解析和转码。
本发明中,策略运行模块负责处理交易过程中的业务,包括逻辑和运算。在整个策略运行过程中,数据仅仅在FPGA内传输,可大大降低数据传输和计算的耗时,达到高频交易的目的。
本发明中,策略运行模块用复杂事件处理CEP(Complex Event Processing)来满足算法交易系统的要求,从而能更好地应对算法交易系统实现的复杂度,以及系统不良的扩展性和兼容性。
本发明中,Linux服务器负责处理行情数据落盘,使用数据库或文本等形式;负责处理界面和部分交易过程中人工干预的逻辑。
Claims (1)
1.一种基于FPGA的高频交易量化系统,其特征在于:在FPGA中构建网络处理模块、行情处理模块、策略运行模块、Linux服务器四个模块,FPGA 首 先通过自身网络接口接收板卡输入市场数据,行情处理模块将市场数据解包,得到最终有效的交易所数据,策略运行模块接收到解包后的市场数据,对数据进行处理运算,行情处理模块以及策略运行模块通过FPGA上块随机存储器Block RAM进行数据缓存,策略运行模块通过FPGA上内存控制器实现与内存芯片的接口控制,进而实现处理过程中的数据缓存,策略运行模块还通过控制器与PCIExpress 总线控制器及接口物理层 PHY 模块将最终盘口数据数据写入服务器的内存,以及产生中断、实现 CPU 对板卡的控制及状态读取,Linux服务器负责处理行情数据落盘,以及负责处理界面和部分交易过程中人工干预的逻辑。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710351352.5A CN107194811A (zh) | 2017-05-18 | 2017-05-18 | 一种基于fpga的高频交易量化系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710351352.5A CN107194811A (zh) | 2017-05-18 | 2017-05-18 | 一种基于fpga的高频交易量化系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107194811A true CN107194811A (zh) | 2017-09-22 |
Family
ID=59874156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710351352.5A Pending CN107194811A (zh) | 2017-05-18 | 2017-05-18 | 一种基于fpga的高频交易量化系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107194811A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108335201A (zh) * | 2018-01-10 | 2018-07-27 | 武汉旷腾信息技术有限公司 | 一种基于fpga的自适应价差交易系统及方法 |
CN108768983A (zh) * | 2018-05-17 | 2018-11-06 | 上海金融期货信息技术有限公司 | 基于fpga的海量网络突发数据分发系统 |
CN110460540A (zh) * | 2019-06-28 | 2019-11-15 | 杨涛 | 一种低延迟高频交易系统及方法 |
CN111339030A (zh) * | 2020-02-23 | 2020-06-26 | 苏州浪潮智能科技有限公司 | 一种基于fpga的云文件系统及其数据处理方法 |
CN112486274A (zh) * | 2020-11-12 | 2021-03-12 | 深圳宏芯宇电子股份有限公司 | 计算机扩展卡及计算机系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130290163A1 (en) * | 2006-06-19 | 2013-10-31 | Ip Reservoir, Llc | High Speed Processing of Financial Information Using FPGA Devices |
CN105023185A (zh) * | 2015-08-04 | 2015-11-04 | 武汉旷腾信息技术有限公司 | 一种基于fpga的期货交易盘口数据实时解析系统 |
CN105989539A (zh) * | 2015-09-22 | 2016-10-05 | 盛立金融软件开发(杭州)有限公司 | 一种金融交易行情获取系统以及获取方法 |
CN105989538A (zh) * | 2015-07-28 | 2016-10-05 | 盛立金融软件开发(杭州)有限公司 | 一种金融产品自动交易系统及自动交易方法 |
-
2017
- 2017-05-18 CN CN201710351352.5A patent/CN107194811A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130290163A1 (en) * | 2006-06-19 | 2013-10-31 | Ip Reservoir, Llc | High Speed Processing of Financial Information Using FPGA Devices |
CN105989538A (zh) * | 2015-07-28 | 2016-10-05 | 盛立金融软件开发(杭州)有限公司 | 一种金融产品自动交易系统及自动交易方法 |
CN105023185A (zh) * | 2015-08-04 | 2015-11-04 | 武汉旷腾信息技术有限公司 | 一种基于fpga的期货交易盘口数据实时解析系统 |
CN105989539A (zh) * | 2015-09-22 | 2016-10-05 | 盛立金融软件开发(杭州)有限公司 | 一种金融交易行情获取系统以及获取方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108335201A (zh) * | 2018-01-10 | 2018-07-27 | 武汉旷腾信息技术有限公司 | 一种基于fpga的自适应价差交易系统及方法 |
CN108335201B (zh) * | 2018-01-10 | 2022-03-04 | 武汉旷腾信息技术有限公司 | 一种基于fpga的自适应价差交易系统及方法 |
CN108768983A (zh) * | 2018-05-17 | 2018-11-06 | 上海金融期货信息技术有限公司 | 基于fpga的海量网络突发数据分发系统 |
CN110460540A (zh) * | 2019-06-28 | 2019-11-15 | 杨涛 | 一种低延迟高频交易系统及方法 |
CN110460540B (zh) * | 2019-06-28 | 2023-03-14 | 杨涛 | 一种低延迟高频交易系统及方法 |
CN111339030A (zh) * | 2020-02-23 | 2020-06-26 | 苏州浪潮智能科技有限公司 | 一种基于fpga的云文件系统及其数据处理方法 |
CN112486274A (zh) * | 2020-11-12 | 2021-03-12 | 深圳宏芯宇电子股份有限公司 | 计算机扩展卡及计算机系统 |
CN112486274B (zh) * | 2020-11-12 | 2024-03-08 | 深圳宏芯宇电子股份有限公司 | 计算机扩展卡及计算机系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107194811A (zh) | 一种基于fpga的高频交易量化系统 | |
EP3612942B1 (en) | Queue management for direct memory access | |
US10069916B2 (en) | System and method for transparent context aware filtering of data requests | |
US9208003B2 (en) | Hypervisor to I/O stack conduit in virtual real memory | |
CN102841759B (zh) | 一种针对超大规模虚拟机集群的存储系统 | |
JP5611889B2 (ja) | データ転送装置、データ送信システムおよびデータ送信方法 | |
CN103873559A (zh) | 一种高速存储的数据库一体机 | |
CN105023185B (zh) | 一种基于fpga的期货交易盘口数据实时解析系统 | |
US11868297B2 (en) | Far-end data migration device and method based on FPGA cloud platform | |
CN102075401A (zh) | 在pcie总线上传输报文的方法、设备和系统 | |
CN104735123A (zh) | 用于云计算的大容量存储虚拟化 | |
CN115033188B (zh) | 一种基于zns固态硬盘的存储硬件加速模块系统 | |
CN104834484A (zh) | 基于嵌入式可编程逻辑阵列的数据处理系统及处理方法 | |
WO2023179742A1 (zh) | 数据访问方法及系统、硬件卸载设备、电子设备及介质 | |
JP2019185764A (ja) | Ndpサーバー―データセンターのストレージサーバーベースのデータ中心のコンピューティングアーキテクチャ― | |
CN107636615A (zh) | 基于运行时功率效率判定的自适应硬件加速器 | |
Coughlin | Digital storage and memory | |
CN104461941B (zh) | 一种内存系统架构及管理方法 | |
WO2023185639A1 (zh) | 一种基于nvme硬盘的数据交互系统及方法 | |
CN102279728A (zh) | 数据存储设备及数据计算方法 | |
CN1205547C (zh) | 用普通scsi磁盘代替存储光纤网络中光纤磁盘阵列的方法 | |
CN104267911B (zh) | 数据存储控制器及其数据处理方法 | |
CN107256131B (zh) | 一种基于tcmu虚拟磁盘分布式块存储系统的性能优化方法 | |
CN115563053A (zh) | 高性能片上内存控制器及其执行的方法 | |
CN103714022A (zh) | 一种基于数据块的混合存储系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170922 |