一种证券程序化交易系统和交易方法与流程

文档序号:11387565阅读:883来源:国知局
一种证券程序化交易系统和交易方法与流程

本发明涉及交易系统领域,尤其是涉及对于构建专业化的自动化交易系统和交易方法,具体地说,是一种具有便捷和功能全面的系统平台的证券程序化交易系统。



背景技术:

随着技术的进步,证券交易已经开始从人工操作往程序化、智能化、自动化的方向发展,程序化交易有着人工交易不能比拟的优势,可以摆脱人类情绪对交易的影响,不受人的体能精力限制,能够快速处理大量的数据,在短时间内作出决策,因此,越来越多的机构以及个人投资者开始寻求能够满足其要求的程序化交易系统。

目前的程序化交易系统,普遍不支持证券数据跨周期、跨品种的获取,对新出现的一些算法不能很好的支持,如人工智能、神经网络等,而个别的专业程序化交易系统,又不能灵活的支持功能变更,缺乏平台化的特质,这也是程序化交易发展的一个障碍。

现有证券交易系统存在如下技术问题:

一、不支持证券数据跨周期、跨品种的获取;二、不支持新出现的算法,如人工智能、神经网络等;三、不能灵活的支持功能变更,缺乏平台化的特质;四,不支持程序化交易策略的云端服务器托管。



技术实现要素:

1、要解决的问题

针对现有程序化交易系统平台化能力不完善、无法提供交易策略的云端服务器托管的问题,本发明提供一种证券程序化交易系统,为交易者提供一个统一、通用的程序化交易平台,提供广泛的底层接口支持,让程序化交易开发者只需要关注交易本身,降低进入程序化交易的技术门槛。

2、技术方案

为解决上述问题,本发明采用如下的技术方案。

一种证券程序化交易系统,包括数据服务器、策略云端托管服务器和程序化交易终端,其中:

所述的数据服务器包括接入模块、用户鉴权模块、数据库和连接模块;

所述的策略云端托管服务器包括策略执行模块;

所述的数据服务器通过所述的接入模块与证券交易所连接;

所述的数据服务器通过所述的连接模块与所述的策略云端托管服务器双向连接;

所述的数据服务器通过所述的连接模块与所述的程序化交易终端连接。

优选地,所述的数据库为mysql数据库。

优选地,所述的连接模块通过epoll技术与所述的程序化交易终端连接。

一种证券程序化交易方法,通过以上所述的一种证券程序化交易系统,包括如下步骤:

步骤1,启动数据服务器,数据服务器通过接入模块从证券交易所获取行情数据,进行数据合成,产生证券k线数据,保存到mysql数据库,同时启动鉴权模块开始监听,经负载均衡处理后,实施用户鉴权,鉴权失败则直接关闭连接;鉴权成功则用户准入并接收用户请求,对用户请求进行分析,若非法请求,则丢弃该用户请求,若合法请求,则允许证券k线数据发送至程序化交易终端;

步骤2,如步骤1所述,程序化交易终端从数据服务器接收证券k线数据,证券k线数据经合约数据池进入合约窗口;在合约窗口内进行窗口交互,通过交易脚本线程输出数据经结算确认流程确认后输出交易指令;

步骤3,上述步骤2中输出交易指令后,直接或者经策略云端托管服务器发送至证券公司,交易结束。

优选地,上述步骤1中证券k线数据发送后实施用户退出及用户失活检测,若检测用户退出或失活,则关闭连接。

优选地,上述步骤2中合约窗口内窗口交互及交易脚本线程输出流程为:证券k线数据经合约数据池首先实施合约数据读取,读取后分发给指标脚本线程、数学计算脚本线程和交易脚本线程,其中指标脚本线程、数学计算脚本线程接收数据后经处理后通过窗口交互反馈至合约数据读取模块,实施合约数据读取后分发给指标脚本线程、数学计算脚本线程和交易脚本线程,如此循环,该循环中交易脚本线程输出数据。

优选地,上述步骤3中策略云端托管服务器根据行情数据,自动执行策略,产生交易指令,发送至证券公司。

3、有益效果

相比于现有技术,本发明的有益效果为:

(1)本发明支持跨周期、跨品种的数据调用,可支持各种套利策略的程序化实现,帮助交易者更好的控制交易风险,并可以通过程序化策略自动发现无风险套利的机会;

(2)本发明支持多种数学算法,可以为策略开发者提供更多的策略计算工具,助力开发出更具盈利能力的交易策略,扩展的交易策略的范围;

(3)本发明提供通用的程序化交易平台,为程序化交易爱好者简化了程序化交易的进入门槛,同时高标准的支持了程序化交易开发的平台能力,使得过去大型私募和基金才有财力做到的程序化交易能力,也为广大的交易者提供了同等能力的程序化交易平台;

(4)本发明能够实现策略托管服务器,托管服务器的优势在于保证运行的环境的稳定可靠,现有技术的交易委托服务器不支持自动执行程序化的交易策略,只能在本地计算机执行分析完程序化策略后,将交易指令托管到服务器,本发明将策略执行模块上移到托管服务器,交易者可以将程序化策略完全托管到服务器,从而彻底解决环境稳定性问题;

(5)本发明针对程序化交易,提供了一整套的解决方案,使得程序化交易平台能力保证专业性水准的前提下,大大降低了使用的技术进入门槛。

附图说明

图1为系统整体框架示意图;

图2为数据服务器架构图;

图3为策略托管服务器架构图;

图4为程序化交易平台架构图;

图5为数据服务器软件流程图;

图6为策略云端托管服务器软件流程图;

图7为程序化交易终端软件流程图。

图中:100、证券交易所;200、证券公司;300、策略云端托管服务器;301、策略执行模块;400、程序化交易终端;500、数据服务器;501、接入模块;502、用户鉴权模块;503、数据库;504、连接模块。

具体实施方式

下面结合具体实施例对本发明进一步进行描述。

实施例1

如图1所示,一种证券程序化交易系统,包括数据服务器500、策略云端托管服务器300和程序化交易终端400,其中:

如图2所示,所述的数据服务器500包括通用服务器硬件、接入模块501、用户鉴权模块502、数据库503和连接模块504;

如图3所示,所述的策略云端托管服务器300包括通用服务器硬件和策略执行模块301;

如图4所示,程序化交易终端400包括用户控制硬件401和证券合约分析模块402;

所述的数据服务器500通过所述的接入模块501与证券交易所100连接;

所述的数据服务器500通过所述的连接模块504与所述的策略云端托管服务器300双向连接;

所述的数据服务器500通过所述的连接模块504与所述的程序化交易终端400连接,以此作为程序化交易终端400的后台支持设备;

所述的数据库503为mysql数据库;

所述的连接模块通过epoll技术与所述的程序化交易终端平台连接。

一种证券程序化交易方法,包括如下步骤:

步骤1,启动数据服务器,如图5所示,数据服务器通过接入模块从证券交易所获取行情数据,进行数据合成,产生证券k线数据,保存到mysql数据库,同时启动鉴权模块开始监听,经负载均衡处理后,实施用户鉴权,鉴权失败则直接关闭连接;鉴权成功则用户准入并接收用户请求,对用户请求进行分析,若非法请求,则丢弃该用户请求,若合法请求,则允许证券k线数据发送至程序化交易终端;

证券k线数据发送后实施用户退出及用户失活检测,若检测用户退出或失活,则关闭连接;

本步骤中非法请求有两类:一是网络出现问题,只接收到了部分请求数据,无法解读完整的请求命令;二是恶意攻击,不符合系统设定的请求命令,可能会对系统造成危害;合法请求是指符合设计的请求命令,系统将会给予正确的回应;

本步骤中证券k线数据同时保存至mysql数据库;mysql数据作为通用开源的数据库,可靠性功能性在全球已经有大量的项目证明,本发明采用此数据库构建基本的数据保存方案,可最大限度保证用户数据的安全;

本步骤中为支持大量程序化交易终端平台的连接,连接模块采用epoll技术,其支持高并发大用户量的连接,并采用epoll线程池分担数据收发的压力;

本实施例中接入模块和鉴权模块都是运行在数据服务器上的专用软件的算法模块,其运行流程如图5所示,负责管理程序化交易平台软件的登陆接入,以及用户权限的管理,包含用户的数据安全,及服务的可靠性,其在数据服务器中的位置如图2所示;

步骤2,如步骤1所述,程序化交易终端从数据服务器接收证券k线数据,证券k线数据经合约数据池进入合约窗口;在合约窗口内进行窗口交互,通过交易脚本线程输出数据经结算确认流程确认后输出交易指令,发送至证券公司200,交易结束;

本步骤中合约窗口内窗口交互至交易脚本线程输出流程如图7所示,具体地,证券k线数据经合约数据池首先实施合约数据读取,读取后分发给指标脚本线程、数学计算脚本线程和交易脚本线程,其中指标脚本线程、数学计算脚本线程接收数据后经处理后通过窗口交互反馈至合约数据读取模块,实施合约数据读取后分发给指标脚本线程、数学计算脚本线程和交易脚本线程,如此循环,该循环中交易脚本线程输出数据;

本步骤中确认结算流程采用如图7所示步骤;图6和图7程序化交易终端和托管服务器都包含了确认结算流程,托管服务器作为程序化交易终端不可用时的可靠备份而存在,所以必须具备交易账号登陆、策略运算以及交易指令产生的完整功能,确认结算的流程就是交易账号跟证券公司的权限确认过程,是交易登陆的具体执行动作。

本步骤中程序化交易终端平台软件的策略开发环境采用lua语言,目前没有其它方案采用此种语言,是“运行在windows系统上的自动交易软件”,特点是“内置面向对象的高级脚本语言,支持各时间周期以及跨证券合约的数据读取,支持动态数组、链表、图等数据结构”。

实施例2

一种证券程序化交易方法,与实施例1基本相同,所不同的是,步骤2中,通过交易脚本线程输出数据经托管服务器接口发送至策略云端托管服务器300,由策略云端托管服务器300根据行情数据,自动执行策略,产生交易指令,发送至证券公司200;

如图6所示,本步骤中策略云端托管服务器接收并保存用户策略至用户策略线程池,在程序化交易终端关机、断网、停电等情况下,在接收行情数据后可以自行选择用户策略,产生交易信号,结算确认流程确认后输出交易指令,发送至证券公司,交易结束。

普通托管服务器提供云端虚拟电脑服务,本发明的策略托管服务器在此基础上,将程序化交易平台的策略执行功能移植到服务器,用户就可以将原本在本地执行的程序化交易策略,上传至托管服务器,自动执行交易策略,也就是将本发明的程序化交易平台的策略执行功能上移至策略托管服务器,使得策略托管服务器也具备的策略执行的功能;策略托管服务器的优势在于其网络和电力供应可以得到最大限度的保证。

本步骤中策略云端托管服务器所生成的交易指令反馈至证券交易所,代替了程序化交易终端平台的自动化执行功能,使得投资者可以策略在安全性、可靠性更高的服务器端执行自己的策略。

本发明实现了通用型的平台化程序交易系统,且支持跨周期、跨品种获取数据,支持各种基本数据结构,提供常见的数学计算算法,能够实现策略托管服务器的功能。

本发明将通用平台的概念引入,通过抽象出底层通用功能,使得上层的交易策略都能够构建在这些底层的通用功能至上,极大的简化了交易策略的开发复杂度,并使得一些具有复杂数学计算要求的策略变得可实现;

本发明支持服务器托管自动化的交易策略使得交易者不必在本地计算机执行,特别对于家庭、办公环境的网络不稳定,电源不稳定的情况,在本地执行存在一定的隐患,而将交易策略上移到托管服务器自动执行,可保证稳定性。

本发明程序化交易终端可以运算交易策略,产生交易指令;策略云端托管服务器也可以运算交易策略并产生交易指令,尤其是交易终端关机或断网、停电的情况下,托管服务器仍可以独立完成用户托管的交易策略的运算执行。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1