CN111311403A - 一种策略交易引擎系统 - Google Patents
一种策略交易引擎系统 Download PDFInfo
- Publication number
- CN111311403A CN111311403A CN201911219986.0A CN201911219986A CN111311403A CN 111311403 A CN111311403 A CN 111311403A CN 201911219986 A CN201911219986 A CN 201911219986A CN 111311403 A CN111311403 A CN 111311403A
- Authority
- CN
- China
- Prior art keywords
- policy
- strategy
- plug
- transaction
- transaction engine
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 10
- 238000011161 development Methods 0.000 abstract description 3
- 238000011002 quantification Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000012546 transfer 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种策略交易引擎系统,基于基础行情、定价参数、定价结果和交易数据,提供一套完整且丰富的策略API,编写策略插件,进行日常交易、对冲,可根据策略量化交易平台的独特需求进行定制化且方便二次开发。其技术方案为:本发明提供的策略接口形成一套完整的策略API接口。此外,本发明的策略交易引擎系统提供多进程部署方式,可以按照不同的产品或者不同的交易所柜台进行策略部署,灵活高效。本发明的策略交易引擎系统内部的应用线程个数可以根据配置文件进行配置,从而实现负载均衡。
Description
技术领域
本发明涉及金融交易软件,具体涉及一种高性能的策略交易引擎系统。
背景技术
策略交易引擎所处领域为金融衍生品的做市程序化交易领域,程序化交易是指投资者将交易思想与交易规则模型化,构建成交易策略,并由计算机执行策略,实现自动判定买卖价格或者买卖时机并下单的交易方式。
目前国内具有做市商资格的各大券商和期货公司所用的策略交易系统主要是horizon和orc,这两大系统基本上垄断了国内外做市商系统,但对于面对金融衍生品上日益丰富的做市产品,可定制化的需求特别显著。
对于不同的客户,不同的产品,策略量化交易平台都会有自己独特的需求,可定制化且方便二次开发正是目前业界亟待需要的产品。
发明内容
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
本发明的目的在于解决上述问题,提供了一种策略交易引擎系统,基于基础行情、定价参数、定价结果和交易数据,提供一套完整且丰富的策略API,编写策略插件,进行日常交易、对冲,可根据策略量化交易平台的独特需求进行定制化且方便二次开发。
本发明的技术方案为:本发明揭示了一种策略交易引擎系统,包括至少一个策略交易引擎模块和至少一个策略API接口模块,其中:
策略交易引擎模块,用于加载和管理至少一个策略插件,发布策略插件的插件信息,为策略插件提供输入数据,并将策略插件输出的指令发布出去,其中策略插件内部设置基于交易员根据策略API接口模块进行的策略交易算法,每一策略插件用于供用户根据插件信息进行实例化形成至少一个策略实例,策略实例用于根据策略API接口模块访问查询数据并做出对应的指令且受用户操作指令的控制;
策略API接口模块,用于基于策略交易引擎模块开放给用户来编写策略插件的一套标准化接口。
根据本发明的策略交易引擎系统的一实施例,策略插件的插件信息包括但不限于:用于唯一标识策略插件的插件ID、用于告知用户需配置的参数信息的插件参数;为策略插件提供的输入数据包括但不限于:行情流、交易流、参数流;策略插件输出的指令包括但不限于:交易指令、参数指令和控制指令。
根据本发明的策略交易引擎系统的一实施例,策略实例做出的指令包括但不限于:交易指令、参数指令和控制指令。
根据本发明的策略交易引擎系统的一实施例,策略交易引擎模块支持多进程启动方式,策略交易引擎模块内部采用多线程方式,多线程包括但不限于订阅线程、发布线程、应用线程和主线程,其中:
订阅线程用于订阅外部数据并将该外部数据实时写入到流单元中,其中流单元中存储网络数据报文;
发布线程用于对外发布策略插件生成的交易指令和策略运行状态消息;
应用线程用于从流单元中根据网络报文消息和业务逻辑构建出自身的内存数据库,并执行至少一个策略实例,其中内存数据库用于维护数据且提供统一的数据获取接口供策略实例查询访问;
主线程用于完成发布线程、订阅线程、应用线程的启动和策略插件的加载。
根据本发明的策略交易引擎系统的一实施例,订阅线程所订阅的该外部数据包括但不限于:行情数据、交易数据、策略参数和控制指令,其中策略参数是策略插件的合约参数,控制指令由客户端的控制命令驱动策略执行且包括但不限于创建、启动、暂停和删除策略实例,。
根据本发明的策略交易引擎系统的一实施例,应用线程所执行的策略实例,是由策略交易引擎模块根据负载均衡算法将策略实例分配到对应的应用线程上。
根据本发明的策略交易引擎系统的一实施例,主线程对策略插件的加载方式包括:主线程加载指定目录下的一个或多个策略插件动态库文件,其中每个动态库对应一个策略插件并包含一个插件ID,主线程通过加载各个策略插件在策略交易引擎模块内部建立一套策略插件集,并将各个策略插件的实例参数对外发布。
根据本发明的策略交易引擎系统的一实施例,策略API接口模块包括策略管理接口、策略输入接口和策略输出接口,其中策略管理接口用于策略的创建、启动、暂停和删除,且提供包括策略流注册在内的数据初始化的操作,且提供获取策略实例参数接口用于告知策略插件提供的策略参数列表,策略输入接口是策略插件的业务数据来源,策略输出接口用于策略插件向策略交易引擎模块输出数据。
本发明对比现有技术有如下的有益效果:本发明的策略交易引擎系统提供多语言接口,支持C++、Python、自拓展等,底层通讯基于无锁队列传输和内存数据库存储来实现高性能引擎,提供的流接口丰富、易使用且易扩展。同现有的策略交易引擎相比,本发明提供的策略接口形成一套完整的策略API接口。此外,本发明的策略交易引擎系统提供多进程部署方式,可以按照不同的产品或者不同的交易所柜台进行策略部署,灵活高效。本发明的策略交易引擎系统内部的应用线程个数可以根据配置文件进行配置,从而实现负载均衡。
附图说明
在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
图1示出了本发明的策略交易引擎系统的一实施例的原理图。
图2示出了本发明的策略交易引擎模块的线程模型的原理图。
图3示出了本发明的主线程对策略插件加载的启动流程图。
图4示出了本发明的策略插件的业务构成要素的示意图。
具体实施方式
以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。
本实施例的策略交易引擎系统包括至少一个策略交易引擎模块和至少一个策略API接口模块。
图1示出了本实施例的策略交易引擎系统的原理图。如图1所示,策略交易引擎模块用于加载和管理至少一个策略插件,将策略插件的插件信息发布给用户,并且为策略插件提供输入数据,并对外发布策略插件输出的交易指令、参数指令、控制指令。
上述策略插件的插件信息包括插件ID(用于唯一标识策略插件)、插件参数(用于告知用户需配置的参数信息)。上述为策略插件提供的数据输入包括但不限于:行情流(原始行情、衍生行情)、交易流(持仓、成交)和参数流(合约参数、系列参数)。
用户根据策略插件的插件信息对策略插件进行实例化,即,创建实例。创建实例需要设置策略插件所需的相关参数信息,创建实例成功后,用户通过包括启动、暂停和删除在内的操作指令对策略插件的策略实例进行控制。
用户可以对同一个策略插件进行若干次实例化。例如,如图1中所示,策略交易引擎模块内部加载了两个策略插件(策略插件一和策略插件二),每个策略插件都分别被实例化3次。
策略插件内设置基于交易员根据策略交易引擎系统提供的策略API接口模块进行的策略交易算法。策略插件根据对策略参数设置不同的参数值或者根据不同的交易品种,进行不同的实例化,每个策略实例通过策略API接口模块访问查询相关数据,并做出相关的交易指令(例如报单、撤单)、参数指令(例如修改合约参数、修改定价参数)和控制指令(例如输出日志和启停实例)。
策略交易引擎模块支持多进程启动方式,不同的策略交易引擎模块可以挂载同一个策略插件,亦可以挂载不同的策略插件。在策略交易引擎模块内部采用多线程方式,包括主线程、发布线程、订阅线程、可配置个数的应用线程。
图2示出了策略交易引擎模块的线程模型,策略交易引擎模块内部分为订阅线程、发布线程、应用线程和主线程。
订阅线程用于订阅外部数据,这些外部数据包括行情数据、交易数据、策略参数和控制指令,并将这些外部数据实时写入到流单元FLOW中。
每个应用线程从存储网络数据报文的流单元FLOW中根据网络报文消息及业务逻辑构建出相应的内存数据库(MDB)。在本实施例中,使用不同的消息编码表示不同的网络数据报文,如基础行情数据、衍生行情数据、合约数据、组合持仓数据、持仓数据以及交易过程中实时的报单数据、成交数据等,策略交易引擎模块将这些不同的数据源封装成策略交易引擎模块可对策略插件提供的策略流接口,并统一管理策略流数据,提供注册接口给策略插件,以便策略插件可以获取不同类型的策略流数据,也可以将流单元FLOW中的实时数据解析到对应的应用线程对应的内存数据库中,并通知给注册该类别策略流数据的策略插件实例。用户可以在一个策略插件中创建多个策略插件实例来实现策略交易算法。
发布线程用于对外发布策略插件生成的报单、撤单的交易指令和策略运行状态消息。
应用线程用于执行策略实例,每个应用线程可以有多个策略实例,如图2中所示的策略实例1和策略实例2。每个应用线程都有自己独立的内存数据库MDB。应用线程用于处理订阅数据,更新内存数据库,同时驱动策略实例,为策略实例提供数据获取接口。策略交易引擎模块可以加载一个策略插件或者若干策略插件,每个策略插件可以有若干策略实例,根据负载均衡算法(本实施例采用轮询机制来完成负载均衡),将各个策略实例分配到对应的应用线程上去。每个策略实例内自行维护在途订单数据,对于订单、持仓等交易数据由应用线程统一更新。每个应用线程内独立维护一个内存数据库,内存数据库通过实时读取流中的消息来构建,内存数据库主要维护行情、理论价、报单、报价、持仓、参数等数据,并提供统一的数据获取接口供策略实例查询访问。策略交易引擎提供丰富的数据流给策略插件。策略开发人员基于策略API接口模块编写诸如波动率模型插件、自动报价策略插件、自动对冲策略插件等等,策略插件需要往策略交易引擎模块输出交易指令、修改指令、日志输出等,策略交易引擎模块提供了报单处理器、报价处理器、合约参数修改处理器、合约组参数修改处理器、定价参数修改处理器、日志输出处理器以及定时处理器。策略插件在被实例化后,策略交易引擎会为每个策略实例创建以上所述的处理器,并为策略插件提供访问所有处理器的接口。
主线程用于完成发布线程、订阅线程、应用线程的启动和策略插件的加载。策略插件加载是主线程加载指定目录下的一个或多个策略插件动态库文件,每个动态库对应一个策略插件,并包含一个独一无二的插件ID。通过加载各个策略插件在策略交易引擎模块内部建立一套策略插件集,并将各个策略插件的实例参数(策略插件往外提供的参数,并且用户可以动态修改这些参数)以格式实例名/参数类型/参数名等格式依次发布,供客户端展示。
外部输入的数据根据数据分类主要有控制指令、业务数据(包括行情数据和交易数据)、策略参数。以上外部数据都通过订阅线程写入到流单元FLOW中,流单元FLOW是数据的队列线性缓存区。策略参数主要是策略插件需要的合约参数,如自动报单插件需要的报单手数等,策略参数在系统启动后由从数据库中拉取策略参数,发送至策略交易引擎模块。外部的控制命令由客户端的控制命令驱动策略执行,主要是创建策略实例、启动、暂停和删除策略实例。业务数据包括行情数据、交易数据(报单、报价、成交、持仓)等,对于业务数据提供统一获取业务数据的接口,在策略插件内部可通过调用接口来获取应用线程内存表中的数据。策略实例化后,根据参数配置订阅相应的数据流,并可对流单元FLOW进行过滤,过滤条件有产品号、系列号、合约号、组合号、策略号、策略实例号,可指定取并集或交集。策略插件内可向应用程序注册多种定时器事件,定时器到期后由应用线程回调对应接口。
图3示出了主线程对策略插件加载的启动流程图。
如图3所示,主线程对策略插件加载的启动步骤如下。
步骤1:程序启动时加载指定目录下的策略插件(动态库so)。
步骤2:程序加载完策略插件后,解析策略插件内部的策略插件ID,并建立策略映射关系表。
步骤3:在策略实例启动阶段,当策略引擎接收到一个创建策略实例的请求时,首先遍历策略实例配置表,并加载策略参数。
步骤4:加载完策略参数后,程序正式启动完毕策略实例。
策略API接口模块是用于基于策略交易引擎模块开放给用户来编写策略插件的一套标准化接口,策略API接口模块包含策略管理接口、策略输入接口和策略输出接口三大类。
策略管理接口是一个策略插件必须要继承实现的基类,负责策略的创建、启动、暂停和删除,同时也提供策略流注册等数据初始化的操作,并且提供获取实例参数接口用于告知策略插件提供的策略参数列表,该接口主要由策略交易引擎模块调用。
策略输入接口是策略插件的业务数据来源,在该类接口中,每个流均有对应的消息msg及解析函数,流提供主动根据主键获取msg数据的接口以及全遍历的接口,同时提供实时数据回调接口给策略交易引擎。根据不同的流属性,如交易数据流或者定价数据流,需要支持流快照。每个流都可以设置过滤器filter,过滤器支持支持按照合约号、系列号、策略号和组合号四个级别的过滤,同时支持这三个级别的过滤器的与或非的叠加使用,并调用流接口中的设置过滤器接口和流进行绑定,在流主动获取数据或者策略交易引擎调用回调的时候过滤器对数据进行过滤。
策略输出接口用于策略插件向策略交易引擎模块输出数据,本策略交易引擎提供的输出指令有:合约参数修改指令、合约组参数修改指令、日志输出指令、定时器、订单指令、报单指令等等。
图4示出了策略插件的业务构成要素示意图。如图4所示,一个策略插件的主要要素分为三大部分,即策略输入流、内部逻辑和策略输出指令。其中策略输入流用于插件接收业务数据的输入,并由此做出响应。策略输入流从下至上的构造是table、msg和filter,table是引擎内部的内存数据库表,并对数据库的记录封装了一层接口供插件访问消息msg,每个流可以选择设置filter与否,来通知引擎对数据进行有效的过滤。策略交易引擎系统提供的数据流丰富易用,可以在金融衍生品行业对各种产品进行策略交易,交易员根据数据流完成自身的内部插件算法后,可以输出策略输出指令(caller),如报价、报价的交易指令或者启停自身的操作指令。
尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。
本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
结合本文所公开的实施例描述的各种解说性逻辑板块、模块、和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或多个微处理器、或任何其他此类配置。
结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。
Claims (8)
1.一种策略交易引擎系统,其特征在于,包括至少一个策略交易引擎模块和至少一个策略API接口模块,其中:
策略交易引擎模块,用于加载和管理至少一个策略插件,发布策略插件的插件信息,为策略插件提供输入数据,并将策略插件输出的指令发布出去,其中策略插件内部设置基于交易员根据策略API接口模块进行的策略交易算法,每一策略插件用于供用户根据插件信息进行实例化形成至少一个策略实例,策略实例用于根据策略API接口模块访问查询数据并做出对应的指令且受用户操作指令的控制;
策略API接口模块,用于基于策略交易引擎模块开放给用户来编写策略插件的一套标准化接口。
2.根据权利要求1所述的策略交易引擎系统,其特征在于,策略插件的插件信息包括但不限于:用于唯一标识策略插件的插件ID、用于告知用户需配置的参数信息的插件参数;为策略插件提供的输入数据包括但不限于:行情流、交易流、参数流;策略插件输出的指令包括但不限于:交易指令、参数指令和控制指令。
3.根据权利要求1所述的策略交易引擎系统,其特征在于,策略实例做出的指令包括但不限于:交易指令、参数指令和控制指令。
4.根据权利要求1所述的策略交易引擎系统,其特征在于,策略交易引擎模块支持多进程启动方式,策略交易引擎模块内部采用多线程方式,多线程包括但不限于订阅线程、发布线程、应用线程和主线程,其中:
订阅线程用于订阅外部数据并将该外部数据实时写入到流单元中,其中流单元中存储网络数据报文;
发布线程用于对外发布策略插件生成的交易指令和策略运行状态消息;
应用线程用于从流单元中根据网络报文消息和业务逻辑构建出自身的内存数据库,并执行至少一个策略实例,其中内存数据库用于维护数据且提供统一的数据获取接口供策略实例查询访问;
主线程用于完成发布线程、订阅线程、应用线程的启动和策略插件的加载。
5.根据权利要求4所述的策略交易引擎系统,其特征在于,订阅线程所订阅的该外部数据包括但不限于:行情数据、交易数据、策略参数和控制指令,其中策略参数是策略插件的合约参数,控制指令由客户端的控制命令驱动策略执行且包括但不限于创建、启动、暂停和删除策略实例,。
6.根据权利要求4所述的策略交易引擎系统,其特征在于,应用线程所执行的策略实例,是由策略交易引擎模块根据负载均衡算法将策略实例分配到对应的应用线程上。
7.根据权利要求4所述的策略交易引擎系统,其特征在于,主线程对策略插件的加载方式包括:主线程加载指定目录下的一个或多个策略插件动态库文件,其中每个动态库对应一个策略插件并包含一个插件ID,主线程通过加载各个策略插件在策略交易引擎模块内部建立一套策略插件集,并将各个策略插件的实例参数对外发布。
8.根据权利要求4所述的策略交易引擎系统,其特征在于,策略API接口模块包括策略管理接口、策略输入接口和策略输出接口,其中策略管理接口用于策略的创建、启动、暂停和删除,且提供包括策略流注册在内的数据初始化的操作,且提供获取策略实例参数接口用于告知策略插件提供的策略参数列表,策略输入接口是策略插件的业务数据来源,策略输出接口用于策略插件向策略交易引擎模块输出数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911219986.0A CN111311403B (zh) | 2019-12-03 | 2019-12-03 | 一种策略交易引擎系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911219986.0A CN111311403B (zh) | 2019-12-03 | 2019-12-03 | 一种策略交易引擎系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111311403A true CN111311403A (zh) | 2020-06-19 |
CN111311403B CN111311403B (zh) | 2024-01-26 |
Family
ID=71161844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911219986.0A Active CN111311403B (zh) | 2019-12-03 | 2019-12-03 | 一种策略交易引擎系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111311403B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113065954A (zh) * | 2020-12-24 | 2021-07-02 | 上海金融期货信息技术有限公司 | 基于低延迟复杂事件的做市策略引擎系统 |
CN113139870A (zh) * | 2021-04-30 | 2021-07-20 | 东吴在线(上海)金融信息服务有限公司 | 一种债券行情获取与交易方法、系统、存储介质及计算机设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346171A (zh) * | 2014-10-28 | 2015-02-11 | 石玉峰 | 一种程序化交易策略的自动构建与优化方法 |
US20160005116A1 (en) * | 2014-07-01 | 2016-01-07 | Algofast Llc | Event and strategy driven financial transactions method and system |
CN106504088A (zh) * | 2015-09-07 | 2017-03-15 | 高庆文 | 一种在可移动计算设备实现量化交易的方法及系统 |
CN107516276A (zh) * | 2017-08-08 | 2017-12-26 | 深圳市智策科技有限公司 | 智能投资顾问系统 |
CN108242023A (zh) * | 2018-01-04 | 2018-07-03 | 众安信息技术服务有限公司 | 一种智能交易系统 |
CN208061256U (zh) * | 2017-09-07 | 2018-11-06 | 深圳宽投信息科技有限公司 | 一种电子交易策略生成设备 |
CN109064175A (zh) * | 2018-06-11 | 2018-12-21 | 阿里巴巴集团控股有限公司 | 一种账户盗用风险防控方法及装置 |
CN109949163A (zh) * | 2019-03-27 | 2019-06-28 | 上海昆鸿实业有限公司 | 一种量化投资策略组合风险管控方法 |
US20190332449A1 (en) * | 2018-04-27 | 2019-10-31 | Nasdaq Technology Ab | Publish-subscribe framework for application execution |
-
2019
- 2019-12-03 CN CN201911219986.0A patent/CN111311403B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160005116A1 (en) * | 2014-07-01 | 2016-01-07 | Algofast Llc | Event and strategy driven financial transactions method and system |
CN104346171A (zh) * | 2014-10-28 | 2015-02-11 | 石玉峰 | 一种程序化交易策略的自动构建与优化方法 |
CN106504088A (zh) * | 2015-09-07 | 2017-03-15 | 高庆文 | 一种在可移动计算设备实现量化交易的方法及系统 |
CN107516276A (zh) * | 2017-08-08 | 2017-12-26 | 深圳市智策科技有限公司 | 智能投资顾问系统 |
CN208061256U (zh) * | 2017-09-07 | 2018-11-06 | 深圳宽投信息科技有限公司 | 一种电子交易策略生成设备 |
CN108242023A (zh) * | 2018-01-04 | 2018-07-03 | 众安信息技术服务有限公司 | 一种智能交易系统 |
US20190332449A1 (en) * | 2018-04-27 | 2019-10-31 | Nasdaq Technology Ab | Publish-subscribe framework for application execution |
CN109064175A (zh) * | 2018-06-11 | 2018-12-21 | 阿里巴巴集团控股有限公司 | 一种账户盗用风险防控方法及装置 |
CN109949163A (zh) * | 2019-03-27 | 2019-06-28 | 上海昆鸿实业有限公司 | 一种量化投资策略组合风险管控方法 |
Non-Patent Citations (2)
Title |
---|
杜小甫;: "数据与交易独立的期货程序化交易系统设计", 中国新通信, no. 14 * |
殷明;柯军;: "证券公司算法交易系统建设概述", 中国金融电脑, no. 04 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113065954A (zh) * | 2020-12-24 | 2021-07-02 | 上海金融期货信息技术有限公司 | 基于低延迟复杂事件的做市策略引擎系统 |
CN113065954B (zh) * | 2020-12-24 | 2023-09-29 | 上海金融期货信息技术有限公司 | 基于低延迟复杂事件的做市策略引擎系统 |
CN113139870A (zh) * | 2021-04-30 | 2021-07-20 | 东吴在线(上海)金融信息服务有限公司 | 一种债券行情获取与交易方法、系统、存储介质及计算机设备 |
CN113139870B (zh) * | 2021-04-30 | 2023-01-31 | 东吴在线(上海)金融信息服务有限公司 | 一种债券行情获取与交易方法、系统、存储介质及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111311403B (zh) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10241960B2 (en) | Historical data replay utilizing a computer system | |
US4631664A (en) | Partnership data base management system and method | |
US8478789B2 (en) | Adapter architecture for mobile data system | |
US9927992B2 (en) | Segmented database migration | |
US8341120B2 (en) | Apparatus and methods for transferring database objects into and out of database systems | |
CN102236705A (zh) | 数据库重放的细粒度同步 | |
US8250583B2 (en) | Workflow processing system and method with federated database system support | |
WO2019047441A1 (zh) | 一种通信优化方法及系统 | |
EP2466493A1 (en) | SADL query view - a model-driven approach to speed-up read-only use cases | |
CN109271435A (zh) | 一种支持断点续传的数据抽取方法及系统 | |
CN111311403B (zh) | 一种策略交易引擎系统 | |
EP2388697B1 (en) | System and method for managing conflicts between business functions configurations | |
CN109918106B (zh) | 一种混合cdn统一源站自动刷新方法及系统 | |
CN111309494A (zh) | 一种多线程事件处理组件 | |
CN115794917A (zh) | 一种资源数据的导入方法及装置 | |
CN113065954B (zh) | 基于低延迟复杂事件的做市策略引擎系统 | |
JP2023543996A (ja) | 分析アプリケーション環境におけるセマンティックモデルアクションセットおよびリプレイのためのシステムならびに方法 | |
CN112445600A (zh) | 一种离线数据处理任务发布方法及系统 | |
US20240078140A1 (en) | APPLICATION PROGRAMMING INTERFACE (API) ENABLER FOR UPDATED APIs | |
US20050234827A1 (en) | System for processing executable applications to be suitable for distribution | |
CN115293605A (zh) | 一种数据处理方法、装置、设备及介质 | |
Troelsen et al. | Exploring Entity Framework Core | |
CN113918634A (zh) | 一种用于数据交互的数据适配方法、适配器及存储介质 | |
JPH0535575A (ja) | フアイル転送システムの管理フアイル更新方式 | |
CN115098241A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |