会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 证券 / 一种证券交易模拟方法和系统

一种证券交易模拟方法和系统

申请号 CN202110258461.9 申请日 2021-03-10 公开(公告)号 CN112966382A 公开(公告)日 2021-06-15
申请人 华泰证券股份有限公司; 发明人 王阳; 田江; 王冠; 朱文斌; 张伟溪; 张超;
摘要 本发明公开了一种证券交易模拟方法和系统,属于计算机模拟技术领域,所述方法包括如下步骤:建立单个或者相互独立的多个交易所模拟实例,其中,每个交易所模拟实例启动一个进程,每个报盘都接入一个独立的交易所模拟实例;基于交易时间和交易业务两个维度建立交易撮合策略模型,其中,所述撮合策略模型包括全局成交策略模型和局部成交策略模型;根据接收到的用户申报订单的实例信息进行撮合策略模型匹配,并结合行情进行撮合模拟;根据用户申报订单的配置时间获取所对应的撮合模拟结果,生成申报清算文件。本发明能够满足证券交易测试使用简单、全时段、成交规则可配置的需求,提升证券交易测试效率与质量。
权利要求

1.一种证券交易模拟方法,其特征在于,所述方法包括如下步骤:建立单个或者相互独立的多个交易所模拟实例,其中,每个交易所模拟实例启动一个进程,每个报盘都接入一个独立的交易所模拟实例;

基于交易时间和交易业务两个维度建立交易撮合策略模型,其中,所述撮合策略模型包括全局成交策略模型和局部成交策略模型;

根据接收到的用户申报订单的实例信息进行撮合策略模型匹配,并结合行情进行撮合模拟;

根据用户申报订单的配置时间获取所对应的撮合模拟结果,生成申报清算文件。

2.根据权利要求1所述的证券交易模拟方法,其特征在于,对用户申报订单进行全局成交策略模型或局部成交策略模型匹配,并根据用户申报订单的业务类型获取所匹配策略模型中的成交策略,进行实际撮合模拟。

3.根据权利要求2所述的证券交易模拟方法,其特征在于,所述全局成交策略模型对一组多个交易所模拟实例生效,基于证券代码,股东账户以及业务的粒度配置匹配情况,对每一个业务设定成交策略,并将设定的全局成交策略模型绑定到特定的多个交易所模拟实例群上;

所述局部成交策略模型对单一交易所模型实例生效,对于每一个业务,用户能够设定具体的成交策略。

4.根据权利要求3所述的证券交易模拟方法,其特征在于,根据用户申报订单的业务类型获取所匹配策略模型中的成交策略的方法包括如下步骤:判断成交策略是否配置带行情撮合,若是,则根据策略模型配置的行情撮合,否则,继续判断;

判断成交策略是否配置撤单,若是,则全部已报,否则,继续判断;

判断成交策略是否配置部分成交,若是,则按照成交比例成交,否则,继续判断;

判断成交策略是否配置分笔成交,若是,则分笔成交,否则,单笔成交。

5.根据权利要求4所述的证券交易模拟方法,其特征在于,所述行情包括生产行情、录制行情、指定行情;

所述生产行情为交易日交易时间内的实时行情;

所述录制行情为回放的某一日的行情;

所述指定行情为用户自行导入的行情。

6.根据权利要求4所述的证券交易模拟方法,其特征在于,在所述全部已报时,通过设置单独订单簿方式实现;

所述订单簿为一块专门的内存区域,用于用户申报订单的挂单订,撮合回复已报,所述订单薄的应用场景包括撤单、自卖自买和自买自卖。

7.根据权利要求1所述的证券交易模拟方法,其特征在于,所述撮合模拟中采用生产者‑消费者模式;

所述生产者‑消费者模式为第一个线程不断的接收用户委托报文,将所述报文放入接收队列,第二个线程不断从所述接收队列提取报文数据进行处理,将处理完的报文放入发送队列,第三个线程从所述发送队列提取经处理的报文数据发送给客户端。

8.根据权利要求1所述的证券交易模拟方法,其特征在于,生成申报清算文件的方法包括如下步骤:

当系统时间达到用户申报订单的清算时间,清算文件生成服务自从启动,将每一个交互报文数据库的文件生成一份申报清算文件。

9.根据权利要求1所述的证券交易模拟方法,其特征在于,交易所模拟将接收到的用户申报订单、生产行情和所述撮合模拟结果进行本地记录存储。

10.根据权利要求1所述的证券交易模拟方法,其特征在于,所述证券交易模拟方法应用于深圳交易所模拟和上海交易所模拟;其中,所述深圳交易所模拟通过TCP交易网关形式对外提供服务,用户通过IP和端口号接入单个交易所模拟实例,进行用户订单申报与接收撮合模拟结果返回;

所述上海交易所模拟通过模拟交易所软件直接访问报盘SQL Server数据库,用户通过将申报单报入SQL Server数据库,并进行读取用户订单申报和接收撮合模拟结果返回。

11.根据权利要求10所述的证券交易模拟方法,其特征在于,将用户的委托、确认、成交报文存入对应的交互报文数据库方法为:针对深圳交易所模拟,根据套接字的服务端口号作为键,分别建立交互报文数据库;

针对上海交易所模拟,根据SQL Server数据库的IP地址和数据库名作为键,分别建立交互报文数据库。

12.一种证券交易模拟系统,其特征在于,所述系统包括如下模块:实例构建模块,用于建立单个或者相互独立的多个交易所模拟实例,其中,每个实例启动一个进程,每个报盘都接入一个独立的交易所模拟实例;

模型构建模块,用于基于交易时间和交易业务两个维度建立交易撮合策略模型,其中,所述撮合策略模型包括全局成交策略模型和局部成交策略模型;

撮合模拟模块,用于根据接收到的用户申报订单的实例信息进行撮合策略模型匹配,并结合实时行情进行撮合模拟;

清算生成模块,用于根据用户申报订单的配置时间获取所对应的撮合模拟结果,生成申报清算文件。

13.一种系统,其特征在于,包括处理器和存储介质,所述存储介质用于存储指令;

所述处理器用于根据所述指令进行操作以执行权利要求1~11任一项所述方法的步骤。

说明书全文

一种证券交易模拟方法和系统

技术领域

[0001] 本发明涉及计算机模拟技术领域,尤其涉及一种证券交易模拟方法和系统。

背景技术

[0002] 证券类业务系统的测试对上游各交易所提供的测试环境具有强依赖,不管是周末在生产环境进行的全市场通关测试,还是平时在测试环境进行的业务功能测试都离不开上
游交易所系统的支持,如果没有交易所系统,将无法进行全量业务流程的测试。通常交易所
在特定时间窗口会提供测试环境供各券商公司进行测试,但是由于时间窗口较少,无法满
足测试需求,导致在生产环境和测试环境中进行的一些测试场景难以实现全量业务覆盖,
由此可能导致缺陷遗留到生产上而出现生产事件。
[0003] 目前,现有的模拟方法主要是通过单个软件,通过推断交易所的功能,模拟交易所的交易行为,实现对交易所部分业务的模拟支撑。具有如下的技术缺陷及问题:
[0004] 1)不支持交易所全业务模拟,交易所平台众多,现有模拟器不能完全覆盖。
[0005] 2)不支持交易所的全时段模拟,交易所交易时段分集中竞价,集中竞价撮合,连续竞价,收盘集中竞价,盘后等,现有模拟器也不具备。
[0006] 3)行情支持较为单一,仅支持基于固定行情的交易所模拟,无法满足测试需求。
[0007] 4)性能不够达标,无法满足性能测试需求。实际测试中,现有模拟器每秒处理速度低于1000笔每秒,远不能达到性能要求,而且模拟交易所不支持水平扩展。
[0008] 5)用户无法进行细粒度的成交规则配置,导致应用效果不佳。交易模拟过程中,需要验证部分成交、完全成交、分笔成交等成交规则。
[0009] 6)单用户使用需要单独部署新环境,部署时间成本较大。

发明内容

[0010] 本发明的目的在于克服现有技术中的不足,提供一种证券交易模拟方法和系统,能够满足证券交易测试使用简单、全时段、成交规则可配置的需求,提升证券交易测试效率
与质量。
[0011] 为达到上述目的,本发明是采用下述技术方案实现的:
[0012] 第一方面,本发明提供了一种证券交易模拟方法,所述方法包括如下步骤:
[0013] 建立单个或者相互独立的多个交易所模拟实例,其中,每个交易所模拟实例启动一个进程,每个报盘都接入一个独立的交易所模拟实例;
[0014] 基于交易时间和交易业务两个维度建立交易撮合策略模型,其中,所述撮合策略模型包括全局成交策略模型和局部成交策略模型;
[0015] 根据接收到的用户申报订单的实例信息进行撮合策略模型匹配,并结合行情进行撮合模拟;
[0016] 根据用户申报订单的配置时间获取所对应的撮合模拟结果,生成申报清算文件。
[0017] 进一步的,对用户申报订单进行全局成交策略模型或局部成交策略模型匹配,并根据用户申报订单的业务类型获取所匹配策略模型中的成交策略,进行实际撮合模拟。
[0018] 进一步的,所述全局成交策略模型对一组多个交易所模拟实例生效,基于证券代码,股东账户以及业务的粒度配置匹配情况,对每一个业务设定成交策略,并将设定的全局
成交策略模型绑定到特定的多个交易所模拟实例群上;
[0019] 所述局部成交策略模型对单一交易所模型实例生效,对于每一个业务,用户能够设定具体的成交策略。
[0020] 进一步的,根据用户申报订单的业务类型获取所匹配策略模型中的成交策略的方法包括如下步骤:
[0021] 判断成交策略是否配置带行情撮合,若是,则根据策略模型配置的行情撮合,否则,继续判断;
[0022] 判断成交策略是否配置撤单,若是,则全部已报,否则,继续判断;
[0023] 判断成交策略是否配置部分成交,若是,则按照成交比例成交,否则,继续判断;
[0024] 判断成交策略是否配置分笔成交,若是,则分笔成交,否则,单笔成交。
[0025] 进一步的,所述行情包括生产行情、录制行情、指定行情;
[0026] 所述生产行情为交易日交易时间内的实时行情;
[0027] 所述录制行情为回放的某一日的行情;
[0028] 所述指定行情为用户自行导入的行情。
[0029] 进一步的,在所述全部已报时,通过设置单独订单簿方式实现;
[0030] 所述订单簿为一块专门的内存区域,用于用户申报订单的挂单订,撮合回复已报,所述订单薄应用场景包括撤单、自卖自买和自买自卖。
[0031] 进一步的,所述撮合模拟中采用生产者‑消费者模式;
[0032] 所述生产者‑消费者模式为第一个线程不断的接收用户委托报文,将所述报文放入接收队列,另第二个线程不断从所述接收队列提取报文数据进行处理,将处理完的报文
放入发送队列,第三个线程从所述发送队列提取经处理的报文数据发送给客户端。
[0033] 进一步的,生成申报清算文件的方法包括如下步骤:
[0034] 当系统时间达到用户申报订单的清算时间,清算文件生成服务自从启动,将每一个交互报文数据库的文件生成一份申报清算文件。
[0035] 进一步的,交易所模拟将接收到的用户申报订单、生产行情和所述撮合模拟结果进行本地记录存储。
[0036] 进一步的,所述证券交易模拟方法应用于深圳交易所模拟和上海交易所模拟;其中,
[0037] 所述深圳交易所模拟通过TCP交易网关形式对外提供服务,用户通过IP和端口号接入单个交易所模拟实例,进行用户订单申报与接收撮合模拟结果返回;
[0038] 所述上海交易所模拟通过模拟交易所软件直接访问报盘SQL Server数据库,用户通过将申报单报入SQL Server数据库,并进行读取用户订单申报和接收撮合模拟结果返
回。
[0039] 进一步的,将用户的委托、确认、成交报文存入对应的交互报文数据库方法为:
[0040] 针对深圳交易所模拟,根据套接字的服务端口号作为键,分别建立交互报文数据库;
[0041] 针对上海交易所模拟,根据SQL Server数据库的IP地址和数据库名作为键,分别建立交互报文数据库。
[0042] 第二方面,本发明提供了一种证券交易模拟系统,所述系统包括如下模块:
[0043] 实例构建模块,用于建立单个或者相互独立的多个交易所模拟实例,其中,每个实例启动一个进程,每个报盘都接入一个独立的交易所模拟实例;
[0044] 模型构建模块,用于基于交易时间和交易业务两个维度建立交易撮合策略模型,其中,所述撮合策略模型包括全局成交策略模型和局部成交策略模型;
[0045] 撮合模拟模块,用于根据接收到的用户申报订单的实例信息进行撮合策略模型匹配,并结合实时行情进行撮合模拟;
[0046] 清算生成模块,用于根据用户申报订单的配置时间获取所对应的撮合模拟结果,生成申报清算文件。
[0047] 第三方面,本发明提供了一种系统,其特征在于,包括处理器和存储介质,所述存储介质用于存储指令;
[0048] 所述处理器用于根据所述指令进行操作以执行第一方面任一项所述方法的步骤。
[0049] 与现有技术相比,本发明所达到的有益效果:
[0050] 本发明提供的一种证券交易模拟方法和系统,支持多用户平滑扩展多个交易所模拟实例,能够支持证券交易全时段、全业务、丰富成交策略的模拟,显著提高证券交易测试
效率和质量;
[0051] 采用单个或多个相互独立的模拟实例,通过配置多种成交策略实现了用户下单、行情、撮合成交、清算的全流程模拟,能够应用于深交所和上证所的全业务模拟,以及能够
实现集中竞价、集中竞价撮合、连续竞价、收盘集中竞价、盘后的全交易时段覆盖:
[0052] 支持外部行情数据接入,通过创建模拟实例进行操作,无需单独部署环境,使用简单,且能够通过生成的申报清单直观监控证券交易业务。

附图说明

[0053] 图1为本发明实施例提供的一种交易所模拟实例架构图
[0054] 图2为本发明实施例提供的一种交易所模拟局部成交策略模型示意图;
[0055] 图3为本发明实施例提供的一种交易所模拟全局成交策略模型示意图;
[0056] 图4为本发明实施例提供的一种交易时间段配置示意图图;
[0057] 图5为本发明实施例提供的一种行情模拟结构示意图;
[0058] 图6为本发明实施例提供的一种用户申报订单撮合模拟流程图;
[0059] 图7为本发明实施例提供的一种成交策略匹配流程图;
[0060] 图8为本发明实施例提供的一种应用成交策略模型进行撮合模拟流程图;
[0061] 图9为本发明实施例提供的一种证券交易模拟的撤单流程图;
[0062] 图10为本发明实施例提供的一种模拟申报清算文件生成的流程图;
[0063] 图11为本发明实施例提供的一种证券交易模拟方法的流程图;
[0064] 图12为本发明实施例提供的一种证券交易模拟方法的具体流程图;
[0065] 图13为本发明实施例提供的一种证券交易模拟系统的框图。

具体实施方式

[0066] 下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0067] 在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为
基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗
示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对
本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相
对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可
以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”
的含义是两个或两个以上。
[0068] 在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可
以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是
两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语
在本发明中的具体含义。
[0069] 实施例一
[0070] 如图11所示,本发明实施例提供了一种证券交易模拟方法,包括如下步骤:
[0071] 建立单个或者相互独立的多个交易所模拟实例,其中,每个交易所模拟实例启动一个进程,每个报盘都接入一个独立的交易所模拟实例;
[0072] 基于交易时间和交易业务两个维度建立交易撮合策略模型,其中,所述撮合策略模型包括全局成交策略模型和局部成交策略模型;
[0073] 根据接收到的用户申报订单的实例信息进行撮合策略模型匹配,并结合行情进行撮合模拟;
[0074] 根据用户申报订单的配置时间获取所对应的撮合模拟结果,生成申报清算文件。
[0075] 在本实施例中,如图12所示,本发明实施例提供了的证券交易模拟方法具体包括如下步骤:
[0076] 步骤1.建立各自独立的交易所实例
[0077] 交易所模拟,采用单个实例服务单个报盘的形式,不同的用户建立不同的交易所实例,服务不同的报盘,如图1所示。
[0078] 不同的交易所实例启动不同的进程实例,服务单个报盘程序,使用独立的交易所配置信息,这样能够实现平滑扩展,而且用户使用简单,不需要部署环境。
[0079] 步骤2.撮合策略配置
[0080] 用户可以设置专属于某个交易所模拟器实例的局部成交策略模型,也可以设置对所有交易所模拟器的全局成交策略模型。
[0081] 如图2和3所示,在撮合策略配置过程中确定成交策略的方法包括如下步骤:
[0082] 判断成交策略是否配置带行情撮合,若是,则根据策略模型配置的行情撮合,否则,继续判断;
[0083] 判断成交策略是否配置撤单,若是,则全部已报,否则,继续判断;
[0084] 判断成交策略是否配置部分成交,若是,则按照成交比例成交,否则,继续判断;
[0085] 判断成交策略是否配置分笔成交,若是,则分笔成交,否则,单笔成交。
[0086] 以下分别针对局部成交策略模型和全局成交策略模型中成交策略的不同做如下说明:
[0087] 步骤2.1局部成交策略模型
[0088] 用户在客户端设置专属单个模拟器实例的局部成交策略模型,对于每一个业务,用户都可以设定具体的成交策略,完成特定业务仿真,其成交策略具体如下所示:
[0089] A:首先需要设定是否使用行情,如果使用行情则需要设定是使用生产行情/录制行情/指定行情,如果不使用行情,则可以进行特殊业务的模拟;
[0090] B:可以设置是否撤单测试,控制所有的委托信息是否都会是已报而非已成,支持测试撤单逻辑;
[0091] C:可以选择部分成交/全部成交等成交模式;
[0092] D:可以选择单笔成交/多笔成交等成交模式;
[0093] 如下图2所示,通过设置每一个业务的成交模式,对不同的业务赋予不同的成交属性。
[0094] 单个模拟器的每一个业务的可选配置子树都是一课二叉树,对每一个具体业务,需要遍历一个路径到子节点,完成对模拟器的每一个业务的配置。例如业务N,可以选择属
性“使用行情”,也可选择属性“不使用行情、撤单”等。
[0095] 步骤2.2全局成交策略模型
[0096] 如图3所示,可以设置基于证券代码和股东账户,适用于所有交易所实例的全局成交策略模型,其成交策略具体如下所示:
[0097] A:基于证券代码,股东账户以及业务的粒度配置匹配撮合策略。
[0098] B:如前述采用确定成交策略方法一样,基于特定的业务,配置其是否撤单,是否部分成交,是否全部成交。
[0099] C:将设定的全局成交模型绑定到特定的交易所实例群上。
[0100] 当某个交易所实例同时配置了全局成交策略模型以及局部成交策略模型,某业务的成交策略以全局成交策略模型的优先级高。
[0101] 步骤3.配置交易时间段
[0102] 交易所每个业务都有特定的支持时段,用户可以在客户端设置专属模拟器的成交时间段,根据不同设定,可支持:开盘集合竞价1,开盘集合竞价2,开盘集合竞价3,上午连续
竞价,交易暂停,下午连续竞价,收盘集合竞价的交易时间段的申报及撮合,如图4所示
[0103] 对应不同交易时间段有不同的成交规则,具体如下:
[0104] 开盘集合竞价1可申报可撤单不成交;
[0105] 开盘集合竞价2可申报不可撤单不成交;
[0106] 开盘集合竞价3不可申报不可撤单同时将前两阶段的订单按规则成交;
[0107] 上午连续竞价及下午连续竞价可申报可撤单可成交;
[0108] 收盘集合竞价阶段可申报不可撤单,等竞价时间到按规则成交。
[0109] 步骤4.客户端接入
[0110] 深交所报盘通过套接字(socket)连接至模拟交易所服务端,通过自身的订单管理系统(简称“OMS”)将委托报文发送至模拟交易所,
[0111] 上交所报盘通过SQL server数据库将委托报文写入以供模拟交易所读取并完成撮合。
[0112] 步骤5.行情服务
[0113] 模拟器提供行情服务,以便测试时模拟交易所根据上述设置使用,本方法提供了三种行情,如图5所示,他们分别为:
[0114] A:生产行情:实时获取交易所行情,在交易时间为测试工作提供行情服务;
[0115] B:录制行情:将每日的行情进行录制,在非交易时间可以进行特定日期的行情回放,以便于进行测试工作;
[0116] C:固定行情:可以手工设置特定股票的行情信息。
[0117] 步骤6.模拟撮合
[0118] 如图6所示,模拟交易所使用生产者消费者模式设计,一个线程不断的接收委托报文,将报文放入队列,一个线程不断从队列取数据进行处理,将处理完的报文放入发送队
列,一个线程从发送队列取数据发送给客户端,极大提高了撮合速度。
[0119] 步骤6.1订单簿
[0120] 订单处理设计订单簿功能,将未成交的已报报文存入,以便进行撤单测试、自卖自买和自买自卖合规性检查测试。
[0121] 设计订单簿功能,实现以下作用:
[0122] A:成交策略为使用行情的时,实现首先和订单薄进行内部撮合、订单薄内的全部成交完毕,则从行情中拉取订单数据继续撮合,撮合完毕剩下的订单继续挂入订单簿,等待
后续订单过来交易。
[0123] 通过设计撮合时首先和订单簿撮合,可以验证自卖自买或自买自卖行为,同时订单簿内未成交的订单可以进行撤单。
[0124] B:成交策略为采用不使用行情时,可以进行撤单测试,而撤单是需要原单数据。通过采用单独的订单簿,可以在进行撤单测试时达成所有订单回复已报,挂入订单簿,再进行
撤单验证。同时,在进行部分成交部分撤销测试时,可以将委托中未成交订单挂入订单簿,
便于撤单。
[0125] 步骤6.2确定成交策略模型
[0126] 对于具体委托信息,首先判断其是否能匹配全局成交策略模型,若匹配则只用全局成交策略模型的配置进行后续撮合,否则以局部成交策略模型进行后续撮合,如图7所
示。
[0127] 步骤6.3模拟撮合处理过程
[0128] 对于具体的某个委托订单,在确定了成交策略模型后,按照下面策略进行处理,如图8所示。
[0129] A:当委托信息进入模拟交易所,首先判断这个业务的配置是否使用了行情。
[0130] 若使用了行情,则根据该业务的时段配置,先与订单簿进行撮合,然后将剩余订单与行情进行撮合,剩余未成交订单继续挂入订单簿。按照交易所成交规则回复已报/已成/
废单状态。
[0131] B:若未使用行情,判断该业务的配置是否为撤单测试,若配置撤单,则所有委托信息均回报订单已报,同时将订单挂入订单簿,便于进行撤单测试。
[0132] C:若未配置撤单测试,则判断该业务的配置是否为全部成交,若不是全部成交,则按照相应可配置的成交比例或者成交笔数进行成交,剩余订单回报已报,同时挂入订单簿,
后续可以对未成交的部分进行撤单。
[0133] D:若该业务配置的是全部成交,则判断判断是否为单笔成交,若不是单笔成交,则按照设置比例多笔成交,若是单笔成交则单笔全部成交。
[0134] 对于撤单委托,首先去订单簿里进行搜索,若请求撤销的订单存在,则将对应的订单撤销回报撤单成功,若请求撤销订单不存在,则撤单委托为废单,如图9所示。
[0135] 步骤7.模拟清算
[0136] 模拟交易所将每次委托及撮合的报文保存入库,测试结束之后,根据具体业务,每日自动生成符合交易所规则的清算文件,后供上传至柜台进行清算。如图10所示,自动清算
的流程如下:
[0137] A:首先交易所进行委托报文的撮合,将委托/确认/成交报文存入对应的交互报文数据库。
[0138] 对于上交所:根据SQL Server数据库的IP地址和数据库名作为键Key,分别建立交互报文数据库;
[0139] 对于深交所:根据套接字(Socket)的服务端口号(ServerPort)作为键Key,分组建议交互报文数据库。
[0140] B:系统可以设置清算时间。当系统时间达到清算时间,清算文件生成服务自从启动,将每一个交互报文数据库的文件生成一份清算文件。即,
[0141] 对于上海交易所,一个SQL Server数据库对应的交互报文数据库生成一份清算文件;
[0142] 对于深圳一个ServerPort(PORT)协议生成一份清算文件。
[0143] C:系统将生成的清算文件上传FTP服务器(File Transfer Protocol Server)。
[0144] D:清算柜台服务器下载清算文件,进行后续柜台清算。
[0145] 实施例二
[0146] 如图13所示,本发明提供了一种证券交易模拟系统,所述系统包括如下模块:
[0147] 实例构建模块,用于建立单个或者相互独立的多个交易所模拟实例,其中,每个实例启动一个进程,每个报盘都接入一个独立的交易所模拟实例;
[0148] 模型构建模块,用于基于交易时间和交易业务两个维度建立交易撮合策略模型,其中,所述撮合策略模型包括全局成交策略模型和局部成交策略模型;
[0149] 撮合模拟模块,用于根据接收到的用户申报订单的实例信息进行撮合策略模型匹配,并结合实时行情进行撮合模拟;
[0150] 清算生成模块,用于根据用户申报订单的配置时间获取所对应的撮合模拟结果,生成申报清算文件。
[0151] 实施例三
[0152] 本发明实施例提供了一种系统,该系统包括处理器和存储介质,所述存储介质用于存储指令;
[0153] 所述处理器用于根据所述指令进行操作以执行实施例一中所述方法的步骤。
[0154] 综上,本发明实施例提供的证券交易模拟方法、系统和存储介质,能够支持多用户平滑扩展多个交易所模拟实例,单模拟实例性能可达每秒3000笔,且可水平扩展。
[0155] 通过实例绑定特定的成交策略模型方法,有针对性的支持用户申报达到期望的状态,实现证券交易测试全时段、全业务、全场景、全成交策略的测试目标,有效的提高测试效
率,提升测试能力。
[0156] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形
也应视为本发明的保护范围。