CN112634041A - 基于fpga的金融交易方法、装置及系统 - Google Patents
基于fpga的金融交易方法、装置及系统 Download PDFInfo
- Publication number
- CN112634041A CN112634041A CN202011586946.2A CN202011586946A CN112634041A CN 112634041 A CN112634041 A CN 112634041A CN 202011586946 A CN202011586946 A CN 202011586946A CN 112634041 A CN112634041 A CN 112634041A
- Authority
- CN
- China
- Prior art keywords
- order
- transaction
- fpga
- order information
- sending
- 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
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000004458 analytical method Methods 0.000 claims abstract description 46
- 238000004519 manufacturing process Methods 0.000 claims abstract description 19
- 230000015654 memory Effects 0.000 claims description 32
- 238000004806 packaging method and process Methods 0.000 claims description 14
- 238000005538 encapsulation Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- 239000000758 substrate Substances 0.000 description 3
- 239000000463 material Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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的金融交易方法、装置及系统,所述方法包括:在获取到行情数据后,将该行情数据依次发送到FPGA的第一预设并行流水线中进行解析,对应得到行情数据的解析包,然后将解析包输入到FPGA的至少两个目标预设策略算法中进行并行运算,对应得到每个目标预设策略算法输出的交易信号,最后根据交易信号完成金融交易,由于本申请的技术方案利用了第一预设并行流水线的并行方式,可以减少延时,提高处理速度。
Description
技术领域
本申请涉及金融交易技术领域,尤其涉及一种基于FPGA的金融交易方法、装置及系统。
背景技术
随着证券期货行业专业化程度越来越高,证券、期货以及各种衍生品的交易正在由散户交易为主的状态转变为专业机构交易的状态,这就使得机构的金融交易数量得到较大幅度的增长,尤其是程序化交易的交易量,具有较大的增长幅度。
由于交易量的日益增长,对交易速度的要求也就越来越高,但是,目前的程序化交易往往通过基于CPU多核处理器来完成,CPU在处理这些数据时,一般都是通过空间并行的方式进行处理,也就是说,对于多个数据包,需要同时输入和输出,那么对于这些数据包,处理完成的时间便是对处理时间最长的数据包进行处理的时间,这就会造成一定的延时,从而导致整个系统具有较大的延时,处理速度变慢。
发明内容
为至少在一定程度上克服相关技术中存在的问题,本申请提供一种基于FPGA的金融交易方法、装置及系统。
根据本申请实施例的第一方面,提供一种基于FPGA的金融交易方法,包括:
获取行情数据;
将所述行情数据依次发送到FPGA的第一预设并行流水线中进行解析,对应得到所述行情数据的解析包;
将所述解析包输入到FPGA的至少两个目标预设策略算法中进行并行运算,对应得到每个目标预设策略算法输出的交易信号;
根据所述交易信号完成所述金融交易。
在一个可选的实施例中,所述根据所述交易信号完成所述金融交易,包括:
将所述交易信号发送到第二预设并行流水线中进行封装,得到订单信息;
将所述订单信息发送到交易柜台,以使所述交易柜台处理所述订单信息,并返回所述订单信息的订单状态;
接收所述订单状态,并根据所述订单状态更新订单库。
在一个可选的实施例中,在将所述交易信号发送到第二预设并行流水线中进行封装,得到订单信息之后,所述方法还包括:
若所述订单信息对应的订单为新增订单,根据所述订单信息生成新建订单请求;
将所述新建订单请求发送到订单库中,以使所述订单库根据所述新建订单请求建立所述订单信息的存储条目。
在一个可选的实施例中,在将所述交易信号发送到第二预设并行流水线中进行封装之前,所述方法还包括:
若所述交易信号不满足预设条件,拦截所述交易信号。
根据本申请实施例的第二方面,提供一种基于FPGA的金融交易装置,包括:
获取模块,用于获取行情数据;
解析模块,用于将所述行情数据依次发送到FPGA的第一预设并行流水线中进行解析,对应得到所述行情数据的解析包;
运算模块,用于将所述解析包输入到FPGA的至少两个目标预设策略算法中进行并行运算,对应得到每个目标预设策略算法输出的交易信号;
交易模块,用于根据所述交易信号完成所述金融交易。
在一个可选的实施例中,所述交易模块包括:
封装单元,用于将所述交易信号发送到第二预设并行流水线中进行封装,得到订单信息;
发送单元,用于将所述订单信息发送到交易柜台,以使所述交易柜台处理所述订单信息,并返回所述订单信息的订单状态;
接收单元,用于接收所述订单状态,并根据所述订单状态更新订单库。
在一个可选的实施例中,所述装置还包括:
生成模块,用于若所述订单信息对应的订单为新增订单,根据所述订单信息生成新建订单请求;
建立模块,用于将所述新建订单请求发送到订单库中,以使所述订单库根据所述新建订单请求建立所述订单信息的存储条目。
在一个可选的实施例中,所述装置还包括:
拦截模块,用于若所述交易信号不满足预设条件,拦截所述交易信号。
根据本申请的第三方面,提供一种基于FPGA的金融交易系统,包括:至少一个处理器和存储器;
所述处理器用于执行所述存储器中存储的基于FPGA的金融交易程序,以实现本申请第一方面所述的基于FPGA的金融交易方法。
根据本申请的第四方面,提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序被执行时,实现本申请第一方面所述的基于FPGA的金融交易方法。
本申请提供的技术方案可以包括以下有益效果:在获取到行情数据后,将该行情数据依次发送到FPGA的第一预设并行流水线中进行解析,对应得到行情数据的解析包,然后将解析包输入到FPGA的至少两个目标预设策略算法中进行并行运算,对应得到每个目标预设策略算法输出的交易信号,最后根据交易信号完成金融交易,由于本申请的技术方案利用了第一预设并行流水线的并行方式,可以减少延时,提高处理速度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请的一个实施例提供的一种基于FPGA的金融交易方法的流程示意图;
图2是本申请另一实施例提供的完成金融交易的流程示意图;
图3是本申请的另一实施例提供的一种更新订单库的流程示意图;
图4是本申请的另一实施例提供的一种基于FPGA的金融交易装置的结构示意图;
图5是本申请的另一实施例提供的一种基于FPGA的金融交易系统的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
随着证券期货行业专业化程度越来越高,证券、期货以及各种衍生品的交易正在由散户交易为主的状态转变为专业机构交易的状态,这就使得机构的金融交易数量得到较大幅度的增长,尤其是程序化交易的交易量,具有较大的增长幅度。
由于交易量的日益增长,对交易速度的要求也就越来越高,但是,目前的程序化交易往往通过基于CPU多核处理器来完成,CPU在处理这些数据时,一般都是通过空间并行的方式进行处理,也就是说,对于多个数据包,需要同时输入和输出,那么对于这些数据包,处理完成的时间便是对处理时间最长的数据包进行处理的时间,这就会造成一定的延时,从而导致整个系统具有较大的延时,处理速度变慢。
请参阅图1,图1是本申请的一个实施例提供的一种基于FPGA的金融交易方法的流程示意图。
如图1所示,本实施例提供的基于FPGA的金融交易方法可以包括:
步骤S101、获取行情数据。
一般,行情数据是从行情柜台中直接获取的,在本实施例中,行情数据可以指K线图中涉及到的数据,由于行情柜台对行情数据是实时的更新,因此,本步骤中的行情数据,可以是实时的行情数据。
需要说明的是,K线图是以每个分析周期的开盘价、最高价、最低价和收盘价绘制而成,因此,行情数据至少可以包括某个分析周期的开盘价、最高价、最低价和收盘价。
步骤S102、将行情数据依次发送到FPGA的第一预设并行流水线中进行解析,对应得到行情数据的解析包。
由于从行情柜台获取到的行情数据都需要进行解码,才可以得到具体的数据,比如前述步骤中的开盘价、最高价、最低价和收盘价,因此,在获取到行情数据之后,需要对行情数据进行解析,本步骤中,将行情数据一次发送到第一预设并行流水线中,以流水线并行处理的方式对行情数据进行解析,如此便有效减小了解析时的延时。
具体的,对于流水线并行的处理方式,可以以举例的形式进行说明,以对减小延时的原因进行说明。
比如,对任一条行情数据进行解析需要10个步骤,流水线并行的方式便是将10个步骤中的每个步骤设定一个处理点,每个处理点对应只处理其中的一个步骤,且每个处理点可以同时处理多条数据,在对行情数据进行解析时,只需要依次将行情数据从第一个步骤的处理点输入进去即可,然后依次经过10个步骤的处理点后,解析成功。
相对于现有技术中空间并行的处理方式,设置5个处理模块,每个处理模块都可以独立完成上述10个步骤。
若此时有100条行情数据需要解析,流水线并行的方式只要依次将100条行情数据输入进去即可,只要一个步骤处理完成,直接进入下一个步骤,而空间并行的处理方式需要每5条处理一次,等5条全部解析完后,才会进行下5条的解析,由于行情数据有大有小,所需的处理时间不尽相同,上述两种并行处理方式中,显然流水线并行的处理方式要比空间并行的处理方式消耗的时间短。
另外,需要说明的是,第一预设流水线采用的是流水线并行的处理方式,其包括了至少一个处理点。
步骤S103、将解析包输入到FPGA的至少两个目标预设策略算法中进行并行运算,对应得到每个目标预设策略算法输出的交易信号。
在得到解析包后,便可以将解析包输入到目标预设策略算法中,需要说明的是,目标预设策略算法可以通过账户需求来确定,一般每个金融账户的账户需求不同,在进行金融交易之前,都会按照账户需求为每个金融账户绑定策略算法,因此,本步骤还需要先将金融账户绑定的策略算法确定为目标预设策略算法,然后再将解析包输入到每个目标预设策略算法进行运算,进而得到每个目标预设策略算法输出的交易信号。
需要说明的是,策略算法是利用程序化快速处理分析数据的算法,这里的数据主要是实时的行情数据、历史行情数据、行情因子或者指标、历史订单信息等,因此,本步骤中输入到目标预设策略算法中的数据除了解析包(即实时行情数据)外,还可以有历史行情数据、行情因子或者指标、历史订单信息等。
在处理分析后,会得到交易信号,该交易信号可以包括合约/股票代码、生成该交易信号的策略算法的ID、交易所编号、委托量。
步骤S104、根据交易信号完成金融交易。
本步骤中,具体完成金融交易的过程可以参见图2,图2是本申请另一实施例提供的完成金融交易的流程示意图。
如图2,本实施例中完成金融交易的过程可以包括:
步骤S201、将交易信号发送到第二预设并行流水线中进行封装,得到订单信息。
由于交易柜台能接收的信息格式较为固定,因此,本步骤中需要将交易信号进行封装。由步骤S102可以知道,交易信号可以包括合约/股票代码、生成该交易信号的策略算法的ID、交易所编号、委托量,因此,可以将其中的内容按照交易柜台能接收的格式进行封装,比如将合约/股票代码、交易所编号、委托量封装到信息中,构成订单信息。
另外,第二预设并行流水线的相关说明可以参考对第一预设并行流水线的相关解释,此处不再赘述。
另外,为了保证订单库具有一定的实时性,在本步骤之后,还可以对订单库进行更新,具体可以参阅图3,图3是本申请的另一实施例提供的一种更新订单库的流程示意图。
更新订单库的过程可以包括:
步骤S301、若订单信息对应的订单为新增订单,根据订单信息生成新建订单请求。
在判断出订单信息为新增订单后,根据订单信息生成新建订单请求,新建订单请求中可以包括上述交易信号中的内容。
步骤上302、将新建订单请求发送到订单库中,以使订单库根据新建订单请求建立订单信息的存储条目。
订单库在接收到新建订单请求后,会根据新建订单请求建立订单信息的存储条目,一般,存储条目中包含的信息应当至少包括:
订单编号:即为每个订单分配一个唯一的ID;
订单类型:主要分为市价单和限价单,以及撤单订单等;
订单状态:
1)委托:包括买卖委托或者开平仓委托;
2)成交:包括部分成交和全部成交;
3)撤单:包括撤单请求和已撤单状态;
买卖方向:包括买卖或者开平仓等;
委托价格:限价单使用的买卖价格;
合约/股票代码:交易标底物代码;
策略编号:交易系统每个策略ID对应分配一个相应的策略编号;
交易所:交易标底物所处的交易所编号;
委托量:订单请求的委托量;
成交量:已成交的数量。
步骤S202、将订单信息发送到交易柜台,以使交易柜台处理订单信息,并返回订单信息的订单状态。
在得到订单信息后直接将订单信息发送到交易柜台,交易柜台中处理该订单信息后,会返回该订单的订单状态。
步骤S203、接收订单状态,并根据订单状态更新订单库。
一般,就是在订单库中修改订单状态,比如委托、成交、撤单等状态。
需要说明的是,为了保证订单信息有效,对交易信号进行封装之前,即步骤S201之前,还可以对交易信号进行合法性判定,若交易信号不满足预设条件,则说明该交易信号不合法,此时便可以拦截交易信号。
具体的,可以根据以下内容进行合法性判定,即:
1)单次以及单位时间内报单委托数量限制检查;
2)报单频率检查;
3)限制性标底物检查;
4)开仓数量检查;
5)自成交检查;
6)其他异常交易指令检查等。
当然,合法性判定还可以根据账户的资金风险来进行,即检查新增订单资金与资金余额关系,防止透支交易。
在获取到行情数据后,将该行情数据依次发送到FPGA的第一预设并行流水线中进行解析,对应得到行情数据的解析包,然后将解析包输入到FPGA的至少两个目标预设策略算法中进行并行运算,对应得到每个目标预设策略算法输出的交易信号,最后根据交易信号完成金融交易,由于本申请的技术方案利用了第一预设并行流水线的并行方式,可以减少延时,提高处理速度。
请参阅图4,图4是本申请的另一实施例提供的一种基于FPGA的金融交易装置的结构示意图。
如图4所示,本实施例提供的基于FPGA的金融交易装置可以包括:
获取模块401,用于获取行情数据;
解析模块402,用于将行情数据依次发送到FPGA的第一预设并行流水线中进行解析,对应得到行情数据的解析包;
运算模块403,用于将解析包输入到FPGA的至少两个目标预设策略算法中进行并行运算,对应得到每个目标预设策略算法输出的交易信号;
交易模块404,用于根据交易信号完成金融交易。
在获取到行情数据后,将该行情数据依次发送到FPGA的第一预设并行流水线中进行解析,对应得到行情数据的解析包,然后将解析包输入到FPGA的至少两个目标预设策略算法中进行并行运算,对应得到每个目标预设策略算法输出的交易信号,最后根据交易信号完成金融交易,由于本申请的技术方案利用了第一预设并行流水线的并行方式,可以减少延时,提高处理速度。
在一个可选的实施例中,交易模块包括:
封装单元,用于将交易信号发送到第二预设并行流水线中进行封装,得到订单信息;
发送单元,用于将订单信息发送到交易柜台,以使交易柜台处理订单信息,并返回订单信息的订单状态;
接收单元,用于接收订单状态,并根据订单状态更新订单库。
在一个可选的实施例中,装置还包括:
生成模块,用于若订单信息对应的订单为新增订单,根据订单信息生成新建订单请求;
建立模块,用于将新建订单请求发送到订单库中,以使订单库根据新建订单请求建立订单信息的存储条目。
在一个可选的实施例中,装置还包括:
拦截模块,用于若交易信号不满足预设条件,拦截交易信号。
请参阅图5,图5是本申请的另一实施例提供的一种基于FPGA的金融交易系统的结构示意图。
如图5所示,本实施例提供的基于FPGA的金融交易系统500包括:至少一个处理器501、存储器502、至少一个网络接口503和其他用户接口504。基于FPGA的金融交易系统500中的各个组件通过总线系统505耦合在一起。可理解,总线系统505用于实现这些组件之间的连接通信。总线系统505除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统505。
其中,用户接口504可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本发明实施例中的存储器502可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本文描述的存储器502旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器502存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统5021和第二应用程序5022。
其中,操作系统5021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。第二应用程序5022,包含各种第二应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在第二应用程序5022中。
在本发明实施例中,通过调用存储器502存储的程序或指令,具体的,可以是第二应用程序5022中存储的程序或指令,处理器501用于执行各方法实施例所提供的方法步骤,例如包括:
获取行情数据;
将行情数据依次发送到FPGA的第一预设并行流水线中进行解析,对应得到行情数据的解析包;
将解析包输入到FPGA的至少两个目标预设策略算法中进行并行运算,对应得到每个目标预设策略算法输出的交易信号;
根据交易信号完成金融交易。
在一个可选的实施例中,根据交易信号完成金融交易,包括:
将交易信号发送到第二预设并行流水线中进行封装,得到订单信息;
将订单信息发送到交易柜台,以使交易柜台处理订单信息,并返回订单信息的订单状态;
接收订单状态,并根据订单状态更新订单库。
在一个可选的实施例中,在将交易信号发送到第二预设并行流水线中进行封装,得到订单信息,方法还包括:
若订单信息对应的订单为新增订单,根据订单信息生成新建订单请求;
将新建订单请求发送到订单库中,以使订单库根据新建订单请求建立订单信息的存储条目。
在一个可选的实施例中,在将交易信号发送到第二预设并行流水线中进行封装之前,方法还包括:
若交易信号不满足预设条件,拦截交易信号。
上述本发明实施例揭示的方法可以应用于处理器501中,或者由处理器501实现。处理器501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器501可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器502,处理器501读取存储器502中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文功能的单元来实现本文的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本发明实施例还提供了一种存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。
当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述在基于FPGA的金融交易设备侧执行的基于FPGA的金融交易方法。
处理器用于执行存储器中存储的基于FPGA的金融交易程序,以实现以下在基于FPGA的金融交易设备侧执行的基于FPGA的金融交易方法的步骤:
获取行情数据;
将行情数据依次发送到FPGA的第一预设并行流水线中进行解析,对应得到行情数据的解析包;
将解析包输入到FPGA的至少两个目标预设策略算法中进行并行运算,对应得到每个目标预设策略算法输出的交易信号;
根据交易信号完成金融交易。
在一个可选的实施例中,根据交易信号完成金融交易,包括:
将交易信号发送到第二预设并行流水线中进行封装,得到订单信息;
将订单信息发送到交易柜台,以使交易柜台处理订单信息,并返回订单信息的订单状态;
接收订单状态,并根据订单状态更新订单库。
在一个可选的实施例中,在将交易信号发送到第二预设并行流水线中进行封装,得到订单信息,方法还包括:
若订单信息对应的订单为新增订单,根据订单信息生成新建订单请求;
将新建订单请求发送到订单库中,以使订单库根据新建订单请求建立订单信息的存储条目。
在一个可选的实施例中,在将交易信号发送到第二预设并行流水线中进行封装之前,方法还包括:
若交易信号不满足预设条件,拦截交易信号。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种基于FPGA的金融交易方法,其特征在于,包括:
获取行情数据;
将所述行情数据依次发送到FPGA的第一预设并行流水线中进行解析,对应得到所述行情数据的解析包;
将所述解析包输入到FPGA的至少两个目标预设策略算法中进行并行运算,对应得到每个目标预设策略算法输出的交易信号;
根据所述交易信号完成所述金融交易。
2.根据权利要求1所述的方法,其特征在于,所述根据所述交易信号完成所述金融交易,包括:
将所述交易信号发送到第二预设并行流水线中进行封装,得到订单信息;
将所述订单信息发送到交易柜台,以使所述交易柜台处理所述订单信息,并返回所述订单信息的订单状态;
接收所述订单状态,并根据所述订单状态更新订单库。
3.根据权利要求2所述的方法,其特征在于,在将所述交易信号发送到第二预设并行流水线中进行封装,得到订单信息之后,所述方法还包括:
若所述订单信息对应的订单为新增订单,根据所述订单信息生成新建订单请求;
将所述新建订单请求发送到订单库中,以使所述订单库根据所述新建订单请求建立所述订单信息的存储条目。
4.根据权利要求2所述的方法,其特征在于,在将所述交易信号发送到第二预设并行流水线中进行封装之前,所述方法还包括:
若所述交易信号不满足预设条件,拦截所述交易信号。
5.一种基于FPGA的金融交易装置,其特征在于,所述装置包括:
获取模块,用于获取行情数据;
解析模块,用于将所述行情数据依次发送到FPGA的第一预设并行流水线中进行解析,对应得到所述行情数据的解析包;
运算模块,用于将所述解析包输入到FPGA的至少两个目标预设策略算法中进行并行运算,对应得到每个目标预设策略算法输出的交易信号;
交易模块,用于根据所述交易信号完成所述金融交易。
6.根据权利要求5所述的装置,其特征在于,所述交易模块包括:
封装单元,用于将所述交易信号发送到第二预设并行流水线中进行封装,得到订单信息;
发送单元,用于将所述订单信息发送到交易柜台,以使所述交易柜台处理所述订单信息,并返回所述订单信息的订单状态;
接收单元,用于接收所述订单状态,并根据所述订单状态更新订单库。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
生成模块,用于若所述订单信息对应的订单为新增订单,根据所述订单信息生成新建订单请求;
建立模块,用于将所述新建订单请求发送到订单库中,以使所述订单库根据所述新建订单请求建立所述订单信息的存储条目。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
拦截模块,用于若所述交易信号不满足预设条件,拦截所述交易信号。
9.一种基于FPGA的金融交易系统,其特征在于,包括:至少一个处理器和存储器;
所述处理器用于执行所述存储器中存储的基于FPGA的金融交易程序,以实现权利要求1-4任一项所述的基于FPGA的金融交易方法。
10.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序被执行时,实现权利要求1-4任一项所述的基于FPGA的金融交易方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011586946.2A CN112634041A (zh) | 2020-12-28 | 2020-12-28 | 基于fpga的金融交易方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011586946.2A CN112634041A (zh) | 2020-12-28 | 2020-12-28 | 基于fpga的金融交易方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112634041A true CN112634041A (zh) | 2021-04-09 |
Family
ID=75286197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011586946.2A Pending CN112634041A (zh) | 2020-12-28 | 2020-12-28 | 基于fpga的金融交易方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112634041A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120246052A1 (en) * | 2010-12-09 | 2012-09-27 | Exegy Incorporated | Method and Apparatus for Managing Orders in Financial Markets |
CN103425746A (zh) * | 2013-07-18 | 2013-12-04 | 大连理工大学 | 基于fpga的实时金融指数行情并行计算方法 |
US20140006243A1 (en) * | 2012-06-27 | 2014-01-02 | James Boudreault | Multiple Trade Matching Algorithms |
CN105989538A (zh) * | 2015-07-28 | 2016-10-05 | 盛立金融软件开发(杭州)有限公司 | 一种金融产品自动交易系统及自动交易方法 |
CN107392768A (zh) * | 2017-08-03 | 2017-11-24 | 武汉旷腾信息技术有限公司 | 一种基于fpga的期货交易系统及方法 |
CN108230149A (zh) * | 2017-12-13 | 2018-06-29 | 武汉旷腾信息技术有限公司 | 基于soc fpga的加速金融交易系统及方法 |
CN110460540A (zh) * | 2019-06-28 | 2019-11-15 | 杨涛 | 一种低延迟高频交易系统及方法 |
-
2020
- 2020-12-28 CN CN202011586946.2A patent/CN112634041A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120246052A1 (en) * | 2010-12-09 | 2012-09-27 | Exegy Incorporated | Method and Apparatus for Managing Orders in Financial Markets |
US20140006243A1 (en) * | 2012-06-27 | 2014-01-02 | James Boudreault | Multiple Trade Matching Algorithms |
CN103425746A (zh) * | 2013-07-18 | 2013-12-04 | 大连理工大学 | 基于fpga的实时金融指数行情并行计算方法 |
CN105989538A (zh) * | 2015-07-28 | 2016-10-05 | 盛立金融软件开发(杭州)有限公司 | 一种金融产品自动交易系统及自动交易方法 |
CN107392768A (zh) * | 2017-08-03 | 2017-11-24 | 武汉旷腾信息技术有限公司 | 一种基于fpga的期货交易系统及方法 |
CN108230149A (zh) * | 2017-12-13 | 2018-06-29 | 武汉旷腾信息技术有限公司 | 基于soc fpga的加速金融交易系统及方法 |
CN110460540A (zh) * | 2019-06-28 | 2019-11-15 | 杨涛 | 一种低延迟高频交易系统及方法 |
Non-Patent Citations (1)
Title |
---|
张凤麒: "基于FPGA的期货行情数据处理系统设计", 中国优秀硕士学位论文全文数据库 信息科技辑 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11042925B2 (en) | Matching techniques for data transaction requests with private attributes | |
US20020046149A1 (en) | Apparatus, methods and articles of manufacture for constructing and executing computerized transaction processes and programs | |
US20150006349A1 (en) | Electronic Trading Auction With Orders Interpreted Using Future Information | |
WO2020259035A1 (zh) | 一种业务代码的生成、执行方法及装置 | |
US20140095371A1 (en) | Timing-based trade matching | |
CN109544073B (zh) | 关单的管理方法、装置、设备及存储介质 | |
CN111091358A (zh) | 多支付渠道的统一处理方法及系统 | |
US11379191B2 (en) | Presentation oriented rules-based technical architecture display framework | |
CN111179081A (zh) | 一种消息的处理方法和处理装置 | |
WO2021129005A1 (zh) | 一种区块链状态变更交易追溯的方法及装置 | |
CN112634041A (zh) | 基于fpga的金融交易方法、装置及系统 | |
CN111144975A (zh) | 一种订单匹配方法、服务器及计算机可读存储介质 | |
CN112633996B (zh) | 信贷订单分发方法、计算机设备及其可读存储介质 | |
CN107562790A (zh) | 一种实现数据处理批量入库的方法和系统 | |
US9342541B1 (en) | Presentation oriented rules-based technical architecture display framework (PORTRAY) | |
CA3049762C (en) | Systems and methods of sequencing or combining multiple related, but different, transaction requests into a single transaction | |
US11620707B2 (en) | Systems and methods for prevention of manipulation and gaming in electronic intraday auctions | |
CN115129654B (zh) | 行情快照处理方法及相关装置 | |
US20210312443A1 (en) | Orchestration engine for transactions | |
WO2024007690A1 (zh) | 一种基于区块链的交易处理方法、装置、设备、计算机可读存储介质及计算机程序产品 | |
CN111882294B (zh) | 一种流程审批的方法和装置 | |
CN115422468A (zh) | 一种数据查询系统的构建方法及装置 | |
US10817943B2 (en) | Volume attentive trade liquidity builder | |
US10504180B2 (en) | Volume attentive trade liquidity builder | |
CN116611831A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 9th Floor, Block A, Shenzhen National Engineering Laboratory Building, No. 20, Gaoxin South 7th Road, High-tech Zone Community, Yuehai Street, Nanshan District, Shenzhen, Guangdong 518000 Applicant after: Shenzhen Huayun Information System Technology Co.,Ltd. Address before: No. 904, block a, national engineering laboratory building, Gaoxin South 7th road digital technology park, Yuehai street, Nanshan District, Shenzhen, Guangdong 518000 Applicant before: Shenzhen Huayun Information System Co.,Ltd. |