一种模拟撮合交易方法及装置与流程

文档序号:16147523发布日期:2018-12-05 16:45阅读:739来源:国知局
一种模拟撮合交易方法及装置与流程

本申请涉及数据处理技术领域,特别涉及一种模拟撮合交易方法及装置。

背景技术

目前,金融行业已经出现的模拟交易系统仅仅记录模拟交易的价格,由于交易请求未被实际执行,所以无法验证其反身性,而反身性对价格的影响在实际交易中非常重要,所以,现有的模拟交易系统无法达到验证交易策略在市场中不同流动性情况下的功能。



技术实现要素:

本申请实施方式的目的是提供一种模拟撮合交易方法及装置,解决了与实盘交易系统的价格关联和交易价格受模拟交易影响的两个问题,在测试自身交易策略时,提供更加真实的交易博弈环境。

为实现上述目的,本申请实施方式提供一种模拟撮合交易方法,包括:

与金融实盘交易系统建立连接,根据金融实盘交易系统的时间,同步设置模拟交易系统的时间;

获得金融产品牌价信息,对所述金融产品牌价信息进行处理,获得实际交易报单成交信息;

获得模拟交易报单成交信息,对所述模拟交易报单成交信息进行有效性验证;

从所述实际报单成交信息和经有效性验证的模拟交易报单成交信息中获取买方报单信息、卖方报单信息,并将所述买方报单信息、卖方报单信息分别按照价格第一优先、时间第二优先的顺序排列,获得买方排列结果和卖方排列结果;

根据撮合成交机制,从所述买方排列结果和卖方排列结果中进行匹配,模拟交易。

优选地,还包括:

根据模拟交易成交情况,生成模拟交易回执。

优选地,对所述金融产品牌价信息进行处理的步骤包括:

如果所述金融产品牌价信息为所述实盘交易系统提供的成交数据,则对所述金融产品牌价信息的时间格式校对,并对时间信息和成交量进行校验,确保所述金融产品牌价信息中的时间和成交量均处于正常范围。

优选地,对所述金融产品牌价信息进行处理的步骤包括:

如果所述金融产品牌价信息仅为行情数据,则根据上一tick的行情数据与当前tick的行情数据进行比较,结合盘口信息,获得成交数据;

对所述成交数据的时间格式校对,并对时间信息和成交量进行校验,确保所述成交数据中的时间和成交量均处于正常范围。

优选地,对所述模拟交易报单成交信息进行有效性验证的步骤包括:

基于时间、数量、价格三个维度对所述模拟交易报单成交信息进行有效性验证。

优选地,同步设置模拟交易系统的时间的步骤包括:

获取金融实盘交易系统的时间,将所述模拟交易系统所在服务器的时间与收到的所述金融实盘交易系统的时间同步,精确程度到毫秒级;

轮询检查所述模拟交易系统的服务器的时间同步是否超过最大时间差阈值,一旦超过最大时间差阈值,则重新同步设置模拟交易系统的时间。

优选地,从所述买方排列结果和卖方排列结果中进行匹配的步骤包括:

按照价格第一优先、时间第二优先的规则完成买卖双方的匹配。

为实现上述目的,本申请实施方式提供一种模拟撮合交易装置,包括:

同步单元,用于与金融实盘交易系统建立连接,根据金融实盘交易系统的时间,同步设置模拟交易系统的时间;

实际交易报单成交信息单元,用于获得金融产品牌价信息,对所述金融产品牌价信息进行处理,获得实际交易报单成交信息;

模拟交易报单成交信息单元,用于获得模拟交易报单成交信息,对所述模拟交易报单成交信息进行有效性验证;

排序单元,用于从所述实际报单成交信息和经有效性验证的模拟交易报单成交信息中获取买方报单信息、卖方报单信息,并将所述买方报单信息、卖方报单信息分别按照价格第一优先、时间第二优先的顺序排列,获得买方排列结果和卖方排列结果;

匹配交易单元,用于根据撮合成交机制,从所述买方排列结果和卖方排列结果中进行匹配,模拟交易。

优选地,还包括:

交易回执生成单元,用于根据模拟交易成交情况,生成模拟交易回执。

优选地,所述实际交易报单信息单元还用于:

如果所述金融产品牌价信息为为所述实盘交易系统提供的成交数据,则对所述金融产品牌价信息的时间格式校对,并对时间信息和成交量进行校验,确保所述金融产品牌价信息中的时间和成交量均处于正常范围。

优选地,所述实际交易报单信息单元还用于:

如果所述金融产品牌价信息仅为行情数据,则根据上一tick的行情数据与当前tick的行情数据进行比较,结合盘口信息,获得成交数据;

对所述成交数据的时间格式校对,并对时间信息和成交量进行校验,确保所述成交数据中的时间和成交量均处于正常范围。

优选地,所述模拟交易报单成交信息单元具体用于基于时间、数量、价格三个维度对所述模拟交易报单成交信息进行有效性验证。

优选地,所述同步单元包括:

时间校正同步模块,用于获取金融实盘交易系统的时间,将所述模拟交易系统所在服务器的时间与收到的金融实盘交易系统的时间同步,精确程度到毫秒级;

监测模块,用于轮询检查所述模拟交易系统的服务器的时间同步是否超过最大时间差阈值,一旦超过最大时间差阈值,则重新同步设置模拟交易系统的时间。

优选地,所述匹配交易单元按照价格第一优先、时间第二优先的规则完成买卖双方的匹配。

为实现上述目的,本申请实施方式提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的模拟撮合交易方法。

为实现上述目的,本申请实施方式提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现上述所述的模拟撮合交易方法的步骤。

由上可见,与现有技术相比较,本技术方案为投资者在测试自身交易策略时,提供更加真实的交易博弈环境,使得投资者在完成一般静态回归测试后,能够进一步验证交易策略的有效性,进一步降低实盘交易风险。

附图说明

为了更清楚地说明本申请实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本说明书公开的实施例提供一种模拟撮合交易方法流程图;

图2为本说明书公开的实施例的模拟交易示意图;

图3为本说明书公开的实施例提供一种模拟撮合交易装置功能框图;

图4为本说明书公开的实施例提出的一种电子设备示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都应当属于本申请保护的范围。

目前,金融机构推出的相关服务中,没有成熟的以客户为中心的动态撮合测试系统服务。市场上仅有的模拟交易系统不能实时同步实盘交易,使得模拟交易时无法基于真实行情信息的交易博弈,导致模拟交易系统经常没有价格变动或完全按照实盘交易价格进行交易,无法考虑成交量影响达到策略验证的功能,只能测试产品接口正确性。另外,现有的模拟交易系统仅仅实现了模拟交易记录功能,即模拟下单的交易无法影响交易价格,只是作为投资的统计记录,如模拟炒股,导致记录与实际情况失真,无法记录交易滑点,导致模拟交易验证失效。

基于此,本说明书公开一种模拟撮合交易方法及装置,该技术方案的买卖交易数据来源两个部分,一部分是金融实盘交易系统的交易盘口数据,另一部分是模拟交易客户上送的交易信息,交易之间采用按合约产品、按照时间优先的合并处理方式。这样在模拟交易系统中撮合交易时,是在更加真实的交易博弈环境中模拟交易,能够进一步验证交易策略的有效性。

本说明书实施例提供一种模拟撮合交易方法,其中,所述模拟撮合交易方法可以应用于服务器中。具体地,所述服务器可以是能够提供金融产品买卖交易服务的网站的后台业务服务器。在本实施方式中,所述服务器可以为一个具有数据运算、存储功能以及网络交互功能的电子设备;也可以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件。在本实施方式中并不具体限定所述服务器的数量。所述服务器可以为一个服务器,还可以为几个服务器,或者,若干服务器形成的服务器集群。

如图1所示,为本说明书实施例提供一种模拟撮合交易方法流程图。包括:

步骤101):与金融实盘交易系统建立连接,根据金融实盘交易系统的时间,同步设置模拟交易系统的时间。

在本步骤中,首先获取金融实盘交易系统的时间,一般牌价信息在金融实盘交易系统开始开盘交易之前三十分钟会有通讯报文从模拟交易系统的服务器上下发给金融实盘交易系统的服务器上,确保模拟交易系统的服务器与金融实盘交易系统的服务器之间通讯正常。如果二者服务器之间通讯正常,则将模拟交易系统所在服务器的时间与金融实盘交易系统的服务器的时间同步设置,精确程度到毫秒级。

在本实施例中,模拟交易系统与金融实盘交易系统之间时间同步设置后,保存同步时间的具体信息日志,并且,模拟交易系统的服务器定期轮询检查是否模拟交易系统的服务器与金融实盘交易系统的服务器之间的时间同步超过设置的最大时间差阈值,一旦超过,就要提示警告,收到警告信息后,就要将模拟交易系统与金融实盘交易系统之间再进行时间同步设置。另外,为进一步提高模拟交易的真实性,模拟交易系统内部对不同交易者可以通过交易者设置自身延迟来模拟实盘交易中交易者需要将交易指令送达交易系统的延迟问题,使交易更加真实的反应实际交易标可能存在的流动性情况。

步骤102):获得金融产品牌价信息,对所述金融产品牌价信息进行处理,获得实际交易报单成交信息。

在本步骤中,通过长连接或者mq通道获得金融产品牌价信息。分析该金融产品牌价信息来源。如果该金融产品牌价信息来自实盘交易系统,这是能够直接获得交易报单信息,则对所述金融产品牌价信息的时间格式校对,并对时间信息和成交量进行校验,确保所述金融产品牌价信息中的时间和成交量均处于正常范围。一般交易所交易系统均提供成交记录明细,如果该金融产品牌价信息仅为行情数据,并没有提供成交记录明细,则从当日开盘起记录盘口信息和成交信息,在每一tick行情数据中,可以获得包含五或十档买卖行情数据,从本tick的行情数据获得一tick时间段内的成交记录,成交记录包含价格、数量,根据价格对照,可根据当前盘口信息中每个价位的数量减去上一tick的行情数据中对应买卖价格的数量,获得的变化值为正值表示相同交易方向的交易成交数量增加值,为负值表示相反交易方向的交易数量成交增加值。此种方法并不能完全代替实际成交信息,仅最大限度还原市场情况,在真实成交信息缺失时临时补充形成交记录的办法。对后期的交易报单成交信息的时间格式校对,并对时间信息和成交量进行校验,确保所述交易报单成交信息中的时间和成交量均处于正常范围。

步骤103):获得模拟交易报单信息,对所述模拟交易报单成交信息进行有效性验证。

在本步骤中,通过长连接或者mq通道获得模拟交易报单成交信息。该信息是客户模拟下单的信息,并不是实际的买卖操作。在本实施例中,基于时间、数量、价格三个维度对所述模拟交易报单信息进行有效性验证。

步骤104):从所述实际报单成交信息和经有消息验证的模拟交易报单成交信息中获取买方报单信息、卖方报单信息,并将所述买方报单信息、卖方报单信息分别按照价格第一优先、时间第二优先的顺序排列,获得买方排列结果和卖方排列结果。

在本步骤中,设置队列消息条件触发机制,对上一未处理报单报文的时间验证对比,按时间顺序排列,模拟交易时间应增加交易者所设置的交易延迟,时间未到达时不成交,不阻塞交易通道。

步骤105):根据撮合成交机制,从所述买方排列结果和卖方排列结果中进行匹配,模拟交易。

如图2所示,为本公开的实施例的模拟交易示意图。按价格第一优先、时间第二优先的规则完成买卖双方的匹配,由于买卖交易报单信息队列包含了金融实盘交易系统的信息和参与模拟测试的用户提供的模拟交易信息,两方面报单来源更好的贴合了模拟撮合测试的实际情况,价格和实盘价格不一致,但正常情况下将围绕实盘价格波动。

最后,根据成交情况,产生模拟交易回执,将模拟交易回执返回给模拟系统报单人,对金融实盘交易系统完成的成交不做返回处理。

本次提出的技术基于开源平台的开发工具如c++、java等变成语言和非关系型数据库mongodb和普通的关系型数据库相结合,以及中间件rabbitmq等,均为主流系统开发所使用到的工具。

综上可知,本技术方案增加了牌价信息来源分类处理,还原了更加真实的交易环境,本技术方案为投资者在测试自身交易策略时,提供更加真实的交易博弈环境,使得投资者在完成一般静态回归测试后,能够进一步验证交易策略的有效性,进一步降低实盘交易风险。

如图3所示,为本说明书公开的实施例提供一种模拟撮合交易装置功能框图。包括:

同步单元301,用于与金融实盘交易系统建立连接,根据金融实盘交易系统的时间,同步设置模拟交易系统的时间;

实际交易报单成交信息单元302,用于获得金融产品牌价信息,对所述金融产品牌价信息进行处理,获得实际交易报单成交信息;

模拟交易报单成交信息单元303,用于获得模拟交易报单成交信息,对所述模拟交易报单成交信息进行有效性验证;

排序单元304,用于从所述实际报单成交信息和经有效性验证的模拟交易报单成交信息中获取买方报单信息、卖方报单信息,并将所述买方报单信息、卖方报单信息分别按照价格第一优先、时间第二优先的顺序排列,获得买方排列结果和卖方排列结果;

匹配交易单元305,用于根据撮合成交机制,从所述买方排列结果和卖方排列结果中进行匹配,模拟交易。

在本实施例中,模拟撮合交易装置还包括:

交易回执生成单元,用于根据模拟交易成交情况,生成模拟交易回执。

在本实施例中,所述实际交易报单信息单元还用于:

如果所述金融产品牌价信息为所述实盘交易系统提供的成交数据,则对所述金融产品牌价信息的时间格式校对,并对时间信息和成交量进行校验,确保所述金融产品牌价信息中的时间和成交量均处于正常范围。

在本实施例中,所述实际交易报单信息单元还用于:

如果所述金融产品牌价信息仅为行情数据,则根据上一tick的行情数据与当前tick的行情数据进行比较,结合盘口信息,获得成交数据;

对所述成交数据的时间格式校对,并对时间信息和成交量进行校验,确保所述成交数据中的时间和成交量均处于正常范围。

在本实施例中,所述模拟交易报单成交信息单元具体用于基于时间、数量、价格三个维度对所述模拟交易报单成交信息进行有效性验证。

在本实施例中,所述同步单元包括:

时间校正同步模块,用于获取金融实盘交易系统的时间,将所述模拟交易系统所在服务器的时间与收到的金融实盘交易系统的时间同步,精确程度到毫秒级;

监测模块,用于轮询检查所述模拟交易系统的服务器的时间同步是否超过最大时间差阈值,一旦超过最大时间差阈值,则重新同步设置模拟交易系统的时间。

在本实施例中,所述匹配交易单元按照价格第一优先、时间第二优先的规则完成买卖双方的匹配。

如图4所示,为本说明书公开的实施例提出的一种电子设备示意图。包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的模拟撮合交易方法。

本说明书实施方式提供的客户需求信息处理方法,其存储器和处理器实现的具体功能,可以与本说明书中的前述实施方式相对照解释,并能够达到前述实施方式的技术效果,这里便不再赘述。

在本实施方式中,所述存储器可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方法的媒体加以存储。本实施方式所述的存储器又可以包括:利用电能方式存储信息的装置,如ram、rom等;利用磁能方式存储信息的装置,如硬盘、软盘、磁带、磁芯存储器、磁泡存储器、u盘;利用光学方式存储信息的装置,如cd或dvd。当然,还有其他方式的存储器,例如量子存储器、石墨烯存储器等等。

在本实施方式中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式等等。

在本实施例中,本申请实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现上述所述的模拟撮合交易方法的步骤。

由上可见,本技术方案具有以下特点:

1.有效性:对量化交易策略的测试,从策略开发到测试是一个对数据和技术要求较高的过程,提出的动态撮合测试原理实际上兼容了市场上所涉及到的可能情况,客户原先手工写程序在实盘数据中做交易价格标记,然而交易价格会受到交易本身的影响,市场上没有能够有效解决这个问题的产品或服务。

2.便捷性:在实现设计方案之前,如果参与金融市场的客户需要完成对自己交易策略的测试,需要自行搭建服务器,引入牌价源,所消耗的维护成本和时间成本很大,使用现有功能后,客户可以直接完成动态测试,不需要考虑底层问题。

3.实用性:银行或其他投资类金融机构,可以通过本案的方案构建系统,实现对自营盘交易策略的全面测试,也可以实现对客户的咨询提示服务,扩大了其客户服务范围和银行的竞争力。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现客户端和服务器以外,完全可以通过将方法步骤进行逻辑编程来使得客户端和服务器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种客户端和服务器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。

本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对客户端和服务器的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

虽然通过实施方式描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

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