首页 / 专利库 / 银行与财务事项 / 限价订单 / 一种高频量化交易策略回测验证方法及系统

一种高频量化交易策略回测验证方法及系统

阅读:232发布:2020-05-11

专利汇可以提供一种高频量化交易策略回测验证方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种高频量化交易策略回测验证方法及系统,所述方法包括如下步骤:步骤S1,获取历史市场订单簿数据以及市场成交记录,根据获得的数据反推各历史时刻市场订单,包括但不限于限价单,市价单以及撤销单;步骤S2,随着交易策略的入参、市场订单簿的更新以及市场成交数据的更新,交易策略相应地作出行为,产生相应的订单;步骤S3,在获取各历史时刻订单的 基础 上,将需要回测验证的交易策略的输出订单与市场反推出的订单及原有订单簿进行融合。,下面是一种高频量化交易策略回测验证方法及系统专利的具体信息内容。

1.一种高频量化交易策略回测验证方法,包括如下步骤:
步骤S1,获取历史市场订单簿数据以及市场成交记录,根据获得的数据反推各历史时刻市场订单,包括但不限于限价单,市价单以及撤销单;
步骤S2,随着交易策略的入参市场订单簿的更新以及市场成交数据的更新,交易策略相应地作出行为,产生相应的订单;
步骤S3,在获取各历史时刻订单的基础上,将需要回测验证的交易策略的输出订单与市场反推出的订单及原有订单簿进行融合。
2.如权利要求1所述的一种高频量化交易策略回测验证方法,其特征在于,所述方法还包括:
步骤S4,重复步骤S1-S3直至所有订单播放完毕,并利用策略评估模生成策略回测性能报告。
3.如权利要求1所述的一种高频量化交易策略回测验证方法,其特征在于,步骤S1进一步包括:
步骤S100,对于各时间切片的市场成交数据及市场订单簿数据,比较成交价格,成交量与市场订单簿买卖报价生成相应的订单。
步骤S101,当完成所有交易所对应的订单反推之后,将此时的限价订单簿记为T_0',以区别撮合前的状态T_0,比较T_0'与下一时刻T_1的订单簿,以此推演出剩余订单。
4.如权利要求1所述的一种高频量化交易策略回测验证方法,其特征在于,步骤S2中,融合过程如下:
步骤1,在T0时刻,获取T0时刻的原始历史订单序列h0;
步骤2,将h0作为输入参数注入用户自定义做市策略,所述用户自定义做市策略即为所述需要回测验证的交易策略;
步骤3,根据用户自定义做市策略输出用户报价订单s0;
步骤4,在T1时刻,基于价格优先,时间优先的原则,融合原始历史报价订单h1和用户报价订单s0,并生成融合后的报价簿k1;
步骤5,在T2时刻,原始历史报价簿h2发生交易变化,流动性按照价格优先,时间优先的原则在融合报价簿k2中被消耗。
步骤6,在T3时刻,原历史订单簿h3再次发生交易变化,所述用户自定义做市策略参与订单撮合;
步骤7,在T4时刻,所述用户自定义做市策略发出新的订单指令。
5.如权利要求1所述的一种高频量化交易策略回测验证方法,其特征在于,步骤S2中,融合过程如下:
步骤1,在T0时刻,获取T0时刻的原始历史订单序列h0;
步骤2,在T0时刻,h0作为输入参数注入用户自定义做市策略,所述用户自定义做市策略即为所述需要回测验证的交易策略;
步骤3,在T0时刻,会员单位s自定义策略输出报价订单s0,会员单位y自定义策略输出报价订单y0;
步骤4,在T1时刻,基于价格优先,时间优先的原则,融合原始历史报价订单h1和用户报价订单s0与y0,并生成融合后的报价簿k1;
步骤5,在T2时刻,原始历史报价簿h2发生交易变化,流动性按照价格优先,时间优先的原则在融合报价簿k2中被消耗;
步骤6,在T3时刻,原始历史报价簿h3继续发生交易变化,两档的流动性被市场提取,会员单位s发出撤回订单,按照时间优先、价格优先的原则进行撮合交易,同时部分会员单位s的订单从融合订单簿里撤销;
步骤7,在T4时刻,会员单位s的自定义策略发出新的订单指令,会员单位y的自定义策略未发出新的交易订单指令。
6.如权利要求1所述的一种高频量化交易策略回测验证方法,其特征在于:所述策略评估模块评估的性能指标包括但不限于综合性能报告,pnl损益报告,存量报告,每日仓位报告,报价以及成交记录,报价质量报告。
7.一种高频量化交易策略回测验证系统,包括:
历史订单反推模块,用于获取市场订单簿数据以及市场成交记录,根据获得的数据反推各历史时刻市场订单;
交易策略执行模块,用于随着交易策略的入参、市场订单簿的更新以及市场成交数据的更新,交易策略相应地作出行为,产生相应的订单;
融合模块,在获取各历史时刻订单的基础上,将需要回测验证的交易策略的输出订单与市场反推出的订单及原有订单簿进行融合。
8.如权利要求7所述的一种高频量化交易策略回测验证系统,其特征在于,所述系统还包括:
策略评估模块,用于在模拟撮合结束后,生成策略回测性能报告。
9.如权利要求7所述的一种高频量化交易策略回测验证系统,其特征在于,所述历史订单反推模块包括:
历史订单生成单元,用于根据历史成交记录,比较成交价格,成交量与市场订单簿买卖报价生成相应的历史订单;
剩余订单推演单元,用于完成所有交易所对应的订单反推之后,将此时的限价订单簿记为T_0',以区别撮合前的状态T_0,比较T_0'与下一时刻T_1的订单簿,以此推演出相应的剩余订单。
10.如权利要求7所述的一种高频量化交易策略回测验证系统,其特征在于:所述融合模块基于订单撮合引擎,将该交易策略的输出订单与市场反推出的订单及原有订单簿按照价格时间的原则进行撮合,并于撮合成功后,更新策略状态函数。

说明书全文

一种高频量化交易策略回测验证方法及系统

技术领域

[0001] 本发明涉及市场量化交易技术领域,特别是涉及一种高频量化交易策略回测验证方法及系统。

背景技术

[0002] 量化交易模型是指研究人员运用数学建模的方法,将在交易实战中积累的经验和现代投资学原理有机结合的综合交易体系。相对于传统的主观投资交易,其优点在于其依赖数学建模的思维,有效的控制交易险并可以有效规避交易过程中的人性弱点,从而获得稳定的投资回报正收益。
[0003] 回测是用来检验量化交易模型有效性的一个重要手段。当前市场上使用的回测框架绝大部分是基于手续费加滑点假定成交的模式,其大致步骤通常如下:
[0004] 步骤1,预设在回测框架假定成交的手续费和滑点,例如预设滑点为2,手续费为1;
[0005] 步骤2,量化模型发出交易指令,包含买卖方向,买卖价格以及买卖量,例如一个买单,价格为100元,数量为1手;
[0006] 步骤3,回测框架基于预设的滑点与手续费,假定成交,则成交成本为(100+2+1)*1=103元
[0007] 此类回测框架的优点为简单易用,适用于交易量不大或对交易精度要求不高的业务场景,但对于精度要求更高的高频交易领域或机构交易领域,其局限性非常明显,具体局限性如下:
[0008] 1、无法体现市场订单簿流动性对交易策略的影响;
[0009] 2、无法模拟高频交易中各时刻的买卖订单到达过程;
[0010] 3、无法体现机构交易由于交易体量对市场的后续市场冲击;
[0011] 4、无法体现市场博弈过程;
[0012] 5、无法回测验证历史少见的但通常非常有价值的压行情场景。
[0013] 因此,业界缺失一个可以对高频量化交易策略进行回测验证的的解决方案。

发明内容

[0014] 为克服上述现有技术存在的不足,本发明之目的在于提供一种高频量化交易策略回测验证方法及系统,通过利用历史订单簿数据和交易数据,并使用订单推演实现高频量化交易策略回测验证的目的。
[0015] 为达上述目的,本发明提出一种高频量化交易策略回测验证方法,包括如下步骤:
[0016] 步骤S1,获取历史市场订单簿数据以及市场成交记录,根据获得的数据反推各历史时刻市场订单,包括但不限于限价单,市价单以及撤销单;
[0017] 步骤S2,随着交易策略的入参市场订单簿的更新以及市场成交数据的更新,交易策略相应地作出行为,产生相应的订单,;
[0018] 步骤S3,在获取各历史时刻订单的基础上,将需要回测验证的交易策略的输出订单与市场反推出的订单及原有订单簿进行融合。
[0019] 优选地,,所述方法还包括:
[0020] 步骤S4,重复步骤S1-S3直至所有订单播放完毕,并利用策略评估模生成策略回测性能报告。
[0021] 优选地,步骤S1进一步包括:
[0022] 步骤S100,对于各时间切片的市场成交数据及市场订单簿数据,比较成交价格,成交量与市场订单簿买卖报价生成相应的订单。
[0023] 步骤S101,当完成所有交易所对应的订单反推之后,将此时的限价订单簿记为T_0',以区别撮合前的状态T_0,比较T_0'与下一时刻T_1的订单簿,以此推演出相应的剩余订单。
[0024] 优选地,步骤S2中,融合过程如下:
[0025] 步骤1,在T0时刻,获取T0时刻的原始历史订单序列h0;
[0026] 步骤2,将h0作为输入参数注入用户自定义做市策略,所述用户自定义做市策略即所述需要回测验证的交易策略;
[0027] 步骤3,根据用户自定义做市策略输出用户报价订单s0;
[0028] 步骤4,在T1时刻,基于价格优先,时间优先的原则,融合原始历史报价订单h1和用户报价订单s0,并生成融合后的报价簿k1;
[0029] 步骤5,在T2时刻,原始历史报价簿h2发生交易变化,流动性按照价格优先,时间优先的原则在融合报价簿k2中被消耗。
[0030] 步骤6,在T3时刻,原历史订单簿h3再次发生交易变化,自定义做市策略参与订单撮合;
[0031] 步骤7,在T4时刻,自定义做市策略发出新的订单指令。
[0032] 优选地,步骤S2中,融合过程如下:
[0033] 步骤1,在T0时刻,获取T0时刻的原始历史订单序列h0;
[0034] 步骤2,在T0时刻,h0作为输入参数注入用户自定义做市策略;
[0035] 步骤3,在T0时刻,会员单位s自定义策略输出报价订单s0,会员单位y自定义策略输出报价订单y0;
[0036] 步骤4,在T1时刻,基于价格优先,时间优先的原则,融合原始历史报价订单h1和用户报价订单s0与y0,并生成融合后的报价簿k1;
[0037] 步骤5,在T2时刻,原始历史报价簿h2发生交易变化,流动性按照价格优先,时间优先的原则在融合报价簿k2中被消耗;
[0038] 步骤6,在T3时刻,原始历史报价簿h3继续发生交易变化,两档的流动性被市场提取,会员单位s发出撤回订单,按照时间优先、价格优先的原则进行撮合交易,同时部分会员单位s的订单从融合订单簿里撤销;
[0039] 步骤7,在T4时刻,自定义策略s发出新的订单指令,自定义策略y未发出新的交易订单指令。
[0040] 优选地,所述策略评估模块评估的性能指标包括但不限于综合性能报告,pnl损益报告,存量报告,每日仓位报告,报价以及成交记录,报价质量报告。
[0041] 为达到上述目的,本发明还提供一种高频量化交易策略回测验证系统,包括:
[0042] 历史订单反推模块,用于获取市场订单簿数据以及市场成交记录,根据获得的数据反推各历史时刻市场订单;
[0043] 交易策略执行模块,用于随着交易策略的入参、市场订单簿的更新以及市场成交数据的更新,交易策略相应地作出行为,产生相应的订单;
[0044] 融合模块,在获取各历史时刻订单的基础上,将需要回测验证的交易策略的输出订单与市场反推出的订单及原有订单簿进行融合。
[0045] 优选地,所述系统还包括:
[0046] 策略评估模块,用于在模拟撮合结束后,生成策略回测性能报告。
[0047] 优选地,所述历史订单反推模块包括:
[0048] 历史订单生成单元,用于根据历史成交记录,比较成交价格,成交量与市场订单簿买卖报价生成相应的历史订单;
[0049] 剩余订单推演单元,用于完成所有交易所对应的订单反推之后,将此时的限价订单簿记为T_0',以区别撮合前的状态T_0,比较T_0'与下一时刻T_1的订单簿,以此推演出相应的剩余订单。
[0050] 优选地,所述融合模块基于订单撮合引擎,将该交易策略的输出订单与市场反推出的订单及原有订单簿按照价格时间的原则进行撮合,并于撮合成功后,更新策略状态函数。
[0051] 与现有技术相比,本发明一种高频量化交易策略回测验证方法及系统首先通过获取历史市场订单簿数据以及市场成交记录,根据获得的数据反推各时刻市场订单,在获取各历史时刻订单的基础上,将需要回测验证的交易策略的输出订单与市场反推出的订单及原有订单簿利用订单撮合引擎进行撮合,并于撮合成功后,更新策略状态函数,并重复上述过程直至模拟结束,最后利用策略评估模块生成策略回测性能报告,实现了通过利用历史订单簿数据和交易数据,并使用订单推演实现高频量化交易策略回测验证的目的。附图说明
[0052] 图1a为市场订单簿的示意图;
[0053] 图1b为实际交易时交易者可以获取的信息示意图;
[0054] 图2为本发明一种高频量化交易策略回测验证方法的步骤流程图
[0055] 图3为本发明具体实施例中历史订单反推算法的示意图;
[0056] 图4a-图4g为本发明具体实施例中各情景的反推逻辑示意图;
[0057] 图5示出了本发明一实施例中交易策略与订单簿时间序列交互融合变化的过程示意图;
[0058] 图6示出了市场订单簿时间序列和两个不同交易策略参与情景联测中报价时间序列直接融合变化的过程;
[0059] 图7a为本发明具体实施例的Pnl损益图;
[0060] 图7b为本发明具体实施例的存量走势图;
[0061] 图8为本发明具体实施例之高频量化交易策略回测验证过程的流程图;
[0062] 图9为本发明一种高频量化交易策略回测验证系统的系统架构图。

具体实施方式

[0063] 以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
[0064] 在介绍本发明之前,先介绍本发明所用的一些词汇:
[0065] 1、订单簿(orderbook):
[0066] 在竞价模式中,每个交易者提交自己的交易意图至交易所,交易意图具体包括交易标的,交易价格以及交易方向。交易所根据先价格优先,再时间优先的原则把所有的购买和卖出的意图进行排序,即构成了交易订单簿。交易订单簿由卖单订单列表和买单订单列表组成,如图1a所示,左侧列表为卖单列表,基于价格从低往高(价格越低越有竞争力),时间由早到晚的顺序排序,右侧列表为买单列表,基于价格由高往低(价格越高越有竞争力),时间由早到晚的顺序排序。一旦有符合交易条件的新订单到达,列表上位置越往前的订单越先进行交易。
[0067] 对于普通交易者,是无法获取上述颗粒度为单个订单级别的数据的。交易所把相同价格上的订单进行汇总,并把每个价格上所有订单的量的总和发送给交易者,这即是实际交易时交易者可以获取的信息(如图1b所示)。
[0068] 2、市价单:
[0069] 市价定单(又称市价委托)是按照当时可能是最好的价格立即(尽快)买进或卖出某一定数量交易资产的订单
[0070] 3、限价单:
[0071] 限价单是一种以等同或低于指定价格买进特定数量交易资产的委托单,或一种以等同或高于指定价格(称为限定价格)卖出交易资产的委托单。此类委托单可以确保投资人买进该资产的价格不会高于指定的价格,同样地,若市价一直未达到所指定的价格,该委托单将不会被执行。
[0072] 4、撤销单:
[0073] 撤销单指交易者对已有但尚未成交的交易订单进行取消撤回的操作。该指令将相应的订单从订单簿上移除。
[0074] 5、滑点:
[0075] 是指下单交易点位(理想价格)与实际交易点位的差别,在回测中,滑点值设置越大越保守,设置越小越激进,滑点值不能小于0。
[0076] 图2为本发明一种高频量化交易策略回测验证方法的步骤流程图。如图2所示,本发明一种高频量化交易策略回测验证方法,包括如下步骤:
[0077] 步骤S1,获取历史市场订单簿数据以及市场成交记录,根据获得的数据反推各历史时刻市场订单,包括但不限于限价单,市价单以及撤销单。
[0078] 一般来说,对于普通交易者,历史订单指令级数据是不易获得的。交易机构获得的常见数据为市场订单簿和交易记录。如下表1为获得的市场订单簿的示例,表2所示为获得的市场成交记录的示例。
[0079] 表1市场订单簿
[0080]timestamp vASK1 vASK2 vASK3 vASK4 vASK5 vBID1 vBID2 vBID3 vBID4 vBID5 pASK1
9:30:00 10 20 10 30 20 10 20 10 30 20 66190
9:30:02 10 20 10 30 21 10 20 10 30 19 66190
9:30:04 10 20 10 30 20 10 19 9 30 19 66190
9:30:06 10 20 9 30 20 10 20 10 29 20 66191
9:30:08 10 20 9 30 21 11 20 10 29 20 66190
[0081] 表2市场成交记录
[0082]timestamp side price volume
9:30:01.1 buy 66188 9
9:30:01.2 sell 66191 10
9:30:01.3 sell 66189 12
9:30:01.4 buy 66192 2
[0083] 对于给定的历史订单簿和历史成交记录,由步骤S1推演出各时刻的订单,包括限价单,市价单以及撤销单。
[0084] 具体地,步骤S1进一步包括:
[0085] 步骤S100,对于各时间切片的市场成交数据及市场订单簿数据,比较成交价格,成交量与市场订单簿买卖报价生成相应的订单。
[0086] 以表1/表2示例为例,如果四笔成交记录的时间戳分别为9:30:01.1,9:30:01.2,9:30:01.3,9:30:01.4同时行情订单簿的更新切片为9:30:00,9:30:02,9:30:04,9:30:06,则此四笔交易属于9:30:00-9:30:02的时间切片区间之内,如图3所示,即Clob0-Clob1表示
9:30:00-9:30:02的时间切片,Trade1@t0.1,Trade2@t0.2,Trade3@t0.3,Trade4@t0.4表示
9:30:01.1,9:30:01.2,9:30:01.3,9:30:01.4的四笔成交记录。
[0087] 以卖出订单(ask)为例,以下为各情景下的反推逻辑:
[0088] 情景1(如图4a):当成交价格低于市场订单簿上卖单最优价格,即价格下行:
[0089] 生成限价单,价格与量与成交trade一致;
[0090] 生成市价单,量与成交trade一致。
[0091] 订单簿是按价格和时间排序的,卖价最优指的是卖单上价格最低的,即最容易成交的卖单,买价最优则指的是买单上价格最高的,即最容易成交的买单。图4a的坐标横轴为价格,从左至右的价格为从低到高,可以看到成交价格在ask1的左侧,因此可得知成交价格低于市场订单簿卖单最优价格,即生成限价单,价格与量与成交trade一致;生成市价单,量与成交trade一致。
[0092] 情景2:当成交价格与市场订单簿卖单最优价格一致,即价格未变:
[0093] 2.1,当成交量大于市场订单簿卖单最优报价量(如图4b):
[0094] 生成限价单,其价格与成交价格一致,量为成交量与订单簿最优报价量之差;
[0095] 生成市价单,其量与成交价格一致。
[0096] 2.2,当成交量小于等于市场订单簿卖单最优报价量(如图4c):
[0097] 生成市价单,量与成交trade一致。
[0098] 情景3:当成交价格高于市场订单簿卖单最优价格,即价格上行:
[0099] 对于订单簿上所有低于成交价格的报价挡位,生成撤销单,
[0100] 3.1,当成交价格不在市场订单簿卖单挡位上时(如图4d):
[0101] 生成限价单,价格与量与成交trade一致;
[0102] 生成市价单,量与成交trade一致。
[0103] 3.2,当成交价格在订单簿卖单某一挡位上时:
[0104] 3.2.1,当成交量大于订单簿卖单此档报价量(如图4e)
[0105] 生成限价单,价格与成交trade一致,量为成交量与订单簿此档报价量之差;
[0106] 生成市价单,量与成交trade一致。
[0107] 3.2.2,当成交量小于等于订单簿最优报价量(如图4f)
[0108] 生成市价单,量与成交trade一致。
[0109] 步骤S101,当完成所有交易所对应的订单反推之后,将此时的订单簿记为T_0',以区别撮合前的状态T_0,比较T_0'与下一时刻T_1的订单簿,以此推演出相应的剩余订单,如图4g。因为T_0'时刻的订单簿是完全由已经历史成交记录推演的订单所得,无法保证T_0'与T_1时刻订单簿是一致的,不一致的原因有可能是T_0'到T_1之间产生了一些不造成新成交的订单,例如撤单,例如无法成交的限价单等。
[0110] 步骤S2,随着交易策略的入参、市场订单簿的更新以及市场成交数据的更新,交易策略相应地作出行为,例如发单交易,产生相应的订单。
[0111] 步骤S3,在获取各历史时刻订单的基础上,将需要回测验证的交易策略的输出订单与市场反推出的订单及原有订单簿进行融合,这里的融合是指将该交易策略的输出订单与市场反推出的订单及原有订单簿(当前时间切片的市场订单簿数据)按照价格时间的原则进行撮合的过程,即模拟需要回测验证的交易策略与市场其他交易者的互动博弈过程,从而在市场微观层面上验证交易策略的表现,于撮合成功后,更新策略状态函数(自定义)。
[0112] 本发明把市场分为两类交易者,即需要回测验证的交易策略和市场上其他交易者(the rest of the market)。基于订单撮合引擎,本发明的回测机制建立了一套交易策略与订单簿(其他交易者交易行为)的融合算法,即在获取各时刻历史订单的基础上,模拟验证交易策略与市场其他交易者的互动博弈过程从而在市场微观层面上验证交易策略的表现。
[0113] 具体地,图5示出了本发明一实施例中交易策略与订单簿时间序列交互融合变化的过程示意图,如图5所示,具体融合过程如下:
[0114] 步骤1:在T0时刻,平台回播T0时刻的原始历史订单序列h0;
[0115] 步骤2:h0作为输入参数注入用户自定义做市策略(即需要回测验证的交易策略),h0为T0时刻的已知历史订单簿,买单价格为6和7,卖单价格为9和10
[0116] 步骤3:根据用户自定义做市策略输出用户报价订单s0,分别为数量为3m价格为6的买单,数量为1m价格为7的买单,数量为1m价格为9的卖单,数量为3m价格为10的卖单。
[0117] 步骤4:在T1时刻,基于价格优先,时间优先(FIFO,first in first out)的原则,平台融合原始历史报价订单h1和用户报价订单s0,并生成融合后(即篡改原始历史报价簿)的订单簿k1,可以观察到订单簿上价格为6,7,9,10的挡位上的订单由自定义策略与原历史订单簿订单所融合。
[0118] 步骤5:在T2时刻,原始历史报价簿h2发生变化,由图5所示某档为订单被市场新至订单所撮合成交。相应的,在直接融合模型中,撮合过程按照价格优先,时间优先的原则在融合报价簿k2中被消耗。在图5中,按照价格优先时间优先的原则,自定义策略所属订单排在原历史订单之后,所以K2中所发生的撮合成交并无自定义策略参与。
[0119] 步骤6:在T3时刻,原历史订单簿h3再次发生交易变化,因为交易量比较大,原订单簿上价格为9的卖单全部被交易完,随后价格为10的卖单也成交一部分。因此融合后,价格为9的自定义策略卖单亦被撮合成交。同时自定义策略更改自身报价,对价格为10的报价发出撤单2m的指令,由图可见整个自定义策略与历史订单簿在时间轴上的交互过程。
[0120] 步骤7:在T4时刻,自定义策略发出两个新的订单指令,全部撤销价格为6的买单,并重新发出数量为1m价格为8的买单。
[0121] 本发明的回测机制同时具有很好的延展性,可以支持验证多个交易策略同时博弈的过程。图6则示出市场订单簿时间序列和两个不同交易策略参与情景联测中报价时间序列直接融合变化的过程。具体过程如下:
[0122] 步骤1:在T0时刻,平台回播T0时刻的原始历史订单序列h0;
[0123] 步骤2:在T0时刻,h0作为输入参数注入用户自定义做市策略;
[0124] 步骤3:在T0时刻,会员单位s自定义策略输出报价订单s0,会员单位y自定义策略输出报价订单y0;
[0125] 步骤4:在T1时刻,基于价格优先,时间优先(FIFO,first in first out)的原则,平台融合原始历史报价订单h1和用户报价订单s0与y0,并生成融合后(即篡改原始历史报价簿)的报价簿k1;
[0126] 步骤5:在T2时刻,原始历史报价簿h2发生交易变化,由图所示某档为流动性被市场提取。相应的,在直接融合模型中,流动性按照价格优先,时间优先的原则在融合报价簿k2中被消耗;
[0127] 步骤6:在T3时刻,原始历史报价簿h3继续发生交易变化,两档的流动性被市场提取,同时会员单位s发出撤回订单。受此影响,融合报价簿按照时间优先,价格优先的原则进行撮合交易(这里y2因为时间优势早于s2被撮合成交),同时部分s的订单从融合订单簿里撤销。
[0128] 步骤7:在T4时刻,自定义策略s发出两个新的订单指令,全部撤销价格为6的买单,并重新发出数量为1m价格为8的买单,同时自定义策略y未发出新的交易订单指令。
[0129] 也就是说,利用订单撮合引擎,根据市场订单簿行情数据,进行做市商自定义策略订单以及市场最新订单(即反推演出的订单)撮合,并于撮合成功后,更新策略状态函数。对于自定义策略,其所能观察到的订单簿是融合被篡改后的订单簿,即k1,k2,k3,k4,在每个时间点,这些订单簿均是自定义策略的函数输入的一部分,自定义策略的输出为自定义策略的订单指令。
[0130] 由于传统的滑点假定成交不适用于高频交易验证,本发明提供了订单撮合引擎对高频交易进行微观订单层面上的验证。具体来讲,交易订单可细分为限价单,撤单以及市价单三大类。假定当前市场订单簿如表3所示(买单列表依据价格从高到低,时间戳从早到晚的顺序从上往下排序,卖单列表依据价格从低到高,时间戳从早到晚的顺序从上往下排序)。
[0131] 表3
[0132]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
1 9:00:01 2 100 9:00:02 3 101 4
2 9:00:01 1 99 9:00:03 5 102 5
3 9:00:02 5 98 9:00:04 4 102 6
[0133] 限价单:
[0134] 对于新到达的限价买卖订单,依据价格优先时间优先的原则将其插入订单簿序列中(买单价格越高,订单簿插入位置越高;卖单价格越低,订单簿插入位置越高)[0135] 限价买单撮合:
[0136] 假设在下一时刻(9:00:05)某机构(ID7)发出一个限价购买的指令:限价买,价格为101,数量为2,则订单簿变化为如下表4:
[0137] 表4
[0138]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
7 9:00:05 2 101 9:00:02 3 101 4
1 9:00:01 2 100 9:00:03 5 102 5
2 9:00:01 1 99 9:00:04 4 102 6
3 9:00:02 5 98        
[0139] 因为新到达的限价买单价格等于订单簿上一档卖单的价格,则撮合成功,生成一笔价格为101,数量为2的交易记录,同时订单簿迅速变化为(一档卖单数量由3减为1)如下表5:
[0140] 表5
[0141]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
1 9:00:01 2 100 9:00:02 1 101 4
2 9:00:01 1 99 9:00:03 5 102 5
3 9:00:02 5 98 9:00:04 4 102 6
[0142] 限价买单挂单:
[0143] 假设在下一时刻(9:00:05)某机构(ID7)发出一个限价购买的指令:限价买,价格为99,数量为2,则订单簿变化为如下表6:
[0144] 表6
[0145]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
1 9:00:01 2 100 9:00:02 3 101 4
2 9:00:01 1 99 9:00:03 5 102 5
7 9:00:05 2 99 9:00:04 4 102 6
3 9:00:02 5 98        
[0146] 新到达的限价买单依据价格和时间,排在买单列表的第三位。
[0147] 限价卖单撮合:
[0148] 假设在下一时刻(9:00:05)某机构(ID7)发出一个限价卖出的指令:限价卖,价格为100,数量为2,则订单簿变化为如下表7:
[0149] 表7
[0150]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
1 9:00:01 2 100 9:00:05 2 100 7
2 9:00:01 1 99 9:00:02 3 101 4
3 9:00:02 5 98 9:00:03 5 102 5
        9:00:04 4 102 6
[0151] 因为新到达的限价卖单价格等于订单簿上一档买单的价格,则撮合成功,生成一笔价格为100,数量为2的交易记录,同时订单簿迅速变化为(原订单簿一档订单被全部交易完毕)如下表8:
[0152] 表8
[0153]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
2 9:00:01 1 99 9:00:02 3 101 4
3 9:00:02 5 98 9:00:03 5 102 5
        9:00:04 4 102 6
[0154] 限价卖单挂单:
[0155] 假设在下一时刻(9:00:05)某机构(ID3)发出一个限价卖出的指令:限价卖,价格为103,数量为3,则订单簿变化为如下表9:
[0156] 表9
[0157]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
1 9:00:01 2 100 9:00:02 3 101 4
2 9:00:01 1 99 9:00:03 5 102 5
3 9:00:02 5 98 9:00:04 4 102 6
        9:00:05 3 103 3
[0158] 新到达的限价卖单依据价格和时间,排在卖单列表的第四位。
[0159] 撤销单:
[0160] 系统对于新到达的买卖撤销订单,依据买卖方向,买卖价格和买卖数量撤销订单簿上相应的订单。
[0161] 撤销买单:
[0162] 假设在下一时刻(9:00:05)某机构(ID1)发出一个撤销其自身买单的指令:价格为100,数量为2,则订单簿变化为如下表10:
[0163] 表10
[0164]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
2 9:00:01 1 99 9:00:02 3 101 4
3 9:00:02 5 98 9:00:03 5 102 5
        9:00:04 4 102 6
[0165] 新到达的撤销买单将限价买单列表的原一档订单撤销完毕。
[0166] 撤销卖单:
[0167] 假设在下一时刻(9:00:05)某机(ID5)构发出一个撤销其自身卖单的指令:价格为102,数量为5,则订单簿变化为如下表11:
[0168] 表11
[0169]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
1 9:00:01 2 100 9:00:02 3 101 4
2 9:00:01 1 99 9:00:04 4 102 6
3 9:00:02 5 98        
[0170] 新到达的撤销买单将限价卖单列表的原二档订单撤销完毕。
[0171] 市价单:
[0172] 系统对于新到达的买卖市价订单,依据买卖方向,市价单与订单簿上的限价单依次撮合成交:
[0173] 市价买单
[0174] 假设在下一时刻(9:00:05)某机构发出一个市价买单的指令:数量为2,则订单簿变化为如下表12:
[0175] 表12
[0176]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
1 9:00:01 2 100 9:00:02 1 101 4
2 9:00:01 1 99 9:00:03 5 102 5
3 9:00:02 5 98 9:00:04 4 102 6
[0177] 新到达的市价买单与原限价卖单一档订单撮合成交,生成一笔交易量为2,价格为101的交易记录;同时原订单簿卖单列表一档的订单数量由3减至1。
[0178] 市价卖单:
[0179] 假设在下一时刻(9:00:05)某机构发出一个市价卖单的指令:数量为5,则订单簿变化为如下表13:
[0180] 表13
[0181]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
3 9:00:02 3 98 9:00:02 3 101 4
        9:00:04 4 102 6
               
[0182] 新到达的市价卖单与订单簿的原一档,二档,部分三档分别成交,生成三笔交易,分别为量为2,价格为100的交易1;量为1价格为99的交易2;量为2价格为98的交易3。同时订单簿买单列表只剩下原第三档部分订单,订单量由5减至3。
[0183] 优选地,本发明之高频量化交易策略回测验证方法还包括:
[0184] 步骤S4,重复步骤S1-S3直至所有订单播放完毕,并利用策略评估模块生成策略回测性能报告。
[0185] 为了全面的评估交易策略的表现,策略评估模块会计算一系列的性能指标,包括但不限于综合性能报告,pnl(Profit and Loss)损益报告,存量报告,每日仓位报告,报价以及成交记录,报价质量报告等
[0186] 1、综合性能报告:
[0187] 计算以下综合指标:累计收益,交易次数,每日平均交易次数,年化收益,最大回撤,最大回撤时长,收益回撤比,资金使用率
[0188] 其中,最大回撤计算如下:
[0189]
[0190] 其中X代表了在某个时刻的收益,上述公式描述的是在选定周期内任一历史时点往后推,产品净值走到最低点时的收益率回撤幅度的最大值
[0191] 收益回撤比:
[0192] 收益回撤比=年化收益/最大回撤
[0193] 资金使用率:
[0194] 资金使用率=总持仓时长/总时长
[0195] 2、Pnl损益图:
[0196] 展示策略的Mark to Market收益曲线。如图7a所示,横轴为时间轴,纵轴则为策略损益。
[0197] 3、存量走势图:
[0198] 除去损益,做市商通常需要控制单边仓位上限来管理风险。存量走势图可以帮助用户分析最大单边仓位等重要信息。如图7b所示,存量走势图的横轴为时间,纵轴为USD存量。
[0199] 3、每日仓位报告:
[0200] 以日为单位,计算策略每日的Mark to Market损益以及持仓数据。
[0201] 在T0时刻,做市商的存量与现金都为0,则PnL为0+0=0
[0202] 在T1时刻,做市商以s1的价格卖出q份,获利x,则PnL=–s1*q+x[0203] 在T1时刻,标的价格由s1变为s2,获利x,则PnL=–s2*q+x
[0204] 由此类推。
[0205] 4、模拟报单以及成交记录:
[0206] 记录所有策略报单以及成交的日志情况,方便用户调阅进行审核。需涵盖以下内容:时间,交易双方会员单位名,成交价格,成交量,订单类型(市价,限价等)。
[0207] 5、报价质量
[0208] 展示策略报价与市场其他市场最优报价之比较,通常为评判做市策略的一个重要指标。
[0209] 图8为本发明具体实施例之高频量化交易策略回测验证过程的流程图。如图8所示,该高频量化交易策略回测验证过程如下:
[0210] 步骤1:放送市场订单簿数据
[0211] 步骤2:放送市场成交记录
[0212] 步骤3:反推各时刻市场新订单
[0213] 步骤4:逐比开始播放市场订单簿和市场成交记录
[0214] 步骤5:将市场订单簿,交易策略参数以及交易策略本身状态送入自定义做市函数中
[0215] 步骤6:自定义交易策略函数输出当前指令
[0216] 步骤7:模拟撮合引擎将市场订单簿行情数据,做市商最新订单以及市场最新订单撮合
[0217] 步骤8:撮合成功后,更新策略状态函数
[0218] 步骤9:重复步骤3-8,直至模拟结束
[0219] 步骤10:生成此策略回测性能报告。
[0220] 图9为本发明一种高频量化交易策略回测验证系统的系统架构图。如图9所示,本发明一种高频量化交易策略回测验证系统,包括:
[0221] 历史订单反推模块901,用于获取市场订单簿数据以及市场成交记录,根据获得的数据反推各历史时刻市场订单,包括但不限于限价单,市价单以及撤销单。
[0222] 一般来说,对于普通交易者,历史订单指令级数据是不易获得的。交易机构获得的常见数据为市场订单簿和交易记录。如前述表1为获得的市场订单簿的示例,表2所示为获得的市场成交记录的示例。
[0223] 对于给定的历史订单簿和历史成交记录,历史订单反推模块901推演出各时刻的订单,包括限价单,市价单以及撤销单。
[0224] 具体地,历史订单反推模块901进一步包括:
[0225] 历史订单生成单元,用于根据历史成交记录,比较成交价格,成交量与市场订单簿买卖报价生成相应的历史订单。
[0226] 以表1/表2示例为例,如果四笔成交记录的时间戳分别为9:30:01.1,9:30:01.2,9:30:01.3,9:30:01.4同时行情订单簿的更新切片为9:30:00,9:30:02,9:30:04,9:30:06,则此四笔交易属于9:30:00-9:30:02的时间切片区间之内,如图3所示,即Clob0-Clob1表示
9:30:00-9:30:02的时间切片,Trade1@t0.1,Trade2@t0.2,Trade3@t0.3,Trade4@t0.4表示
9:30:01.1,9:30:01.2,9:30:01.3,9:30:01.4的四笔成交记录,
[0227] 以卖出订单(ask)为例,以下为各情景下的反推逻辑:
[0228] 情景1(如图4a),当成交价格低于市场订单簿上卖单最优价格,即价格下行:
[0229] 生成限价单,价格与量与成交trade一致;
[0230] 生成市价单,量与成交trade一致。
[0231] 情景2(图4b),成交价格与市场订单簿卖单最优价格一致,即价格未变:
[0232] 2.1,当成交量大于市场订单簿卖单最优报价量:
[0233] 生成限价单,其价格与成交价格一致,量为成交量与订单簿最优报价量之差;
[0234] 生成市价单,其量与成交价格一致。
[0235] 2.2,当成交量小于等于市场订单簿卖单最优报价量:
[0236] 生成市价单,量与成交trade一致。
[0237] 情景3(如图4c),当成交价格高于市场订单簿卖单最优价格,即价格上行:
[0238] 对于订单簿上所有低于成交价格的报价挡位,生成撤销单,
[0239] 3.1,当成交价格不在市场订单簿卖单挡位上时:
[0240] 生成限价单,价格与量与成交trade一致;
[0241] 生成市价单,量与成交trade一致。
[0242] 3.2,当成交价格在订单簿卖单某一挡位上时:
[0243] 3.2.1,当成交量大于订单簿卖单此档报价量
[0244] 生成限价单,价格与成交trade一致,量为成交量与订单簿此档报价量之差;
[0245] 生成市价单,量与成交trade一致。
[0246] 3.2.2,当成交量小于等于订单簿最优报价量
[0247] 生成市价单,量与成交trade一致。
[0248] 剩余订单推演单元,用于在完成所有交易所对应的订单反推之后,将此时的限价订单簿记为T_0',以区别撮合前的状态T_0,比较T_0'与下一时刻T_1的订单簿,以此推演出相应的剩余订单。因为T_0'时刻的订单簿是完全由已经历史成交记录推演的订单所得,无法保证T_0'与T_1时刻订单簿是一致的,不一致的原因有可能是T_0'到T_1之间产生了一些不造成新成交的订单,例如撤单,例如无法成交的限价单等。
[0249] 交易策略执行模块902,用于随着交易策略的入参市场订单簿的更新以及市场成交数据的更新,使交易策略相应地作出行为,例如发单交易,产生相应的订单。
[0250] 融合模块903,用于在获取各历史时刻订单的基础上,将需要回测验证的交易策略的输出订单与市场反推出的订单及原有订单簿进行融合,这里的融合是指将该交易策略的输出订单与市场反推出的订单及原有订单簿按照价格时间的原则进行撮合的过程,即模拟需要回测验证的交易策略与市场其他交易者的互动博弈过程,从而在市场微观层面上验证交易策略的表现,于撮合成功后,更新策略状态函数(自定义)。
[0251] 本发明把市场分为两类交易者,即需要回测验证的交易策略和市场上其他交易者(the rest of the market)。基于订单撮合引擎,本发明的回测机制建了一套交易策略与订单簿(其他交易者交易行为)的融合算法,即在获取各时刻历史订单的基础上,模拟验证交易策略与市场其他交易者的互动博弈过程从而在市场微观层面上验证交易策略的表现。
[0252] 在本发明一实施例中,融合模块903的具体融合过程如下(参照图5):
[0253] 步骤1:在T0时刻,平台回播T0时刻的原始历史订单序列h0;
[0254] 步骤2:h0作为输入参数注入用户自定义做市策略(即需要回测验证的交易策略),h0为T0时刻的已知历史订单簿,买单价格为6和7,卖单价格为9和10
[0255] 步骤3:根据用户自定义做市策略输出用户报价订单s0,分别为数量为3m价格为6的买单,数量为1m价格为7的买单,数量为1m价格为9的卖单,数量为3m价格为10的卖单。
[0256] 步骤4:在T1时刻,基于价格优先,时间优先(FIFO,first in first out)的原则,平台融合原始历史报价订单h1和用户报价订单s0,并生成融合后(即篡改原始历史报价簿)的订单簿k1,可以观察到订单簿上价格为6,7,9,10的挡位上的订单由自定义策略与原历史订单簿订单所融合。
[0257] 步骤5:在T2时刻,原始历史报价簿h2发生变化,由图5所示某档为订单被市场新至订单所撮合成交。相应的,在直接融合模型中,撮合过程按照价格优先,时间优先的原则在融合报价簿k2中被消耗。在图5中,按照价格优先时间优先的原则,自定义策略所属订单排在原历史订单之后,所以K2中所发生的撮合成交并无自定义策略参与。
[0258] 步骤6:在T3时刻,原历史订单簿h3再次发生交易变化,因为交易量比较大,原订单簿上价格为9的卖单全部被交易完,随后价格为10的卖单也成交一部分。因此融合后,价格为9的自定义策略卖单亦被撮合成交。同时自定义策略更改自身报价,对价格为10的报价发出撤单2m的指令,由图可见整个自定义策略与历史订单簿在时间轴上的交互过程。
[0259] 步骤7:在T4时刻,自定义策略发出两个新的订单指令,全部撤销价格为6的买单,并重新发出数量为1m价格为8的买单。
[0260] 本发明的回测机制同时具有很好的延展性,可以支持验证多个交易策略同时博弈的过程。在本发明另一实施例中。融合模块903的具体过程如下:
[0261] 步骤1:在T0时刻,平台回播T0时刻的原始历史订单序列h0;
[0262] 步骤2:在T0时刻,h0作为输入参数注入用户自定义做市策略;
[0263] 步骤3:在T0时刻,会员单位s自定义策略输出报价订单s0,会员单位y自定义策略输出报价订单y0;
[0264] 步骤4:在T1时刻,基于价格优先,时间优先(FIFO,first in first out)的原则,平台融合原始历史报价订单h1和用户报价订单s0与y0,并生成融合后(即篡改原始历史报价簿)的报价簿k1;
[0265] 步骤5:在T2时刻,原始历史报价簿h2发生交易变化,由图所示某档为流动性被市场提取。相应的,在直接融合模型中,流动性按照价格优先,时间优先的原则在融合报价簿k2中被消耗;
[0266] 步骤6:在T3时刻,原始历史报价簿h3继续发生交易变化,两档的流动性被市场提取,同时会员单位s发出撤回订单。受此影响,融合报价簿按照时间优先,价格优先的原则进行撮合交易(这里y2因为时间优势早于s2被撮合成交),同时部分s的订单从融合订单簿里撤销。
[0267] 步骤7:在T4时刻,自定义策略s发出两个新的订单指令,全部撤销价格为6的买单,并重新发出数量为1m价格为8的买单,同时自定义策略y未发出新的交易订单指令。
[0268] 也就是说,利用订单撮合引擎,根据市场订单簿行情数据,进行做市商自定义策略订单、及市场最新订单(即反推演出的订单)及原有订单簿撮合,并于撮合成功后,更新策略状态函数。对于自定义策略,其所能观察到的订单簿是融合被篡改后的订单簿,即k1,k2,k3,k4,在每个时间点,这些订单簿均是自定义策略的函数输入的一部分,自定义策略的输出为自定义策略的订单指令。
[0269] 由于传统的滑点假定成交不适用于高频交易验证,本发明提供了订单撮合引擎对高频交易进行微观订单层面上的验证。具体来讲,交易订单可细分为限价单,撤单以及市价单三大类。假定当前市场订单簿如下表所示(买单列表依据价格从高到低,时间戳从早到晚的顺序从上往下排序,卖单列表依据价格从低到高,时间戳从早到晚的顺序从上往下排序)。
[0270]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
1 9:00:01 2 100 9:00:02 3 101 4
2 9:00:01 1 99 9:00:03 5 102 5
3 9:00:02 5 98 9:00:04 4 102 6
[0271] 限价单:
[0272] 对于新到达的限价买卖订单,依据价格优先时间优先的原则将其插入订单簿序列中(买单价格越高,订单簿插入位置越高;卖单价格越低,订单簿插入位置越高)[0273] 限价买单撮合:
[0274] 假设在下一时刻(9:00:05)某机构(ID7)发出一个限价购买的指令:限价买,价格为101,数量为2,则订单簿变化为如下表:
[0275]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
7 9:00:05 2 101 9:00:02 3 101 4
1 9:00:01 2 100 9:00:03 5 102 5
2 9:00:01 1 99 9:00:04 4 102 6
3 9:00:02 5 98        
[0276] 因为新到达的限价买单价格等于订单簿上一档卖单的价格,则撮合成功,生成一笔价格为101,数量为2的交易记录,同时订单簿迅速变化为(一档卖单数量由3减为1)如下表:
[0277]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
1 9:00:01 2 100 9:00:02 1 101 4
2 9:00:01 1 99 9:00:03 5 102 5
3 9:00:02 5 98 9:00:04 4 102 6
[0278] 限价买单挂单:
[0279] 假设在下一时刻(9:00:05)某机构(ID7)发出一个限价购买的指令:限价买,价格为99,数量为2,则订单簿变化为如下表:
[0280]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
1 9:00:01 2 100 9:00:02 3 101 4
2 9:00:01 1 99 9:00:03 5 102 5
7 9:00:05 2 99 9:00:04 4 102 6
3 9:00:02 5 98        
[0281] 新到达的限价买单依据价格和时间,排在买单列表的第三位。
[0282] 限价卖单撮合:
[0283] 假设在下一时刻(9:00:05)某机构(ID7)发出一个限价卖出的指令:限价卖,价格为100,数量为2,则订单簿变化为如下表:
[0284]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
1 9:00:01 2 100 9:00:05 2 100 7
2 9:00:01 1 99 9:00:02 3 101 4
3 9:00:02 5 98 9:00:03 5 102 5
        9:00:04 4 102 6
[0285] 因为新到达的限价卖单价格等于订单簿上一档买单的价格,则撮合成功,生成一笔价格为100,数量为2的交易记录,同时订单簿迅速变化为(原订单簿一档订单被全部交易完毕)如下表:
[0286]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
2 9:00:01 1 99 9:00:02 3 101 4
3 9:00:02 5 98 9:00:03 5 102 5
        9:00:04 4 102 6
[0287] 限价卖单挂单:
[0288] 假设在下一时刻(9:00:05)某机构(ID3)发出一个限价卖出的指令:限价卖,价格为103,数量为3,则订单簿变化为如下表:
[0289]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
1 9:00:01 2 100 9:00:02 3 101 4
2 9:00:01 1 99 9:00:03 5 102 5
3 9:00:02 5 98 9:00:04 4 102 6
        9:00:05 3 103 3
[0290] 新到达的限价卖单依据价格和时间,排在卖单列表的第四位。
[0291] 撤销单:
[0292] 系统对于新到达的买卖撤销订单,依据买卖方向,买卖价格和买卖数量撤销订单簿上相应的订单。
[0293] 撤销买单:
[0294] 假设在下一时刻(9:00:05)某机构(ID1)发出一个撤销其自身买单的指令:价格为100,数量为2,则订单簿变化为如下表:
[0295]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
2 9:00:01 1 99 9:00:02 3 101 4
3 9:00:02 5 98 9:00:03 5 102 5
        9:00:04 4 102 6
[0296] 新到达的撤销买单将限价买单列表的原一档订单撤销完毕。
[0297] 撤销卖单:
[0298] 假设在下一时刻(9:00:05)某机(ID5)构发出一个撤销其自身卖单的指令:价格为102,数量为5,则订单簿变化为如下表:
[0299]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
1 9:00:01 2 100 9:00:02 3 101 4
2 9:00:01 1 99 9:00:04 4 102 6
3 9:00:02 5 98        
[0300] 新到达的撤销买单将限价卖单列表的原二档订单撤销完毕。
[0301] 市价单:
[0302] 系统对于新到达的买卖市价订单,依据买卖方向,市价单与订单簿上的限价单依次撮合成交:
[0303] 市价买单
[0304] 假设在下一时刻(9:00:05)某机构发出一个市价买单的指令:数量为2,则订单簿变化为如下表:
[0305]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
1 9:00:01 2 100 9:00:02 1 101 4
2 9:00:01 1 99 9:00:03 5 102 5
3 9:00:02 5 98 9:00:04 4 102 6
[0306] 新到达的市价买单与原限价卖单一档订单撮合成交,生成一笔交易量为2,价格为101的交易记录;同时原订单簿卖单列表一档的订单数量由3减至1。
[0307] 市价卖单:
[0308] 假设在下一时刻(9:00:05)某机构发出一个市价卖单的指令:数量为5,则订单簿变化为如下表:
[0309]买单ID 买单时间 买量 买价 卖单时间 卖量 卖价 卖单ID
3 9:00:02 3 98 9:00:02 3 101 4
        9:00:04 4 102 6
               
[0310] 新到达的市价卖单与订单簿的原一档,二档,部分三档分别成交,生成三笔交易,分别为量为2,价格为100的交易1;量为1价格为99的交易2;量为2价格为98的交易3。同时订单簿买单列表只剩下原第三档部分订单,订单量由5减至3。
[0311] 策略评估模块904,用于在模拟撮合结束后,生成策略回测性能报告。
[0312] 为了全面的评估交易策略的表现,策略评估模块904会计算一系列的性能指标,包括但不限于综合性能报告,pnl损益报告,存量报告,每日仓位报告,报价以及成交记录,报价质量报告等
[0313] 1、综合性能报告:
[0314] 计算以下综合指标:累计收益,交易次数,每日平均交易次数,年化收益,最大回撤,最大回撤时长,收益回撤比,资金使用率
[0315] 其中,最大回撤计算如下:
[0316]
[0317] 收益回撤比:
[0318] 收益回撤比=年化收益/最大回撤
[0319] 资金使用率:
[0320] 资金使用率=总持仓时长/总时长
[0321] 2、Pnl损益图:展示策略的Mark to Market收益曲线。
[0322] 3、存量走势图:
[0323] 除去损益,做市商通常需要控制单边仓位上限来管理风险。存量走势图可以帮助用户分析最大单边仓位等重要信息。
[0324] 3、每日仓位报告:
[0325] 以日为单位,计算策略每日的Mark to Market损益以及持仓数据。
[0326] 在T0时刻,做市商的存量与现金都为0,则PnL为0+0=0
[0327] 在T1时刻,做市商以s1的价格卖出q份,获取现金x,则PnL=–s1*q+x[0328] 在T2时刻,标的价格由s1变为s2,获利x,则PnL=–s2*q+x
[0329] 由此类推。
[0330] 4、模拟报单以及成交记录:
[0331] 记录所有策略报单以及成交的日志情况,方便用户调阅进行审核。需涵盖以下内容:时间,交易双方会员单位名,成交价格,成交量,订单类型(市价,限价等)。
[0332] 5、报价质量
[0333] 展示策略报价与市场其他市场最优报价之比较,通常为评判做市策略的一个重要指标。
[0334] 经仿真验证,本发明对于验证各高频量化交易策略具有非常好的可延展性,适用场景包括但不仅限于如下策略:各高频做市,特殊情景压力测试,期货换月调仓策略,高频跨境套利,高频跨期套利,高频期现套利。
[0335] 综上所述,本发明一种高频量化交易策略回测验证方法及系统首先通过获取历史市场订单簿数据以及市场成交记录,根据获得的数据反推各时刻市场订单,在获取各历史时刻订单的基础上,将需要回测验证的交易策略的输出订单与市场反推出的订单及原有订单簿利用订单撮合引擎进行撮合,并于撮合成功后,更新策略状态函数,并重复上述过程直至模拟结束,最后利用策略评估模块生成策略回测性能报告,实现了通过利用历史订单簿数据和交易数据,并使用订单推演实现高频量化交易策略回测验证的目的。
[0336] 上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈