首页> 中国专利> 一种金融交易信息的回测方法、系统、设备及存储介质

一种金融交易信息的回测方法、系统、设备及存储介质

摘要

本申请实施例提供一种金融交易信息的回测方法、系统、设备及存储介质,涉及交易信息回测技术领域。该金融交易信息的回测方法包括:接收包括初始化持仓信息和资金信息的第一操作指令;接收包括模拟实盘规则信息和模拟时间段信息的第二操作指令;根据所述模拟时间段信息获取历史行情数据;根据所述第一操作指令、所述模拟实盘规则信息和所述历史行情数据生成回测报告。该金融交易信息的回测方法可以实现提高回测和实盘的一致性,达到较高的交易保真度的技术效果。

著录项

  • 公开/公告号CN112184443A

    专利类型发明专利

  • 公开/公告日2021-01-05

    原文格式PDF

  • 申请/专利权人 上海金纳信息科技有限公司;

    申请/专利号CN202011053902.3

  • 发明设计人 夏阳;

    申请日2020-09-29

  • 分类号G06Q40/04(20120101);G06F30/20(20200101);

  • 代理机构11463 北京超凡宏宇专利代理事务所(特殊普通合伙);

  • 代理人钟扬飞

  • 地址 200120 上海市浦东新区中国(上海)自由贸易试验区商城路618号3楼、4楼

  • 入库时间 2023-06-19 09:27:35

说明书

技术领域

本申请涉及交易信息回测技术领域,具体而言,涉及一种金融交易信息的回测方法、系统、设备及存储介质。

背景技术

目前,回测系统是指利用行情数据、财务数据等数据进行买或卖的模拟交易,研究交易数据找出一般规律用于投资。现有的回测系统主要以日线数据、分钟线数据进行研究,先确定买卖时点,然后指定价格加上价格滑点的方式模拟成交。与真实的交易相比,这种模拟方式存在较大的失真度,比如成交价差异较大,或者无法成交等,回测的效果和实盘效果差异较大。

发明内容

本申请实施例的目的在于提供一种金融交易信息的回测方法,可以实现提高回测和实盘的一致性,达到较高的交易保真度的技术效果。

第一方面,本申请实施例提供了一种金融交易信息的回测方法,所述方法包括:

接收包括初始化持仓信息和资金信息的第一操作指令;

接收包括模拟实盘规则信息和模拟时间段信息的第二操作指令;

根据所述模拟时间段信息获取历史行情数据;

根据所述第一操作指令、所述模拟实盘规则信息和所述历史行情数据生成回测报告。

在上述实现过程中,该金融交易信息的回测方法可以模拟交易所的交易功能,第一操作指令初始化持仓信息、资金信息,第二操作指令模拟实盘规则,根据模拟时间段接收历史行情数据,进而处理第一操作指令、第二操作指令并回复回测报告;因此,该金融交易信息的回测方法可以实现提高回测和实盘的一致性,达到较高的交易保真度的技术效果,从而比普通的回测系统更友好和高效的帮助用户测试研究策略。

进一步地,所述第二操作指令还包括结算所述持仓信息和所述资金信息的结算规则信息;所述根据所述第一操作指令、所述模拟实盘规则信息和所述历史行情数据生成回测报告的步骤为:根据所述第一操作指令、所述结算规则信息和所述历史行情数据生成回测报告。

在上述实现过程中,结算持仓信息和资金信息的结算规则信息,可以对用户的持仓和资金等进行结算,通过结算规则信息,可以对各交易所的各种品种的交易规则进行仿真,可以在回测过程中最大程度了还原交易行为,做到回测即实盘。

进一步地,所述第二操作指令还包括下单指令;所述根据所述第一操作指令、所述模拟实盘规则信息和所述历史行情数据生成回测报告的步骤,还包括:

根据所述历史行情数据处理所述下单指令;

当模拟时刻处于收盘时间时,生成收盘结算报告。

在上述实现过程中,第二操作指令包括下单指令,下单指令依据交易规则与历史行情数据,进行交易;其中,交易规则即预先设置的下单交易规则,根据历史行情数据和下单指令进行交易和处理;收盘结算报告则是在下单指令完成后,对交易数据的计算、汇总和分析,然后生成报告。

进一步地,所述下单指令为买入委托单指令时,所述根据所述历史行情数据处理所述下单指令的步骤,包括:

判断所述买入委托单指令中的委托价是否高于或等于对手价;

若是,则以所述对手价为成交价处理所述买入委托单指令,完成成交;

若否,则停止成交。

在上述实现过程中,下单指令为买入委托单指令时,利用历史行情数据进行仿真模拟,通过比较买入委托单指令的委托价和最新历史行情数据时刻的对手价,从而确定下单指令的成交时间和成交价,这种交易算法符合历史数据,可以最大程度上还原了真实的历史交易过程。

进一步地,所述下单指令为卖出委托单指令时,所述根据所述历史行情数据处理所述下单指令的步骤,包括:

判断所述卖出委托单指令中的委托价是否低于或等于对手价;

若是,则以所述对手价为成交价处理所述卖出委托单指令,完成成交;

若否,则停止成交。

在上述实现过程中,下单指令为卖出委托单指令时,利用历史行情数据进行仿真模拟,通过比较卖出委托单指令的委托价和最新历史行情数据时刻的对手价,从而确定下单指令的成交时间和成交价,这种交易算法符合历史数据,可以最大程度上还原了真实的历史交易过程。

进一步地,所述下单指令为市价单指令时,所述根据所述历史行情数据处理所述下单指令的步骤,包括:

判断所述市价单指令下单时刻的累计成交量是否大于所述历史行情数据的累计成交量;

若是,则以对手价为成交价处理所述下单指令,完成成交;

若否,则停止成交。

在上述实现过程中,下单指令为市价单指令时,利用历史行情数据进行仿真模拟,通过判断市价单指令下单时刻的累计成交量是否大于历史行情数据的累计成交量,从而确定下单指令的成交时间和成交价,这种交易算法符合历史数据,可以最大程度上还原了真实的历史交易过程。

第二方面,本申请实施例还提供了一种金融交易信息的回测系统,包括:

第一接收模块,用于接收包括初始化持仓信息和资金信息的第一操作指令;

第二接收模块,用于接收包括模拟实盘规则信息和模拟时间段信息的第二操作指令;

获取模块,用于根据所述模拟时间段信息获取历史行情数据;

生成模块,用于根据所述第一操作指令、所述模拟实盘规则信息和所述历史行情数据生成回测报告。

进一步地,所述第二操作指令还包括结算所述持仓信息和所述资金信息的结算规则信息;所述生成模块还用于根据所述第一操作指令、所述结算规则信息和所述历史行情数据生成回测报告。

进一步地,所述第二操作指令还包括下单指令;所述生成模块包括:

处理单元,用于根据所述历史行情数据处理所述下单指令;

生成单元,用于当模拟时刻处于收盘时间时,生成收盘结算报告。

进一步地,所述处理单元还用于:

判断所述买入委托单指令中的委托价是否高于或等于对手价;

若是,则以所述对手价为成交价处理所述买入委托单指令,完成成交;

若否,则停止成交。

进一步地,所述处理单元还用于:

判断所述卖出委托单指令中的委托价是否低于或等于对手价;

若是,则以所述对手价为成交价处理所述卖出委托单指令,完成成交;

若否,则停止成交。

进一步地,所述处理单元还用于:

判断所述市价单指令下单时刻的累计成交量是否大于所述历史行情数据的累计成交量;

若是,则以对手价为成交价处理所述下单指令,完成成交;

若否,则停止成交。

第三方面,本申请实施例提供的一种设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的方法的步骤。

第四方面,本申请实施例提供的一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面任一项所述的方法。

第五方面,本申请实施例提供的一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行如第一方面任一项所述的方法。

本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种金融交易信息的回测方法的流程示意图;

图2为本申请实施例提供的一种处理下单指令的流程示意图;

图3为本申请实施例提供的又一种处理下单指令的流程示意图;

图4为本申请实施例提供的另一种处理下单指令的流程示意图;

图5为本申请实施例提供的一种金融交易信息的回测系统的结构框图;

图6为本申请实施例提供的一种生成模块的结构框图;

图7为本申请实施例提供的一种设备的结构框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

本申请实施例提供了一种金融交易信息的回测方法,可以实现对股票、期货、期权等金融场内交易领域的回测;该金融交易信息的回测方法可以模拟交易所的交易功能,第一操作指令初始化持仓信息、资金信息,第二操作指令模拟实盘规则,根据模拟时间段接收历史行情数据,进而处理第一操作指令、第二操作指令并回复回测报告;因此,该金融交易信息的回测方法可以实现提高回测和实盘的一致性,达到较高的交易保真度的技术效果,从而比普通的回测系统更友好和高效的帮助用户测试研究策略。

请参见图1,图1为本申请实施例提供的一种金融交易信息的回测方法的流程示意图,应用于回测系统,所述方法包括如下步骤:

S100:接收包括初始化持仓信息和资金信息的第一操作指令。

S200:接收包括模拟实盘规则信息和模拟时间段信息的第二操作指令。

示例性地,第二操作指令包括订单的操作指令,包括下单指令、成交指令、撤销指令、拒绝指令中的一种或多种。

示例性地,模拟实盘规则信息可包括各交易所的各种金融品种的交易规则,实现更高的仿真效果;可选地,模拟实盘规则信息包括资金和持仓的结算规则、交易所的交易时段、以及交易指令的支持等。

S300:根据模拟时间段信息获取历史行情数据。

示例性地,根据模拟时间段信息,可以从历史行情中心数据库中,获取到与模拟时间段对应的历史行情数据。

S400:根据第一操作指令、模拟实盘规则信息和历史行情数据生成回测报告。

在一些实施场景中,该金融交易信息的回测方法可以模拟交易所的交易功能,第一操作指令初始化持仓信息、资金信息,第二操作指令模拟实盘规则,根据模拟时间段接收历史行情数据,进而处理第一操作指令、第二操作指令并回复回测报告;因此,该金融交易信息的回测方法可以实现提高回测和实盘的一致性,达到较高的交易保真度的技术效果;可选地,如果是下单指令则根据核心算法与历史行情数据,依据交易规则进行交易;当模拟时间处于收盘后,回测系统开始进行结算;在回测过程时,用户可以通过查询接口查询持仓、资金等信息,从而更直观的了解收益情况和回测效果,比普通的回测系统更友好和高效的帮助用户测试研究策略。

示例性地,第二操作指令还包括结算持仓信息和资金信息的结算规则信息;根据第一操作指令、模拟实盘规则信息和历史行情数据生成回测报告的步骤为:根据第一操作指令、结算规则信息和历史行情数据生成回测报告。

在一些实施方式中,结算持仓信息和资金信息的结算规则信息,可以对用户的持仓和资金等进行结算,通过结算规则信息,可以对各交易所的各种品种的交易规则进行仿真,可以在回测过程中最大程度了还原交易行为,做到回测即实盘。

示例性地,第二操作指令还包括下单指令;根据第一操作指令、模拟实盘规则信息和历史行情数据生成回测报告的步骤,还包括:

根据历史行情数据处理下单指令;

当模拟时刻处于收盘时间时,生成收盘结算报告。

在一些实施方式中,第二操作指令包括下单指令,下单指令依据交易规则与历史行情数据,进行交易;其中,交易规则即预先设置的下单交易规则,根据历史行情数据和下单指令进行交易和处理;收盘结算报告则是在下单指令完成后,对交易数据的计算、汇总和分析,然后生成报告。

请参见图2,图2为本申请实施例提供的一种处理下单指令的流程示意图。

示例性地,下单指令为买入委托单指令时,根据历史行情数据处理下单指令的步骤,包括:

判断买入委托单指令中的委托价是否高于或等于对手价;

若是,则以对手价为成交价处理买入委托单指令,完成成交;

若否,则停止成交。

示例性地,下单指令为买入委托单指令时,利用历史行情数据进行仿真模拟,通过比较买入委托单指令的委托价和最新历史行情数据时刻的对手价,从而确定下单指令的成交时间和成交价,这种交易算法符合历史数据,可以最大程度上还原了真实的历史交易过程。

在一些实施方式中,在判断买入委托单指令中的委托价是否高于或等于对手价的步骤之前,还包括步骤:获取最新的历史行情数据;下单时间是否早于预设时刻。其中,预设时刻可以表示为获取最新的历史行情数据的时间。

请参见图3,图3为本申请实施例提供的又一种处理下单指令的流程示意图。

示例性地,下单指令为卖出委托单指令时,根据历史行情数据处理下单指令的步骤,包括:

判断卖出委托单指令中的委托价是否低于或等于对手价;

若是,则以对手价为成交价处理卖出委托单指令,完成成交;

若否,则停止成交。

示例性地,下单指令为卖出委托单指令时,利用历史行情数据进行仿真模拟,通过比较卖出委托单指令的委托价和最新历史行情数据时刻的对手价,从而确定下单指令的成交时间和成交价,这种交易算法符合历史数据,可以最大程度上还原了真实的历史交易过程。

在一些实施方式中,在判断卖出委托单指令中的委托价是否低于或等于对手价的步骤之前,还包括步骤:获取最新的历史行情数据;下单时间是否早于预设时刻。其中,预设时刻可以表示为获取最新的历史行情数据的时间。

请参见图4,图4为本申请实施例提供的另一种处理下单指令的流程示意图。

示例性地,下单指令为市价单指令时,根据历史行情数据处理下单指令的步骤,包括:

判断市价单指令下单时刻的累计成交量是否大于历史行情数据的累计成交量;

若是,则以对手价为成交价处理下单指令,完成成交;

若否,则停止成交。

示例性地,下单指令为市价单指令时,利用历史行情数据进行仿真模拟,通过判断市价单指令下单时刻的累计成交量是否大于历史行情数据的累计成交量,从而确定下单指令的成交时间和成交价,这种交易算法符合历史数据,可以最大程度上还原了真实的历史交易过程。

在一些实施方式中,在判断市价单指令下单时刻的累计成交量是否大于历史行情数据的累计成交量的步骤之前,还包括步骤:获取最新的历史行情数据;下单时间是否早于预设时刻。其中,预设时刻可以表示为获取最新的历史行情数据的时间。

示例性地,传统的回测系统通过日线数据、分钟线数据进行交易,因为行情数据颗粒度太粗,因此只能做粗略的交易成交,以当前的成交价格(日线的收盘价或者分钟线的收盘价)和滑点,但是这种方式并不能保证成交、并且成交价的估计也不准确。

本申请实施例提供的一种金融交易信息的回测方法,则使用真实的历史行情数据,根据真实的成交行情数据进行模拟交易,通过比较下单时刻和最新行情时刻的对手价、成交数量等信息,根据订单类型确定成交时间和成交价;这种交易算法符合历史行情数据,从而最大程度上还原了真实的历史交易过程。

在一些实施场景中,传统的回测系统和交易系统是两套系统,在回测通过后,用户需要根据交易系统的接口重新开发实盘交易模块。本申请实施例提供的金融交易信息的回测方法,通过统一的行情交易接口进行回测,在用户策略回测通过后,不需要修改即可部署到实盘进行交易。在统一行情交易接口中,仿照实盘的行情和交易的接口设计了回测的接口,两者完全一致。

请参见图5,图5为本申请实施例提供的一种金融交易信息的回测系统的结构框图,该金融交易信息的回测系统,包括:

第一接收模块100,用于接收包括初始化持仓信息和资金信息的第一操作指令;

第二接收模块200,用于接收包括模拟实盘规则信息和模拟时间段信息的第二操作指令;

获取模块300,用于根据模拟时间段信息获取历史行情数据;

生成模块400,用于根据第一操作指令、模拟实盘规则信息和历史行情数据生成回测报告。

示例性地,第二操作指令还包括结算持仓信息和资金信息的结算规则信息;生成模块400还用于根据第一操作指令、结算规则信息和历史行情数据生成回测报告。

请参见图6,图6为本申请实施例提供的一种生成模块的结构框图。

示例性地,第二操作指令还包括下单指令;生成模块400包括:

处理单元410,用于根据历史行情数据处理下单指令;

生成单元420,用于当模拟时刻处于收盘时间时,生成收盘结算报告。

示例性地,处理单元410还用于:

判断买入委托单指令中的委托价是否高于或等于对手价;

若是,则以对手价为成交价处理买入委托单指令,完成成交;

若否,则停止成交。

示例性地,处理单元410还用于:

判断卖出委托单指令中的委托价是否低于或等于对手价;

若是,则以对手价为成交价处理卖出委托单指令,完成成交;

若否,则停止成交。

示例性地,处理单元410还用于:

判断市价单指令下单时刻的累计成交量是否大于历史行情数据的累计成交量;

若是,则以对手价为成交价处理下单指令,完成成交;

若否,则停止成交。

应理解,图5和图6所示的金融交易信息的回测方法与图1至图4中所示的金融交易信息的回测方法相互对应,为避免重复,此处不再赘述。

本申请还提供一种设备,请参见图7,图7为本申请实施例提供的一设备的结构框图。设备可以包括处理器510、通信接口520、存储器530和至少一个通信总线540。其中,通信总线540用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口520用于与其他节点设备进行信令或数据的通信。处理器510可以是一种集成电路芯片,具有信号的处理能力。

上述的处理器510可以是通用处理器,包括中央处理器(CPU,Central ProcessingUnit)、网络处理器(NP,Network Processor)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器510也可以是任何常规的处理器等。

存储器530可以是,但不限于,随机存取存储器(RAM,Random Access Memory),只读存储器(ROM,Read Only Memory),可编程只读存储器(PROM,Programmable Read-OnlyMemory),可擦除只读存储器(EPROM,Erasable Programmable Read-Only Memory),电可擦除只读存储器(EEPROM,Electric Erasable Programmable Read-Only Memory)等。存储器530中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器510执行时,设备可以执行上述图1至图4方法实施例涉及的各个步骤。

可选地,设备还可以包括存储控制器、输入输出单元。

所述存储器530、存储控制器、处理器510、外设接口、输入输出单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线540实现电性连接。所述处理器510用于执行存储器530中存储的可执行模块,例如设备包括的软件功能模块或计算机程序。

输入输出单元用于提供给用户创建任务以及为该任务创建启动可选时段或预设执行时间以实现用户与服务器的交互。所述输入输出单元可以是,但不限于,鼠标和键盘等。

可以理解,图7所示的结构仅为示意,所述设备还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。图7中所示的各组件可以采用硬件、软件或其组合实现。

本申请实施例还提供一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,所述计算机程序被处理器执行时实现方法实施例所述的方法,为避免重复,此处不再赘述。

本申请还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号