CN117453534A - 一种数据处理方法、装置、设备及可读存储介质 - Google Patents
一种数据处理方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN117453534A CN117453534A CN202311314176.XA CN202311314176A CN117453534A CN 117453534 A CN117453534 A CN 117453534A CN 202311314176 A CN202311314176 A CN 202311314176A CN 117453534 A CN117453534 A CN 117453534A
- Authority
- CN
- China
- Prior art keywords
- task
- playback
- market data
- callback
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000012360 testing method Methods 0.000 claims abstract description 75
- 238000002347 injection Methods 0.000 claims abstract description 33
- 239000007924 injection Substances 0.000 claims abstract description 33
- 230000006870 function Effects 0.000 claims description 76
- 238000000034 method Methods 0.000 claims description 57
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 12
- 230000009849 deactivation Effects 0.000 claims description 11
- 230000001360 synchronised effect Effects 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 230000006872 improvement Effects 0.000 description 8
- 238000012217 deletion Methods 0.000 description 6
- 230000037430 deletion Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 239000000243 solution Substances 0.000 description 5
- 239000000725 suspension Substances 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013102 re-test Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 210000004417 patella Anatomy 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012956 testing procedure Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Debugging And Monitoring (AREA)
Abstract
本说明书公开了一种数据处理方法、装置、设备及可读存储介质,确定钩子函数以及对应的注入点,根据注入点在服务器的回测程序处部署钩子函数,根据回测程序的配置参数获取行情数据和待回测业务策略,并确定行情数据对应的第一回放时间和待回测业务策略的第二回放时间,通过钩子函数同步第一回放时间和第二回放时间至指定时间,从而根据指定时间、行情数据和待回测业务策略执行回测任务得到回测结果。可见,通过在回测程序处部署钩子函数,由钩子函数同步第一回放时间和第二回放时间的方式,在不侵入回测程序的情况下,保证了行情数据和待回测业务策略的回放时间的一致性,提高了回测任务的效率和可靠性。
Description
技术领域
本说明书涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备及可读存储介质。
背景技术
随着互联网技术的发展,在金融量化领域中,可以基于计算机语言编写的业务策略(如量化交易策略),利用业务策略和行情数据进行回测,并选择回测结果较优的业务策略应用在实际业务中。
目前,在利用业务策略和行情数据执行回测任务时,会通过行情数据接口从行情提供方获取行情数据,以及通过策略接口从策略提供方获取业务策略。但是,由于行情数据和业务策略来源不同,二者的数据获取频率可能存在差异。例如,行情数据可能是以每秒钟或每分钟从行情数据接口获取一次,而业务策略可能是基于更长时间间隔生成的,比如每小时或每日从策略接口获取一次。二者频率存在差异,会影响回测任务中业务策略的回测结果,降低回测的效率和准确性。
目前,可以采用侵入代码的方式,通过调整执行回测任务的代码的执行逻辑,调整行情数据和业务策略的回放时间一致。
但是,上述方案中,侵入代码直接改变了原有的回测代码的业务逻辑,并且,每次需要调整回测任务参数时需要重新调整全部回测代码的逻辑和参数,不利于代码复用,增加了代码维护成本。
发明内容
本说明书提供一种数据处理方法、装置、设备及可读存储介质,以部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种数据处理方法,包括:
确定钩子函数和所述钩子函数对应的注入点;
根据所述注入点,在所述服务器的回测程序处部署所述钩子函数;
根据所述回测程序的配置参数,获取行情数据和待回测业务策略;
确定所述行情数据的第一回放时间和所述待回测业务策略的第二回放时间;
通过所述钩子函数同步所述第一回放时间和所述第二回放时间至指定时间;
根据所述指定时间、所述行情数据和所述待回测业务策略执行回测任务,得到回测结果。
本说明书提供了一种数据处理装置,包括:
钩子函数确定模块,用于确定钩子函数和所述钩子函数对应的注入点;
钩子函数部署模块,用于根据所述注入点,在所述服务器的回测程序处部署所述钩子函数;
获取模块,用于根据所述回测程序的配置参数,获取行情数据和待回测业务策略;
回放时间确定模块,用于确定所述行情数据的第一回放时间和所述待回测业务策略的第二回放时间;
同步模块,用于通过所述钩子函数同步所述第一回放时间和所述第二回放时间至指定时间;
回测模块,用于根据所述指定时间、所述行情数据和所述待回测业务策略执行回测任务,得到回测结果。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据处理方法。
本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述数据处理方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
本说明书提供的数据处理方法中,确定钩子函数以及对应的注入点,根据注入点在服务器的回测程序处部署钩子函数,根据回测程序的配置参数获取行情数据和待回测业务策略,并确定行情数据对应的第一回放时间和待回测业务策略的第二回放时间,通过钩子函数同步第一回放时间和第二回放时间至指定时间,从而根据指定时间、行情数据和待回测业务策略执行回测任务得到回测结果。可见,通过在回测程序处部署钩子函数,由钩子函数同步第一回放时间和第二回放时间的方式,在不侵入回测程序的情况下,保证了行情数据和待回测业务策略的回放时间的一致性,提高了回测任务的效率和可靠性。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附
图中:
图1为本说明书中一种数据处理方法的流程示意图;
图2为本说明书中一种数据处理方法的流程示意图;
图3为本说明书提供的一种数据处理装置的示意图;
图4为本说明书提供的对应于图1的电子设备示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
另外,需要说明的是,本说明书中所有获取信号、信息或数据的动作都是在遵照所在地相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
需要说明的是,在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。
在互联网技术飞速发展的背景下,在通过业务平台执行业务时,可以基于不同的业务策略执行不同的业务逻辑,以满足不同实际业务的需要。在不同的业务场景中,可以根据实际需求,指定不同的业务策略。例如,在网购平台执行线上商品购买业务时,可以采用在消费者提交商品付款之前,为消费者推荐与待付款商品相关的其余商品的业务策略,提高商品的成交量。又比如,在金融领域中,在金融平台执行金融产品投资业务时,可以基于某项金融产品在前一交易日的交易价格,确定在当前交易日以何种交易价格投资该项金融产品的业务策略,降低投资风险。
其中,在金融领域中,量化交易策略在金融市场产品投资的场景中受到广泛应用。量化交易策略的优劣与用户的投资回报息息相关。为实现各种不同的量化策略,需要投入大量的人力与时间成本在开发各种数据处理的逻辑,特别是在新兴量化策略验证和实现阶段。目前,用户可以编写交易策略,然后,利用交易策略和行情数据执行回测任务,并将回测结果较优的交易策略执行实际的交易业务。
但是上述方案存在以下问题:其一是有行情数据和业务策略的来源不同,行情数据与业务策略无法同频、同倍速回放,导致回测任务在执行过程中业务策略基于行情数据进行拆单时信号失真,影响回测结果的可靠性,进而降低了回测的效率。其二是,利用侵入代码的方式调整执行回测任务的代码的执行逻辑,调整行情数据和业务策略的回放时间一致时,侵入代码直接改变了原有代码的业务逻辑,并且,每次需要调整回测任务参数时需要重新调整全部代码的逻辑和参数,不利于代码复用,增加了代码维护成本。
基于此,本说明书提供一种数据处理方法,通过在回测程序处部署钩子函数,由钩子函数同步第一回放时间和第二回放时间的方式,在不侵入回测程序的情况下,保证了行情数据和待回测业务策略的回放时间的一致性,提高了回测任务的效率和可靠性。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书提供的一种数据处理方法的流程示意图。
S100:确定钩子函数和所述钩子函数对应的注入点。
在本说明书实施例中,服务器可以是具备执行回测任务功能的电子设备,服务器中可配置回测程序和钩子函数,回测程序用于执行回测任务,钩子函数用于同步行情数据的回放时间和待回测业务策略的回放时间一致。在后续一个或多个实施例中还会涉及到客户端,用户可通过客户端配置回测程序的配置参数,客户端可以是具备参数配置功能的电子设备,用于与用户进行人机交互,并确定回测程序的配置参数,客户端和服务器可通过有线或无线的方式进行通信,本说明书对此不做限定。
在本说明书实施例中,采用钩子(HOOK)函数的方式,同步行情数据的回放时间和待回测业务策略的回放时间一致。其中,钩子函数是一种扩展原有程序(本说明书中为回测程序)的机制,通过在注入点中部署钩子函数,可以改变原有程序的执行流程,但并不会改变原有程序的固有执行逻辑。钩子函数可用于实现功能扩展、行为修改等需求,在原有程序实现的功能的基础上添加新的功能或行为,增强程序的灵活性和可扩展性。同时,由于钩子函数本身是通过代码注入的方式扩展原有程序,因此,钩子函数并不属于原有程序的执行逻辑,钩子函数的代码可复用,从而,在本说明书中,利用钩子函数同步行情数据的回放时间和待回测业务策略的回放时间一致,不改变回测程序的回测任务执行逻辑,同时解决了行情数据和待回测业务策略不同频的问题,提升回测任务可靠性的同时,减少了代码维护的工作量。
回测程序在执行回测任务时,回测程序通常通过子程序之间的调用执行回测任务。因此,可将回测程序中的子程序作为钩子函数的注入点,并将钩子函数注入对应注入点,使得业回测程序在执行至注入点时,执行在该注入点注入的钩子函数。在本说明书一个或多个实施例中,钩子函数用于同步行情数据的回放时间和待回测业务策略的回放时间,因此,钩子函数的注入点至少配置在确定行情数据的回放时间和待回测业务策略的回放时间的子程序执行之后,在执行回测任务的子程序执行之前。但注入点具体配置在回测程序的子程序处,本说明书并不做限定。
S102:根据所述注入点,在所述服务器的回测程序处部署所述钩子函数。
具体的,负责将钩子函数部署在回测程序的注入点的过程的代码存在较高的可复用性,因此通常将实现这一过程的程序抽象成一个注入模块,并部署在服务器中。该注入模块类似于注入框架,可以随回测程序一同启动,在实际应用中,注入模块可以基于回测程序中的注入点,在回测程序执行到注入点时,将钩子函数部署在回测程序中。
S104:根据所述回测程序的配置参数,获取行情数据和待回测业务策略。
回测程序用于执行回测任务,因此,回测程序的配置参数包括回放日期(交易日和/或非交易日)、回放时间(交易时间和/或非交易时间)、回放模式(连续回放模式或归档回放模式)、回放倍速、服务器存储行情数据的行情地址、服务器存储业务策略的策略信号地址、行情类型(委托行情、成交行情、盘口行情等)等。回测程序的配置参数均存在默认值,如回放倍速默认为一倍速,回放日期默认为当天开始、当天结束等。
由于配置参数中包括行情地址和策略信号地址,可以确定行情地址指示的存储有行情数据的服务器目录,并从该服务器目录中获取行情数据。同样的,确定策略信号地址指示的存储有待回测业务策略的服务器目录,并从该服务器目标中获取待回测业务策略。
在实际应用中,回测任务可以基于历史行情数据进行回测,也可以基于实时行情数据进行回测。服务器可以通过行情接口获取多个交易日的历史行情数据并存储在指定的服务器目录下,以便基于存储的历史行情数据置信桂策任务。服务器也可以在回测程序运行过程中,通过行情接口实时获取实时行情数据,并将其用于回测任务。但需要注意的是,通过行情接口获取实时行情数据,需要回测程序在交易日的交易时间内运行。而基于历史行情数据执行回测任务则不限制回测程序执行回测任务的时间,也即,此时回测程序可以在交易日的非交易时间或者非交易日内运行。
另外,在实际应用中,行情数据的回放日期和待回测业务策略的回放日期可以不一致,例如,行情数据是T-2日的历史行情数据,待回测业务策略是T-3日的业务策略,基于二者不是同一日的数据,但只要行情数据和待回测业务策略可以同频同倍速,实际上也可以执行回测任务。
S106:确定所述行情数据的第一回放时间和所述待回测业务策略的第二回放时间。
具体的,行情数据可以是通过行情数据获取接口获取的当前交易日的行情数据,和/或历史交易日的行情数据,该行情数据可以是逐笔行情数据,也可以是快照行情数据,本说明书对此不做限定。另外,行情数据中还可以包括静态涨跌停数据,该静态涨跌停数据一般在交易日的交易时间之前即可获取。行情数据是用于描述金融市场中各中交易业务的价格和与交易业务相关的信息的数据,行情数据可包括交易业务的价格(开盘价、最高价、最低价、收盘价)、成交量、指数数据、交易类型等。由于行情数据包含了金融市场的基本信息,可以指示交易业务的走势和变化。
待回测业务策略实际上是通过运用数学和统计分析方法,结合计算机技术,以大规模处理交易业务数据和执行交易业务的执行指令为基础,执行的交易业务的策略。在本说明书中,待回测业务策略可以是已经投入交易业务的业务策略,也可以是未经投入交易业务的业务策略,待回测交易策略包括趋势跟随策略、均值回归策略、统计套利策略等现有的任意类型的交易策略,本说明书对此不做限定。候选交易策略的制定和执行过程通常由计算机程序完成,减少了主观判断的干扰,并能在瞬间快速响应市场变化。
行情数据和待回测业务策略在存储在服务器的相应目录下时,可以同时记录行情数据对应的时间,以及待回测业务策略对应的时间。由于获取行情数据和待回测业务策略的来源不同,可能会存在行情数据的时间和待回测业务策略的时间不对应的情况。例如,行情数据的时间为9:30,待回测业务策略的时间为15:30,直接采用时间不对应的行情数据和待回测业务策略执行回测任务,会导致回测任务在执行过程中业务策略基于行情数据进行拆单时信号失真,影响回测结果的可靠性,进而降低了回测的效率。
基于上述问题,确定行情数据的第一回放时间和待回测业务策略的第二回放时间,第一回放时间可以是在行情数据存储在服务器时记录的,同理,第二回放时间可以是在待回测业务策略存储在服务器时记录的。
S108:通过所述钩子函数同步所述第一回放时间和所述第二回放时间至指定时间。
具体的,钩子函数用于同步第一回放时间和第二回放时间,使得行情数据和待回测业务策略的时间同步。钩子函数可以通过固定第二回放时间、调整第一回放时间的方式同步二者,也可以通过固定第一回放时间、调整第二回放时间的方式同步二者。当然,还可以通过调整第一回放时间以及第二回放时间至一个与第一回放时间和第二回放时间均不相同的指定时间。因此,步骤S108中的指定时间可以是与第一回放时间相同的时间、或者与第二回放时间相同的时间,又或者可以是与第一回放时间和第二回放时间均不相同的时间,本说明书对此不做限定。
S110:根据所述指定时间、所述行情数据和所述待回测业务策略执行回测任务,得到回测结果。
基于前述步骤,通过钩子函数将行情数据和待回测业务策略在回放时间上对齐和同步,基于回放时间同步的行情数据和待回测业务策略执行回测任务,极大地降低了信号失真的概率,提高了回测的可靠性和效率。
另外,回测程序的配置参数中还包括任务开始时间,因此,服务器在执行回测任务之前,还需要判断服务器的当前时间是否到达配置参数中设置的任务开始时间,若到达,则可执行回测任务,若未到达,则需要等待,直到服务器的当前时间到达任务开始时间。
本说明提供的数据处理方法中,确定钩子函数以及对应的注入点,根据注入点在服务器的回测程序处部署钩子函数,根据回测程序的配置参数获取行情数据和待回测业务策略,并确定行情数据对应的第一回放时间和待回测业务策略的第二回放时间,通过钩子函数同步第一回放时间和第二回放时间至指定时间,从而根据指定时间、行情数据和待回测业务策略执行回测任务得到回测结果。
可见,通过在回测程序处部署钩子函数,由钩子函数同步第一回放时间和第二回放时间的方式,在不侵入回测程序的情况下,保证了行情数据和待回测业务策略的回放时间的一致性,提高了回测任务的效率和可靠性。
在本说明书一个或多个实施例中,S104中行情数据不仅可以从行情数据接口处实时获取当天的行情数据,还可以从服务器的行情地址下获取。相对应的,待回测业务策略同样可以从策略接口处实时获取当天的待回测业务策略,也可以从服务器的策略信号地址下获取。由此,回测程序的配置参数中包括服务器存储行情数据的行情地址和服务器存储待回测业务策略的策略信号地址。并且,由于在本说明书中,可以基于任一时期的行情数据和待回测业务策略执行回测任务,因此,配置参数还可以包括回放日期,该回放日期用于指示执行回测任务的行情数据和待回测业务策略对应的日期。具体方案如下:
首先,根据所述行情地址,从所述服务器中查找各候选行情数据,并根据所述策略信号地址,从所述服务器中查找各候选业务策略。
具体的,在服务器的行情地址下存在多个行情文件,每个行情文件中存储候选行情数据,因此,同一行情地址下存储由多个候选行情数据,每个候选行情数据的回放日期各不相同,例如,候选行情数据A是表征X日的行情的数据,候选行情数据B是表征Y日的行情的数据,则候选行情数据A的回放日期是X日,候选行情数据B的回放日期是Y日。
但是,虽然各候选行情数据的回放日期存在差别,但是,不同的候选行情数据的回放时间有可能相同。例如,候选行情数据A是表征X日的9:15到15:30的行情的数据,候选行情数据B是表征Y日的9:15到15:30的行情的数据,则虽然候选行情数据A和候选行情数据B的回放日期不同,但是二者的回放时间相同。
候选业务策略的查找方式与候选行情数据的查找方式类似,此处不赘述。
其次,确定所述各候选行情数据的日期和所述各候选业务策略的日期。
在服务器存储的各候选行情数据中记录有各候选行情数据分别对应的日期,相应的,服务器存储各候选业务策略时也会记录各候选业务策略对应的日期。因此,直接从服务器的行情地址下获取各候选行情的日期以及从策略信号地址下获取各候选业务策略的日期即可。
然后,根据所述各候选行情数据的日期,从所述各候选行情数据中确定与所述回放日期匹配的行情数据,并根据所述各候选业务策略的日期,从所述各候选业务策略中确定与所述回放日期匹配的待回测业务策略。
一般而言,回测任务是基于同一天的行情数据和待回测业务策略执行的,得到的回测结果用于指示这一天待回测业务策略在行情数据下执行交易业务的性能。而回测程序的配置参数中包含有回放日期,该回放日期用于指示回测任务对应的回测日期。因此,将配置参数中的回放日期和各候选行情数据的日期进行匹配,将与回放日期相同的候选行情数据作为执行回测任务的行情数据。同理,将配置参数中的回放日期与各候选业务策略的日期进行匹配,将与回放日期相同的候选业务策略作为执行回测任务的待回测业务策略。
在本说明书一个或多个实施例中,由于目前的回测任务的执行无法对行情数据的回放速度和待回测业务策略的回放速度进行控制,回测任务只能按照初始的倍速执行,如果用户的需求是测试业务策略在长时间的行情下的性能,那么回测任务的任务量会较大(长时间的行情回放和长时间的待回测的业务策略回放),需要较长时间才能够得到回测结果,导致回测任务的效率较低。因此,本说明书中,可以在回测程序的配置参数中配置回测倍速,在回测任务的任务量较大时,通过回测倍速,调整行情数据的回放速度和待回测业务策略的回放速度,从而加快回测任务的执行进程,减少回测任务所占用的时间。
具体的,首先获取所述行情数据的第一原始回放速度,以及所述待回测业务策略的第二原始回放速度。
行情数据的第一原始回放速度属于行情数据的固有属性信息,用于指示行情数据在回测任务的执行过程中回放的速度,因此可以直接从服务器的行情地址下获取,与前述步骤中获取候选行情数据的日期类似。同理,待回测业务策略的第二原始回放速度属于待回测业务策略的固有属性信息,用于指示待回测业务策略在回测任务的执行过程中回放的速度,因此可以直接从服务器的策略信号地址下获取。
另外,第一原始回放速度和第二原始回放速度可以相同也可以不同,本说明书对此不做限定。
之后,根据所述回放倍速,调整所述第一原始回放速度,得到所述行情数据的第一目标回放速度,并根据所述回放倍速,调整所述第二原始回放速度,得到所述待回测业务策略的第二目标回放速度。
具体的,配置参数中的回放倍速用于指示将行情数据的第一原始回放速度和待回测业务策略的第二原始回放速度进行调整的倍数和调整方向(调慢或调快),当回放倍速大于一倍速时,说明配置参数中的回放倍速用于加快基于行情数据和待回测业务策略的回测任务。当回放倍速小于一倍速时,说明配置参数中的回放倍速用于减慢基于行情数据和待回测业务策略的回测任务。因此,在此步骤中,根据回放倍速,对第一原始回放速度和第二原始回放速度进行调整,得到行情数据对应的第一目标回放速度,和待回测业务策略的第二目标回放速度。
然后,根据所述指定时间、所述行情数据和所述待回测业务策略,按照所述第一目标回放速度和所述第二目标回放速度执行回测任务,得到回测结果。
从而,基于配置参数中的回放倍速调整后的行情数据的第一目标回放速度,以及待回测业务策略的第二目标回放速度执行回测任务,可以在回测任务的任务量较大时提高回测效率。
在本说明书一个或多个实施例中,为了保证执行回测任务所采用的配置参数符合用户的需求,回测程序的配置参数可由用户通过客户端进行配置,用户通过客户端配置回测程序的配置参数、且客户端将配置参数发送给服务器的时机可以是回测任务开始之前(在步骤S104之前),和/或回测任务停用时,本说明书对此不做限定。用户通过客户端配置回测程序的配置参数的方案具体如下:
客户端展示参数配置界面,所述参数配置界面中包含各参数配置控件,所述各参数配置控件至少包括回放时间配置控件、回放日期配置控件、行情类型配置控件、行情地址配置控件、策略信号地址配置控件、回放倍速配置控件。
第一,响应于用户对各参数配置控件的操作,确定回测程序的配置参数。
具体的,响应于用户对回放时间配置控件的操作,确定回放时间。该回放时间用于指示回测任务所采用的行情数据对应的回放开始时间以及回放结束时间,以及待回测业务策略对应的回放开始时间以及回放结束时间。其中,清数据以及待回测业务策略对应的回放开始时间可是交易日的交易时间,也可以是非交易时间。但需要注意的是,如果用户配置回放时间为交易日的交易时间时,可在参数配置界面展示提示文本,该提示文本用于提示用户当前配置的回放开始时间处于交易日的交易时间内,可从行情接口处获取当日实时行情数据,可能存在与服务器存储的行情数据存在冲突。
第二,响应于用户对回放日期配置控件的操作,确定回放日期。该回放日期用于指示行情数据对应的开始日期和结束日期,以及待回测业务策略的开始日期和结束日期。在本说明书中,行情数据和待回测业务策略的开始日期和结束日期均默认为当天日期,如果用户不对回放日期配置控件进行操作,则回放日期为默认的当天日期,如果用户对回放日期配置控件进行操作,可确定多于一天的回放日期,也即,回放日期中开始日期和结束日期之间的差异大于一个自然日。本说明书中,开始日期和结束日期均为自然日日期,可以是交易日也可以是非交易日,不同于现有的回测方案中仅支持交易日的交易时间内执行,本说明书提供的数据处理方法中,回测任务不仅可以在交易日的交易时间内进行,也可以是在交易日的非交易时间内进行,还可以是在非交易日内进行,扩大业务策略回测的时间窗口,实现全天候的业务策略的模拟测试,解放用户对业务策略的模拟测试的时间,提高了回测的效率。另外,在做系统升级和业务测试时,可以在非交易日进行业务策略模拟测试,保证测试链路全天可以测试,提高回测的可靠性。
第三,响应于用户对行情类型配置控件的操作,确定行情数据对应的多个行情类型。其中,行情类型包括委托行情、成交行情和盘口行情等。委托行情是记录买家和卖家的所有委托订单。委托行情可显示不同价格和数量的买入方向和卖出方向的委托订单,并按价格优先排列。委托行情反映了市场的供需情况和交易深度,可以表征市场上存在的买入和卖出压力。成交行情记录了实际成交的交易历史列表。它包含了每笔交易的价格、数量和时间戳等信息。成交行情提供了已经发生的交易的详情信息,表征了交易业务的价格走势和成交量。盘口行情是委托行情的一种可视化表现形式。它显示了当前市场上各个价格水平的买入和卖出订单的数量。盘口行情用于表征买入和卖出意愿。通常,盘口行情会显示多个最高买价和多个最高卖价,如五档盘口行情显示的是买一到买五的价格以及卖一到卖五的价格。用户可以通过对行情类型配置控件进行操作,确定行情数据中包含委托行情数据、成交行情数据和盘口行情数据中的一个或多个。
第四,响应于用户对行情地址配置控件的操作,确定服务器中存储行情数据的行情地址,以及响应于用户对策略信号地址配置控件的操作,确定服务器中存储待回测业务策略的策略信号地址,以便在执行具体的回测任务之前,分别从行情地址和策略信号地址出提取行情数据和待回测业务策略。
第五,响应于用户对回放倍速配置控件的操作,确定回放倍速。回放倍速可以是任意数值的倍速,可以是大于默认倍速(一倍速)的倍速,也即,加快回测任务的执行速度,也可以是小于默认倍速(一倍速)的倍速,也即,降低回测任务的执行速度,用户可以基于自身需求确定,本说明书对此不做限定。
另外,参数配置界面中还可以包括回放模式选择控件(连续回放模式或者归档回放模式),用于确定待回测业务策略的策略配置参数是否同步回放的控件等,根据具体的应用场景可以灵活确定,本说明书对此不做限定。
在本说明书一个或多个实施例中,为了保证回测程序正常稳定的运行,以正常执行回测任务,服务器可在回测程序执行过程(即回测任务的执行过程)中,将各时刻的中间结果发送给客户端,所述各时刻的中间结果实际上是回测任务的执行过程中的中间结果,如程序状态、执行量以及执行进度情况,从而,用户可以通过客户端实时观察到回测任务的执行情况,以便用户基于回测任务的执行情况,判断回测任务是否正常执行,并根据实际需求输入停用、删除、修改等操作。服务器与客户端之间交互流程看如图2所示,具体包括以下步骤:
S200:服务器根据所述指定时间、所述行情数据和所述待回测业务策略执行回测任务,得到各时刻的中间结果。
具体的,在服务器执行回测任务的过程中,基于行情数据和待回测业务策略,可以得到回测任务的每时刻的中间结果,该中间结果虽然并非是回测任务最终的回测结果,但该中间结果也可以提供给用户,以便用户实时监测回测任务的执行,并判断回测任务的稳定性。
S202:服务器将所述各时刻的中间结果发送给客户端。
S204:客户端接收各时刻的中间结果,展示回测任务展示界面,并在所述回测任务展示界面中展示所述各时刻的中间结果和回测任务停用控件。
目前的回测方案中,无法为用户提供回测任务执行过程中中间结果的可视化方案,而且,回测任务在执行过程中的中间结果也具有一定的观测和分析价值,因此,在本说明书实施例中,将执行回测任务过程中每时刻的中间结果发送给客户端,客户端可在回测任务展示界面中展示接收到的各时刻的中间结果。
另外,在本说明书一个或多个实施例中,服务器执行的回测任务并非无法停用,用户可以通过客户端向服务器发送回测任务停用请求,即可暂停回测任务的执行,并在暂停回测任务后,可对执行回测任务的回测程序的配置参数进行更新或者删除回测任务等操作。
基于此,在客户端的回测任务展示界面中还展示有回测任务停用控件。用户通过对回测任务停用控件进行操作,可暂停服务器正在执行的回测任务。
S206:客户端响应用户通过回测任务停用控件输入的停用操作,生成回测任务停用请求。
S208:客户端将所述回测任务停用请求发送给所述服务器。
S210:服务器当接收到所述客户端发送的回测任务停用请求时,暂停所述回测任务。
进一步的,在回测任务暂停之后,服务器可向客户端返回任务暂停消息,该任务暂停消息用于指示回测任务已经处于停用状态。此时,客户端可以在回测任务展示界面中展示任务修改控件和任务删除控件。
其一,客户端响应用户对任务删除控件的操作,可生成任务删除请求,并响应于用户输入的确认操作,将任务删除请求发送给服务器,服务器在接收到任务删除请求时,可将回测任务删除。客户端响应对任务修改控件的操作,可展示回测任务的配置参数以及各参数配置控件。
其二,客户端响应于用户对各参数配置控件的操作,对和测任务的配置参数进行更新,得到回测任务的更新后的配置参数。响应于用户输入的确认操作,将所述回测任务的更新后的配置参数返回给服务器,服务器接收并存储该更新后的配置参数。
进一步的,客户端的回测任务展示界面中还展示有回测任务启用控件。在没有删除回测任务的场景中,客户端可响应于用户对回测任务启用控件的操作,生成任务启用请求,并将该任务启用请求发送给服务器,服务器在接收到任务启用请求时,可将重新启用已经暂停的回测任务。此时,如果服务器存储的是更新后的配置参数,则根据所述回测任务的更新后的配置参数执行回测任务,得到回测结果。若并没有接收髌骨存储更新后的配置参数,则仍然根据原始的配置参数执行回测任务,从而得到回测结果。
图3为本说明书提供的一种数据处理装置示意图,具体包括:
钩子函数确定模块300,用于确定钩子函数和所述钩子函数对应的注入点;
钩子函数部署模块302,用于根据所述注入点,在所述服务器的回测程序处部署所述钩子函数;
获取模块304,用于根据所述回测程序的配置参数,获取行情数据和待回测业务策略;
回放时间确定模块306,用于确定所述行情数据的第一回放时间和所述待回测业务策略的第二回放时间;
同步模块308,用于通过所述钩子函数同步所述第一回放时间和所述第二回放时间至指定时间;
回测模块310,用于根据所述指定时间、所述行情数据和所述待回测业务策略执行回测任务,得到回测结果。
可选地,所述回测程序的配置参数包括所述服务器存储行情数据的行情地址、所述服务器存储待回测业务策略的策略信号地址,以及回放日期;其中,所述回放日期包括交易日和/或非交易日;
可选地,所述获取模块304具体用于,根据所述行情地址,从所述服务器中查找各候选行情数据;根据所述策略信号地址,从所述服务器中查找各候选业务策略;确定所述各候选行情数据的日期和所述各候选业务策略的日期;根据所述各候选行情数据的日期,从所述各候选行情数据中确定与所述回放日期匹配的行情数据;根据所述各候选业务策略的日期,从所述各候选业务策略中确定与所述回放日期匹配的待回测业务策略。
可选地,所述回测程序的配置参数包括回放倍速;
可选地,所述回测模块310具体用于,获取所述行情数据的第一原始回放速度,以及所述待回测业务策略的第二原始回放速度;根据所述回放倍速,调整所述第一原始回放速度,得到所述行情数据的第一目标回放速度;根据所述回放倍速,调整所述第二原始回放速度,得到所述待回测业务策略的第二目标回放速度;根据所述指定时间、所述行情数据和所述待回测业务策略,按照所述第一目标回放速度和所述第二目标回放速度执行回测任务,得到回测结果。
可选地,所述装置还包括:
接收模块312,具体用于接收客户端发送的所述回测程序的配置参数,其中,所述配置参数是响应于用户对所述客户端展示的参数配置界面中包含的各参数配置控件的操作确定的,所述参数配置控件至少包括回放时间配置控件、回放日期配置控件、行情类型配置控件、行情地址配置控件、策略信号地址配置控件、回放倍速配置控件。
可选地,所述回测模块310还用于,响应于客户端发送的回测任务执行请求,确定当前时间满足所述回测程序的配置参数中的任务开始时间。
可选地,所述回测模块310具体用于根据所述指定时间、所述行情数据和所述待回测业务策略执行回测任务,得到各时刻的中间结果;将所述各时刻的中间结果发送给客户端,以使所述客户端展示回测任务展示界面,并在所述回测任务展示界面中展示所述各时刻的中间结果和回测任务停用控件;其中,所述回测任务停用控件用于响应用户的停用操作,使得所述客户端生成回测任务停用请求,并将所述回测任务停用请求发送给所述服务器;当接收到所述客户端发送的回测任务停用请求时,暂停所述回测任务。
可选地,所述回测模块310具体用于根据暂停的所述回测任务,生成任务暂停消息,并将所述任务暂停消息发送给所述客户端,以使所述客户端在所述回测任务展示界面中展示所述回测任务的配置参数以及各参数配置控件,并使客户端响应于用户对所述各参数配置控件的操作,对所述回测任务的配置参数更新,得到所述回测任务的更新后的配置参数,将所述回测任务的更新后的配置参数返回给所述服务器;接收并存储所述客户端发送的所述回测任务的更新后的配置参数,并当接收到所述客户端发送的任务启用请求时,根据所述回测任务的更新后的配置参数执行回测任务,得到回测结果;其中,所述任务启用请求是所述客户端响应于用户对所述回测任务展示界面中展示的回测任务启用控件的操作生成的。
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1所示的数据处理方法。
本说明书还提供了图4所示的电子设备的示意结构图。如图4所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所示的数据处理方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法应用于服务器,所述方法包括:
确定钩子函数和所述钩子函数对应的注入点;
根据所述注入点,在所述服务器的回测程序处部署所述钩子函数;
根据所述回测程序的配置参数,获取行情数据和待回测业务策略;
确定所述行情数据的第一回放时间和所述待回测业务策略的第二回放时间;
通过所述钩子函数同步所述第一回放时间和所述第二回放时间至指定时间;
根据所述指定时间、所述行情数据和所述待回测业务策略执行回测任务,得到回测结果。
2.如权利要求1所述的方法,其特征在于,所述回测程序的配置参数包括所述服务器存储行情数据的行情地址、所述服务器存储待回测业务策略的策略信号地址,以及回放日期;其中,所述回放日期包括交易日和/或非交易日;
根据所述回测程序的配置参数,获取行情数据和待回测业务策略,具体包括:
根据所述行情地址,从所述服务器中查找各候选行情数据;
根据所述策略信号地址,从所述服务器中查找各候选业务策略;
确定所述各候选行情数据的日期和所述各候选业务策略的日期;
根据所述各候选行情数据的日期,从所述各候选行情数据中确定与所述回放日期匹配的行情数据;
根据所述各候选业务策略的日期,从所述各候选业务策略中确定与所述回放日期匹配的待回测业务策略。
3.如权利要求1所述的方法,其特征在于,所述回测程序的配置参数包括回放倍速;
根据所述指定时间、所述行情数据和所述待回测业务策略执行回测任务,得到回测结果,具体包括:
获取所述行情数据的第一原始回放速度,以及所述待回测业务策略的第二原始回放速度;
根据所述回放倍速,调整所述第一原始回放速度,得到所述行情数据的第一目标回放速度;
根据所述回放倍速,调整所述第二原始回放速度,得到所述待回测业务策略的第二目标回放速度;
根据所述指定时间、所述行情数据和所述待回测业务策略,按照所述第一目标回放速度和所述第二目标回放速度执行回测任务,得到回测结果。
4.如权利要求1所述的方法,其特征在于,根据所述回测程序的配置参数,获取行情数据和待回测业务策略之前,所述方法还包括:
接收客户端发送的所述回测程序的配置参数,其中,所述配置参数是响应于用户对所述客户端展示的参数配置界面中包含的各参数配置控件的操作确定的,所述参数配置控件至少包括回放时间配置控件、回放日期配置控件、行情类型配置控件、行情地址配置控件、策略信号地址配置控件、回放倍速配置控件。
5.如权利要求1所述的方法,其特征在于,根据所述指定时间、所述行情数据和所述待回测业务策略执行回测任务,得到回测结果之前,所述方法还包括:
响应于客户端发送的回测任务执行请求,确定当前时间满足所述回测程序的配置参数中的任务开始时间。
6.如权利要求1所述的方法,其特征在于,根据所述指定时间、所述行情数据和所述待回测业务策略执行回测任务,得到回测结果,具体包括:
根据所述指定时间、所述行情数据和所述待回测业务策略执行回测任务,得到各时刻的中间结果;
将所述各时刻的中间结果发送给客户端,以使所述客户端展示回测任务展示界面,并在所述回测任务展示界面中展示所述各时刻的中间结果和回测任务停用控件;其中,所述回测任务停用控件用于响应用户的停用操作,使得所述客户端生成回测任务停用请求,并将所述回测任务停用请求发送给所述服务器;
当接收到所述客户端发送的回测任务停用请求时,暂停所述回测任务。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
根据暂停的所述回测任务,生成任务暂停消息,并将所述任务暂停消息发送给所述客户端,以使所述客户端在所述回测任务展示界面中展示所述回测任务的配置参数以及各参数配置控件,并使客户端响应于用户对所述各参数配置控件的操作,对所述回测任务的配置参数更新,得到所述回测任务的更新后的配置参数,将所述回测任务的更新后的配置参数返回给所述服务器;
接收并存储所述客户端发送的所述回测任务的更新后的配置参数,并当接收到所述客户端发送的任务启用请求时,根据所述回测任务的更新后的配置参数执行回测任务,得到回测结果;其中,所述任务启用请求是所述客户端响应于用户对所述回测任务展示界面中展示的回测任务启用控件的操作生成的。
8.一种数据处理装置,其特征在于,所述装置应用于服务器,所述装置包括:
钩子函数确定模块,用于确定钩子函数和所述钩子函数对应的注入点;
钩子函数部署模块,用于根据所述注入点,在所述服务器的回测程序处部署所述钩子函数;
获取模块,用于根据所述回测程序的配置参数,获取行情数据和待回测业务策略;
回放时间确定模块,用于确定所述行情数据的第一回放时间和所述待回测业务策略的第二回放时间;
同步模块,用于通过所述钩子函数同步所述第一回放时间和所述第二回放时间至指定时间;
回测模块,用于根据所述指定时间、所述行情数据和所述待回测业务策略执行回测任务,得到回测结果。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~7任一项所述的方法。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311314176.XA CN117453534B (zh) | 2023-10-10 | 2023-10-10 | 一种数据处理方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311314176.XA CN117453534B (zh) | 2023-10-10 | 2023-10-10 | 一种数据处理方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117453534A true CN117453534A (zh) | 2024-01-26 |
CN117453534B CN117453534B (zh) | 2024-05-07 |
Family
ID=89588261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311314176.XA Active CN117453534B (zh) | 2023-10-10 | 2023-10-10 | 一种数据处理方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117453534B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117827740A (zh) * | 2024-03-05 | 2024-04-05 | 上海特高信息技术有限公司 | 一种基于fpga的模块化行情数据回放方法及回放系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108197301A (zh) * | 2018-01-26 | 2018-06-22 | 北京博睿宏远数据科技股份有限公司 | 一种用于量化不同券商app行情刷新速度的方法 |
CN108519883A (zh) * | 2018-03-26 | 2018-09-11 | 平安普惠企业管理有限公司 | 参数修改方法、装置、终端设备及存储介质 |
CN114723566A (zh) * | 2022-06-10 | 2022-07-08 | 高盈国际创新科技(深圳)有限公司 | 金融交易数据处理方法及系统 |
WO2023116399A1 (zh) * | 2021-12-21 | 2023-06-29 | 富途网络科技(深圳)有限公司 | 策略风险定位方法、装置、电子设备及存储介质 |
CN116501312A (zh) * | 2023-04-03 | 2023-07-28 | 上海卡方信息科技有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
CN116701191A (zh) * | 2023-05-23 | 2023-09-05 | 富途网络科技(深圳)有限公司 | 量化回测的优化方法、装置、设备、存储介质及程序产品 |
CN116823471A (zh) * | 2023-06-26 | 2023-09-29 | 富途网络科技(深圳)有限公司 | 交易策略回测方法、装置、电子设备及存储介质 |
-
2023
- 2023-10-10 CN CN202311314176.XA patent/CN117453534B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108197301A (zh) * | 2018-01-26 | 2018-06-22 | 北京博睿宏远数据科技股份有限公司 | 一种用于量化不同券商app行情刷新速度的方法 |
CN108519883A (zh) * | 2018-03-26 | 2018-09-11 | 平安普惠企业管理有限公司 | 参数修改方法、装置、终端设备及存储介质 |
WO2023116399A1 (zh) * | 2021-12-21 | 2023-06-29 | 富途网络科技(深圳)有限公司 | 策略风险定位方法、装置、电子设备及存储介质 |
CN114723566A (zh) * | 2022-06-10 | 2022-07-08 | 高盈国际创新科技(深圳)有限公司 | 金融交易数据处理方法及系统 |
CN116501312A (zh) * | 2023-04-03 | 2023-07-28 | 上海卡方信息科技有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
CN116701191A (zh) * | 2023-05-23 | 2023-09-05 | 富途网络科技(深圳)有限公司 | 量化回测的优化方法、装置、设备、存储介质及程序产品 |
CN116823471A (zh) * | 2023-06-26 | 2023-09-29 | 富途网络科技(深圳)有限公司 | 交易策略回测方法、装置、电子设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117827740A (zh) * | 2024-03-05 | 2024-04-05 | 上海特高信息技术有限公司 | 一种基于fpga的模块化行情数据回放方法及回放系统 |
CN117827740B (zh) * | 2024-03-05 | 2024-05-14 | 上海特高信息技术有限公司 | 一种基于fpga的模块化行情数据回放方法及回放系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117453534B (zh) | 2024-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117453534B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CA2620945C (en) | System, program product, and methods to enhance media content management | |
US8069161B2 (en) | System, program product, and methods to enhance content management | |
CN110856038B (zh) | 视频生成方法及系统、存储介质 | |
US20070050382A1 (en) | System, program product, and methods to enhance media content management | |
CN108459792B (zh) | 一种流量切换方法、装置、及计算机设备 | |
CN110109768B (zh) | 一种数据质量巡检方法及装置 | |
CN108830705B (zh) | 一种交易数据的汇总方法、装置及设备 | |
CN102880542A (zh) | 云计算服务评测系统及评测方法 | |
CN109284115A (zh) | 一种生成追踪器脚本的方法及装置 | |
US8745574B2 (en) | Generating task duration estimates for content ingestion | |
CN110244951B (zh) | 应用发布方法及装置 | |
CN114185874A (zh) | 一种基于大数据的建模方法、装置、开发框架及设备 | |
CN112965882B (zh) | 一种数据故障分析的方法及装置 | |
CN116501312B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN111177562B (zh) | 一种目标对象的推荐排序处理方法、装置及服务器 | |
CN110704742B (zh) | 一种特征提取方法及装置 | |
CN112596781A (zh) | 一种业务执行以及业务配置方法及装置 | |
CN113869815A (zh) | 一种数据同步的方法及装置 | |
CN112600713A (zh) | 数据监控方法及系统 | |
CN109214902B (zh) | 一种用户账户资产清算方法及装置 | |
CN113705822A (zh) | 一种自动建模方法、系统、计算设备及存储介质 | |
CN111967767A (zh) | 一种业务风险识别方法、装置、设备及介质 | |
CN116993519A (zh) | 账单生成方法及装置 | |
CN111159777A (zh) | 基于区块链的供应商认证方法及设备、介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |