CN110490671B - 量化报价策略模型的测试方法、系统及装置 - Google Patents
量化报价策略模型的测试方法、系统及装置 Download PDFInfo
- Publication number
- CN110490671B CN110490671B CN201910800724.7A CN201910800724A CN110490671B CN 110490671 B CN110490671 B CN 110490671B CN 201910800724 A CN201910800724 A CN 201910800724A CN 110490671 B CN110490671 B CN 110490671B
- Authority
- CN
- China
- Prior art keywords
- strategy
- quotation
- market
- data
- test
- 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.)
- Active
Links
Images
Classifications
-
- 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/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- 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/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0206—Price or cost determination based on market factors
-
- 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
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种量化报价策略模型的测试方法、系统及装置,该方法包括:接收回测或模拟交易的测试指令;根据测试指令,获取测试数据;将测试数据输入至待测试的量化报价策略模型,输出包含卖出策略报价或买入策略报价的策略报价数据;并发送到模拟交易系统,通过模拟交易系统根据策略报价数据和相应的市场报价数据执行模拟交易,市场报价数据包括:多个档位的卖出市场报价和买入市场报价;在监听到模拟交易系统返回的交易结果或市场报价数据发生更新的情况下,对策略报价数据和对应的市场报价数据进行比对分析,生成量化报价策略模型对应的可视化测试分析结果。本发明能够实现对量化报价策略的回测和模拟交易测试,并直观展示测试分析结果。
Description
技术领域
本发明涉及互联网领域,尤其涉及一种量化报价策略模型的测试方法、系统及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在金融市场领域,为了保障市场交易的即时性、流动性和持续性,往往需要做市商不断向投资者提供买卖价格,并按其提供的买卖价格,接受投资者的买卖要求。可以看出,由于金融市场中做市商的存在,买卖双方无需等待交易对手出现,只要有做市商承担交易对手即可达成交易,而做市商通过买卖差价,也可实现一定的利润。
随着各种量化交易平台的出现,越来越多的做市商采用量化报价策略模型来实现对外报价。因而,一个量化报价策略模型的好坏,直接关系到做市商的收益情况。
传统对策略测试的方法是回测和模拟交易,其中,回测利用历史市场行情数据进行测试,模拟交易利用实时市场行情数据进行测试。由于做市商量化报价策略提供的报价会影响到金融市场的市场报价,因而,很难使用传统的回测或模拟交易来对量化报价策略进行测试。
由此,现有技术中急需一种能够对量化报价策略模型进行测试的方法。
发明内容
本发明实施例提供一种量化报价策略模型的测试方法,用以现有技术中,由于做市商的报价会影响市场报价数据,导致难以实现对做市商报价策略进行回测和模拟交易测试的技术问题,该方法包括:接收测试指令,其中,测试指令包括:回测指令或模拟交易指令;根据测试指令,获取测试数据,其中,测试数据包括:历史市场报价数据或实时市场报价数据;将测试数据输入至待测试的量化报价策略模型,输出策略报价数据,其中,策略报价数据包括:卖出策略报价或买入策略报价;将策略报价数据,发送到模拟交易系统,其中,模拟交易系统根据策略报价数据和对应的市场报价数据执行模拟交易,策略报价数据对应的市场报价数据包括:多个档位的卖出市场报价和买入市场报价;在监听到模拟交易系统返回的交易结果或市场报价数据发生更新的情况下,对策略报价数据和对应的市场报价数据进行比对分析,生成量化报价策略模型对应的可视化测试分析结果。
本发明实施例还提供一种量化报价策略模型的测试系统,用以现有技术中,由于做市商的报价会影响市场报价数据,导致难以实现对做市商报价策略进行回测和模拟交易测试的技术问题,该系统包括:客户端,用于接收测试指令,其中,测试指令包括:回测指令或模拟交易指令;生产环境服务器,用于提供市场报价数据;策略测试服务器,与客户端和生产环境服务器分别通信,用于根据客户端接收到的测试指令,从生产环境服务器获取测试数据,并将测试数据输入至待测试的量化报价策略模型,将量化报价策略模型输出的策略报价数据,发送到模拟交易系统,在监听到模拟交易系统返回的交易结果或市场报价数据发生更新的情况下,对策略报价数据和对应的市场报价数据进行比对分析,生成量化报价策略模型对应的可视化测试分析结果,其中,策略报价数据包括:卖出策略报价或买入策略报价,模拟交易系统根据策略报价数据和对应的市场报价数据执行模拟交易,策略报价数据对应的市场报价数据包括:多个档位的卖出市场报价和买入市场报价;其中,客户端还用于显示量化报价策略模型对应的可视化测试分析结果。
本发明实施例还提供一种量化报价策略模型的测试装置,用以现有技术中,由于做市商的报价会影响市场报价数据,导致难以实现对做市商报价策略进行回测和模拟交易测试的技术问题,该装置包括:指令接收单元,用于接收测试指令,其中,测试指令包括:回测指令或模拟交易指令;数据获取单元,用于根据测试指令,获取测试数据,其中,测试数据包括:历史市场报价数据或实时市场报价数据;数据传输单元,用于将测试数据输入至待测试的量化报价策略模型,输出策略报价数据,其中,策略报价数据包括:卖出策略报价或买入策略报价;数据发送单元,用于将策略报价数据,发送到模拟交易系统,其中,模拟交易系统根据策略报价数据和对应的市场报价数据执行模拟交易,策略报价数据对应的市场报价数据包括:多个档位的卖出市场报价和买入市场报价;测试结果生成单元,用于在监听到模拟交易系统返回的交易结果或市场报价数据发生更新的情况下,对策略报价数据和对应的市场报价数据进行比对分析,生成量化报价策略模型对应的可视化测试分析结果。
本发明实施例还提供一种计算机设备,用以现有技术中,由于做市商的报价会影响市场报价数据,导致难以实现对做市商报价策略进行回测和模拟交易测试的技术问题,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述量化报价策略模型的测试方法。
本发明实施例还提供一种计算机可读存储介质,用以现有技术中,由于做市商的报价会影响市场报价数据,导致难以实现对做市商报价策略进行回测和模拟交易测试的技术问题,该计算机可读存储介质存储有执行上述量化报价策略模型的测试方法的计算机程序。
本发明实施例中,在检测到测试指令(回测指令或模拟交易指令)后,将测试数据(历史市场报价数据或实时市场报价数据)输入至待测试的量化报价策略模型中,输出包含卖出策略报价或买入策略报价的策略报价数据,并发送到模拟交易系统,使得模拟交易系统根据量化报价策略模型输出的策略报价数据和相应的市场报价数据执行模拟交易,在监听到模拟交易系统返回的交易结果或市场报价数据发生更新的情况下,对策略报价数据和相应的市场报价数据进行比对分析,生成量化报价策略模型对应的可视化测试分析结果。
通过本发明实施例,将量化报价策略模型输出的策略报价数据和市场报价数据接入到模拟交易系统进行模拟交易,不仅实现了对量化报价策略的回测与模拟交易测试,而且量化报价策略模型输出的策略报价数据不会影响到市场报价数据;通过对策略报价数据和相应的市场报价数据进行比对分析,生成量化报价策略模型对应的可视化测试分析结果,能够直观展示量化报价策略对外报价的合理性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中提供的一种量化报价策略模型的测试系统示意图;
图2为本发明实施例中提供的一种量化报价策略模型的测试方法流程图;
图3为本发明实施例中提供的一种历史回测的客户端操作界面示意图;
图4为本发明实施例中提供的一种实时模拟交易测试的客户端操作界面示意图;
图5为本发明实施例中提供的一种基于报价竞争性的统计结果示意图;
图6为本发明实施例中提供的一种策略报价与市场最优报价价差的统计结果示意图;
图7为本发明实施例中提供的一种策略报价与市场最优报价价差的概率分布表示意图;
图8为本发明实施例中提供的一种优选的量化报价策略模型的回测与模拟交易测试系统架构示意图;
图9为本发明实施例中提供的一种优选的量化报价策略模型的回测与模拟交易测试方法流程图;
图10为本发明实施例中提供的一种历史回测具体实现流程图;
图11为本发明实施例中提供的一种实时模拟交易测试具体实现流程图;
图12为本发明实施例中提供的一种历史回测场景下的数据分析过程示意图;
图13为本发明实施例中提供的一种实时模拟交易场景下的数据分析过程示意图;
图14为本发明实施例中提供的一种量化报价策略模型的测试装置示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本发明实施例中还提供了一种量化报价策略模型的测试系统,图1为本发明实施例中提供的一种量化报价策略模型的测试系统示意图,如图1所示,该系统包括:客户端101、生产环境服务器102和策略测试服务器103;
其中,客户端101,用于接收测试指令,其中,测试指令包括:回测指令或模拟交易指令;生产环境服务器102,用于提供市场报价数据;策略测试服务器103,与客户端101和生产环境服务器102分别通信,用于根据客户端101接收到的测试指令,从生产环境服务器102获取测试数据,并将测试数据输入至待测试的量化报价策略模型,将量化报价策略模型输出的策略报价数据,发送到模拟交易系统,在监听到模拟交易系统返回的交易结果或市场报价数据发生更新的情况下,对策略报价数据和对应的市场报价数据进行比对分析,生成量化报价策略模型对应的可视化测试分析结果,其中,策略报价数据包括:卖出策略报价或买入策略报价,模拟交易系统根据策略报价数据和对应的市场报价数据执行模拟交易,策略报价数据对应的市场报价数据包括:多个档位的卖出市场报价和买入市场报价。
需要说明的是,上述客户端101还用于接收策略测试服务器103返回的量化报价策略模型对应的可视化测试分析结果并显示。可选地,客户端101可以是但不限于手机、平板电脑、笔记本电脑、计算机等终端设备。
另外,需要注意的是,为了防止量化报价策略输出报价对市场报价的影响,本发明实施例中,生产环境服务器102与策略测试服务器103通过物理隔离的不同服务器实现,且生产环境服务器102与策略测试服务器103之间的数据传输方式为单向传输,即生产环境服务器102可以向策略测试服务器103发送数据,而策略测试服务器103不能向生产环境服务器102发送数据。
由上可知,本发明实施例提供的量化报价策略模型的测试系统,当客户端101检测到测试指令(回测指令或模拟交易指令)后,策略测试服务器103根据生产环境服务器102提供的市场报价数据,确定输入至待测试的量化报价策略模型中的测试数据(回测指令对应的测试数据为历史市场报价数据,模拟交易指令对应的测试数据为实时市场报价数据),输出包含卖出策略报价或买入策略报价的策略报价数据,并发送到模拟交易系统,使得模拟交易系统根据量化报价策略模型输出的策略报价数据和相应的市场报价数据执行模拟交易,在监听到模拟交易系统返回的交易结果或市场报价数据发生更新的情况下,对策略报价数据和相应的市场报价数据进行比对分析,生成量化报价策略模型对应的可视化测试分析结果。
通过本发明实施例提供的量化报价策略模型的测试系统,将量化报价策略模型输出的策略报价数据和市场报价数据接入到模拟交易系统进行模拟交易,不仅实现了对量化报价策略的回测与模拟交易测试,而且量化报价策略模型输出的策略报价数据不会影响到市场报价数据;通过对策略报价数据和相应的市场报价数据进行比对分析,生成量化报价策略模型对应的可视化测试分析结果,能够直观展示量化报价策略对外报价的合理性。
基于同一发明构思,本发明实施例中还提供了一种量化报价策略模型的测试方法,可以应用但不限于图1所示量化报价策略模型的测试系统中。
图2为本发明实施例中提供的一种量化报价策略模型的测试方法流程图,如图2所示,该方法包括如下步骤:
S201,接收测试指令,其中,测试指令包括:回测指令或模拟交易指令。
需要说明的是,上述S201中的测试指令是指对量化报价策略进行测试的指令,包括但不限于回测指令和模拟交易指令,由于回测和模拟交易测试是策略进行测试的两种常用测试方法,本发明实施例中以测试指令是回测指令或模拟交易指令为例来进行详细说明。
S202,根据测试指令,获取测试数据,其中,测试数据包括:历史市场报价数据或实时市场报价数据。
由于对量化报价策略回测采用的测试数据是历史市场报价数据;而对量化报价策略模拟交易测试采用的测试数据是实时市场报价数据;因而,如果通过S201接收到的测试指令为回测指令,则通过S202获取的测试数据是历史市场报价数据;如果通过S201接收到的测试指令为模拟交易指令,则通过S202获取的测试数据是实时市场报价数据。
S203,将测试数据输入至待测试的量化报价策略模型,输出策略报价数据,其中,策略报价数据包括:卖出策略报价或买入策略报价。
作为一种可选的实施方式,上述S203具体可以采用采用消息队列的方式,将测试数据逐笔输入至待测试的量化报价策略模型,输出相应的策略报价数据。
S204,将策略报价数据,发送到模拟交易系统,其中,模拟交易系统根据策略报价数据和对应的市场报价数据执行模拟交易,策略报价数据对应的市场报价数据包括:多个档位的卖出市场报价和买入市场报价。
需要说明的是,上述模拟交易系统是指能够根据策略报价数据和市场报价数据执行模拟交易的系统,该模拟交易系统会返回一个交易结果,但不会进行真正的交易。
作为一种可选的实施方式,上述S204中,将量化报价策略模型输出的策略报价数据,逐笔发送到模拟交易系统,模拟交易系统根据每笔策略报价和相应的市场报价执行一次模拟交易,如果量化报价策略模型输出的策略报价被成交(即市场上的买入报价只要有一个高于量化报价策略模型输出的卖出报价;或市场上的卖出报价只要有一个低于量化报价策略模型输出的买入报价),则返回交易成功的结果;如果量化报价策略模型输出的策略报价被成交没有被成交(即量化报价策略模型输出的卖出报价高于市场上的最高买入报价;或量化报价策略模型输出的买入报价低于市场上的最低卖出报价),则返回交易失败的结果。
S205,在监听到模拟交易系统返回的交易结果或市场报价数据发生更新的情况下,对策略报价数据和对应的市场报价数据进行比对分析,生成量化报价策略模型对应的可视化测试分析结果。
由于策略报价和市场报价每次成交,或市场报价每更新一次,都会影响到策略报价在做市市场的价格档位,因而,本发明实施例中,在对量化报价策略进行测试的时候,监听模拟交易系统是否返回交易结果或市场报价数据是否发生更新,并在在监听到模拟交易系统返回的交易结果或市场报价数据发生更新的情况下,对策略报价数据和对应的市场报价数据进行一次比对分析,从而生成量化报价策略模型对应的可视化测试分析结果。
由上可知,本发明实施例提供的量化报价策略模型的测试方法,在检测到测试指令(回测指令或模拟交易指令)后,将测试数据(历史市场报价数据或实时市场报价数据)输入至待测试的量化报价策略模型中,输出包含卖出策略报价或买入策略报价的策略报价数据,并发送到模拟交易系统,使得模拟交易系统根据量化报价策略模型输出的策略报价数据和相应的市场报价数据执行模拟交易,在监听到模拟交易系统返回的交易结果或市场报价数据发生更新的情况下,对策略报价数据和相应的市场报价数据进行比对分析,生成量化报价策略模型对应的可视化测试分析结果。
通过本发明实施例提供的量化报价策略模型的测试方法,将量化报价策略模型输出的策略报价数据和市场报价数据接入到模拟交易系统进行模拟交易,不仅实现了对量化报价策略的回测与模拟交易测试,而且量化报价策略模型输出的策略报价数据不会影响到市场报价数据;通过对策略报价数据和相应的市场报价数据进行比对分析,生成量化报价策略模型对应的可视化测试分析结果,能够直观展示量化报价策略对外报价的合理性。
需要注意的是,上述S201至S205提供的方案,可以在但不限于图1所示的策略服务器103上执行;策略服务器103接收来自客户端101的回测指令或模拟交易指令。
图3为本发明实施例中提供的一种历史回测的客户端操作界面示意图,如图3所示,在选择待测试的量化报价策略后,配置回测参数(包括但不限于回测时间段),点击“历史回测”按钮,即可实现对选择的待测试的量化报价策略进行历史回测。
图4为本发明实施例中提供的一种实时模拟交易测试的客户端操作界面示意图,如图4所示,在选择待测试的量化报价策略后,点击“实时模拟”按钮,即可实现对选择的待测试的量化报价策略进行模拟交易测试。由于历史回测通过配置回测时间段,可以实现历史回测的开始和停止;而模拟交易是根据实时市场报价数据对量化报价策略进行测试,需要通过中断测试指令(点击图4上的“停止模拟”按钮),才能停止测试。
可选地,当策略服务器103根据客户端101的测试指令对量化报价策略测试之后,还可以将量化报价策略模型对应的可视化测试分析结果发送给客户端101,通过客户端展示给用户。例如,图3和图4所示客户端操作界面的右侧区域可以用于展示量化报价策略模型对应的可视化测试分析结果。
需要注意的是,本发明实施例生成的可视化测试分析结果包括但不限于:报价档位分布表、报价档占比表、报价价差分布表、报价价差占比表、卖出报价价差概率分布表、买入报价价差概率分布表;其中,报价档位分布表用于展示预设时间段内量化报价策略模型输出的报价在做市市场的档位分布情况;报价档占比表用于展示预设时间段内量化报价策略模型输出的报价在做市市场各个档位的数量占比;报价价差分布表用于展示预设时间段内量化报价策略模型输出的报价与市场最优报价的价差分布情况;报价价差占比表用于展示预设时间段内量化报价策略模型输出的报价高于或低于市场最优报价的数量占比;卖出报价价差概率分布表用于展示预设时间段内量化报价策略模型输出的卖出报价与市场最优卖出报价价差的概率分布情况;买入报价价差概率分布表用于展示预设时间段内量化报价策略模型输出的买入报价与市场最优买入报价价差的概率分布情况。
另外,还需要说明的是,本发明实施例中,最优报价是指最容易成交的报价,最优买入报价也即市场最高买入报价(买入价格越高,越容易成交);最优卖出报价也即市场最低卖出报价(卖出价格越低,越容易成交)。
因而,作为第一种可选的实施方式,本发明实施例提供的量化报价策略模型的测试方法中,S205可以具体包括如下步骤:获取预设时间段内量化报价策略模型输出的多个策略报价,以及各个策略报价对应的多个档位的市场报价;确定各个策略报价在做市市场的档位,其中,做市市场包括:各个策略报价和对应的多个档位的市场报价;根据多个策略报价中,各个策略报价在做市市场的档位,生成报价档位分布表。
进一步地,在确定各个策略报价在做市市场的档位之后,本发明实施例提供的量化报价策略模型的测试方法还可以包括如下步骤:统计量化报价策略模型输出的多个策略报价中,处于各个档位的策略报价的数量占比;根据多个策略报价中,处于各个档位的策略报价的数量占比,生成报价档占比表。
需要注意的是,报价档位分布表和报价档占比表可以作为一个整体显示,也可以分别单独显示。例如,图5为本发明实施例中提供的一种基于报价竞争性的统计结果示意图,图5所示的界面可以是图3和图4中“统计1”的界面,该界面展示了一段时间内策略报价(卖出策略报价和买入策略报价)在做市市场的档位分布结果(报价档位分布表),以及根据各个档位分布的报价数量绘制的两个饼状图,分别为卖出策略报价在各个档位的数量占比,以及买入策略报价在各个档位的数量占比(报价档占比表)。图5中档位缺失处(即某一横线的终止点与相邻下一横线的起始点之间的空白时间段)表明该时间段内没有策略报价。
需要注意的是,图5所示的报价竞争性统计结果在实时模拟场景下,时间粒度分为分钟、5秒两个等级,首先以每5秒为一个时间粒度,随着时间的推移,档位信息不断更新,当信息超出图框范围时,时间粒度增大为分,再次超出图框范围时,图表整体向左推移,且出现滚动条,可通过滑动滚动条看某时刻的档位信息;图5所示的报价竞争性统计结果在历史回测场景下,时间粒度分为日、小时、分、5秒四个等级,根据回测时间范围选取最初呈现的时间粒度,客户可通过框选某范围图来放大显示,且出现滚动条,可通过滑动滚动条看某时刻的档位信息;当用户将鼠标放在某档位横线上时,显示该横线所持续的时间戳范围。
作为第二种可选的实施方式,本发明实施例提供的量化报价策略模型的测试方法中,S205可以具体包括如下步骤:获取预设时间段内量化报价策略模型输出的多个策略报价,以及各个策略报价对应的多个档位的市场报价;计算各个卖出策略报价与对应最低档位的卖出市场报价的价差,或各个买入策略报价与对应最高档位的买入市场报价的价差;根据量化报价策略模型输出的多个策略报价中,各个卖出策略报价与对应最低档位的卖出市场报价的价差,或各个买入策略报价与对应最高档位的买入市场报价的价差,生成报价价差分布表。
进一步地,在获取预设时间段内量化报价策略模型输出的多个策略报价,以及各个策略报价对应的多个档位的市场报价之后,本发明实施例提供的量化报价策略模型的测试方法还可以包括如下步骤:统计多个策略报价中,低于最低档位的卖出市场报价的卖出策略报价的数量,以及高于最高档位的买入市场报价的买入策略报价的数量;根据量化报价策略模型输出的多个策略报价中,低于最低档位的卖出市场报价的卖出策略报价的数量,或高于最高档位的买入市场报价的买入策略报价的数量,生成报价价差占比表。
需要注意的是,报价价差分布表和报价价差占比表也可以作为一个整体显示,或分别单独显示。例如,图6为本发明实施例中提供的一种策略报价与市场最优报价价差的统计结果示意图;图6所示的界面可以是图3和图4中“统计2”的界面,该界面展示了一段时间内策略报价与市场最优报价的差值曲线(报价价差分布表),以及根据策略报价高于或低于市场最优报价的占比图(报价价差占比表)。差值曲线缺失表明相应时间段内没有策略报价。
另外,还需要说明的是,图6中虚线表示的是各个时刻策略买入报价与“买入报价档位1”的差值,差值为正,表明更容易成交,策略报价更好;图6中实现表示的各个时刻“卖出报价档位1”与策略卖出报价的差值,差值为正,表明更容易成交,策略报价更好。
作为第三种可选的实施方式,本发明实施例提供的量化报价策略模型的测试方法中,S205可以具体包括如下步骤:获取预设时间段内量化报价策略模型输出的多个卖出策略报价或买入策略报价,以及各个卖出策略报价对应的多个档位的卖出市场报价和各个买入策略报价对应的多个档位的买入市场报价;计算各个卖出策略报价与对应最低档位的卖出市场报价的价差,或各个买入策略报价与对应最高档位的买入市场报价的价差;根据各个卖出策略报价与对应最低档位的卖出市场报价的价差,确定多个卖出价差范围,并计算各个卖出价差范围对应卖出策略报价的数量占比;或根据各个买入策略报价与对应最高档位的买入市场报价的价差,确定多个买入价差范围,并计算各个买入价差范围对应买入策略报价的数量占比;根据各个卖出价差范围对应卖出策略报价的数量占比,生成卖出报价价差概率分布表;或根据各个买入价差范围对应买入策略报价的数量占比,生成买入报价价差概率分布表。
需要注意的是,卖出报价价差概率分布表和买入报价价差概率分布表可以作为一个整体显示,也可以分别单独显示。例如,图7为本发明实施例中提供的一种策略报价与市场最优报价价差的概率分布表示意图,图7所示的界面可以是图3和图4中“统计3”的界面,该界面展示了卖出策略报价在各个价差的分布情况,以及买入策略报价在各个价差的分布情况,位于中间的柱状图越多,表明策略报价越好。
在一种可选的实施例中,在接收测试指令之前,本发明实施例提供的量化报价策略模型的测试方法还可以包括如下步骤:采集实时市场报价数据;将实时市场报价数据存储于Redis数据库;将历史市场报价数据存储于时间序列数据库,或采用分区的方式存储于关系型数据库。
进一步地,基于上述实施例,作为一种可选的实施方式,如果测试指令为回测指令,则根据外部输入的回测时间段,从时间序列数据库或关系型数据库中,获取回测时间段内的市场报价数据;如果测试指令为模拟交易指令,则直接从Redis数据库中,获取实时市场报价数据。
作为一种优选的实施方式,图8为本发明实施例中提供的一种优选的量化报价策略模型的回测与模拟交易测试系统架构示意图,图9为应用于图8所示系统的回测与模拟交易测试方法流程图,如图9所示,主要包括如下几个部分:
(一)市场行情接入:
策略测试系统的市场数据引擎(MD2)通过RabbitMQ接收由生产系统数据引擎模块(MD)分发的所有实时市场数据,范围包括所有渠道所有产品的原始数据(ToB价格、Depth价格)和整合后数据(aggregate价格);其中,ToB价格是指最优买入报价或最优卖出报价;Depth价格是指某一金融产品的整个价格薄,包括多个档位的买入报价和卖出报价,且按顺序排列;aggregate价格是指市场对某个金融产品的价格薄按照基于价格或交易量的特定算法进行整合处理。
(二)市场行情存储:
获取到市场数据后,对带深度的市场数据(例如,金交所国际版AIA/CNH即期数据、EBS中XAU/USD即期数据和来自多个市场的USD/CNH即期数据)进行处理加工并落盘存储,实时数据Last Tick存储至Redis,历史数据的存储方案如下:
(1)存储到时间序列数据库(例如,DophinDB)。
(2)存储到非时间序列数据库,包括如下有两种临时存储方案:①采用关系型数据库(Mysql)+分区的方式存储。
表1原始数据的数据表
字段名称 | 数据类型 | 备注 |
SenderCompID | varchar | 价格来源 |
mdSubBookType | char | 价格类型 |
instrumentID | char | 产品ID |
mdside | char | 价格方向 |
sendingTime | char | 发送时间 |
origSendingTime | char | 原始发送时间 |
dealDate | char | 交易日期 |
表2买入报价数据的数据表
字段名称 | 数据类型 | 备注 |
mdFullGrpID | char | 档位 |
SenderCompID | varchar | 价格来源 |
mdSubBookType | char | 价格类型 |
instrumentID | char | 产品ID |
mdside | char | 价格方向 |
sendingTime | char | 发送时间 |
mdEntryType | char | bid |
mdEntryPx | varchar | 净价 |
yieldValue | varchar | 收益值 |
yieldType | varchar | 收益率类型 |
mdEntrySize | varchar | 券面总额 |
mdEntryDate | char | 截取日期 |
mdEntryTime | char | 截取时间 |
parties | varchar | 交易对手信息 |
表3卖出报价数据的数据表
原始数据、买入报价数据和卖出报价数据的数据表结构设计分别如表1、表2和表3所示。分区原则包括两个维度:以产品ID分区或按照时间分区。
②采用CSV文件存储。该存储方式的弊端在于:第一,需要根据交易日切日规则增加交易日期栏位;第二,目前每个CSV文件中存储来自某一市场的多个产品数据,而我们需要的产品数据来自于多个市场(如USD/CNH),意味着要读取多个CSV文件再筛选出目标产品的数据,不仅需要建立文件的读取规则,而且给读取速度带来很大考验。
综合考虑上述两种临时存储方案,关系型数据库(Mysql)+分区的方式存储的方案更为合适。
(三)策略测试:
(1)前端选择实时模拟,同时选择待测试策略:
策略端根据选择的策略向MD2发起市场数据的订阅,MD2收到订阅请求后,从Redis取出所请求产品的最新数据,发送到与策略端通信的RabbitMQ队列中;
(2)前端选择历史回测,同时选择策略、回测日期范围(日历形式):
策略端根据选择的策略及时间参数向回测引擎发起市场数据的订阅,回测引擎收到订阅请求后,从TSDB/.CSV/Mysql中读取相应的历史数据,发送到与策略端通信的RabbitMQ队列中,同时将该时刻行情数据临时缓存;
(四)策略端读取RabbitMQ队列中的行情数据,并输出策略报价,包括卖出策略报价和买入策略报价;
(五)交易引擎接收策略报价,记录交易表,转发至模拟交易系统;
(六)模拟交易系统构建虚拟挡板,根据策略报价、读取Redis或临时缓存中的行情数据,进行ODM模拟成交,给出成功/失败的成交结果,写交易记录表和交易日志,并回报给TD,TD返回给策略端。然后根据成交数据,生成策略分析报告,包括:
A.策略报价在做市市场上的档位;
B.策略报价在做市市场上与第一档报价的价格差值;
策略分析报告的呈现方案包括两种:一种是输出到前端界面;另一种是导出文件。
(七)前端收到测试结束标志,测试完成。
生产系统与策略测试系统之间通过RabbitMQ传输数据,具体包括:
(一)实时市场数据:
生产系统的MD模块作为生产者,将全部实时市场数据分发给策略测试系统的MD2。MD需要基于TCP协议,通过建立Connection和Channel,将消息传输给RabbitMQ Server,负责处理消息路由、分发、入队列、缓存和出列,也就是负责完成Exchange、Binding Key和Queue的创建,将数据信息传输到指定的queue中。
(1)Exchange:生产者产生的消息经过Exchange(交换器)路由到消息队列Queue,首先需要配置Exchange名称,如md2_exchange,其次需要确定路由规则,即Exchange Type,选取Exchange Type=Topic,该规则的特点是:Routing Key与Binding Key可以通过通配符满足一部分就可以传送;
(2)Binding Key:为了使Exchange将消息准确的推送到对应的Queue,还需要确定binding Key,将Exchange和Queue链接在一起;以mdStreamID作为binding Key,另外,根据路由规则Topic,binding key中可以存在两种特殊字符“*”与“#”用做模糊匹配,其中“*”用于匹配一个单词,“#”用于匹配多个单词(可以是零个),比如:CFETS_INFI.1.*.0,该标识各字段为:
SenderCompID.mdSubBookType.instrumentID.mdside,可取值如下:
SenderCompID:该路价格的来源,如
mdSubBookType:
0-top of book
1-raw depth
2-cleaned depth
3-aggregated book
instrumentID:产品ID,用货币对或cflcode表示
mdside:0-从外部进入QTPS的价格
1-由QTPS向外部发出的价格
(3)Queue:可根据需要定义多个队列,设置队列的属性,比如:消息移除、消息缓存、回调机制等设置。
策略测试系统的MD2作为消费者,接收由生产系统数据引擎模块(MD)分发的实时市场数据。基于TCP协议,建立Connection和Channel,消费Queue中的消息。
(二)历史市场数据:
若策略测试系统采用Mysql存储历史数据,可采用脚本将某一时间段段内生产系统的CSV文件迁移至策略测试系统的Mysql数据库;
若策略测试系统采用.CSV文件存储历史数据,可手工将某一时间段段内生产系统的CSV文件迁移至策略测试系统的CSV文件。
图10为本发明实施例中提供的一种历史回测具体实现流程图,如图10所示,包括如下步骤:
(1)启动回测引擎,其中开启thrift服务,等待策略的订阅请求。
(2)启动策略,发起login请求,回测引擎接收后定义队列如下:
md_(senderCompID):(senderSubID)。
(3)启动策略,向回测引擎发送订阅请求。
(4)回测引擎接收订阅请求之后,以请求参数中的mdStreamID为key绑定md_(senderCompID):(senderSubID)的队列。
(5)回测引擎根据参数配置界面中指定的时间和订阅参数,从时间序列数据库中循环读取行情数据publish到对应的exchange中。此处需要考虑MQ的逐包确认机制。
(6)策略接收消息进行处理,经TD将报价信息发送给模拟交易系统。
(7)模拟交易系统判断报价情况,进行记录。
(8)回测引擎确认数据发送完毕后,解绑key然后删除队列。
(9)生成策略分析报告。
图11为本发明实施例中提供的一种实时模拟交易测试具体实现流程图;如图11所示,包括如下步骤:
(1)数据引擎开启thrift服务,等待策略的订阅请求。
(2)启动策略,向数据引擎发起login请求,策略端接收后定义队列md_(senderCompID):(senderSubID)。
(3)策略向数据引擎发送订阅请求。
(4)数据引擎接收订阅请求之后,以请求参数中的mdStreamID为key绑定md_(senderCompID):(senderSubID)的队列。
(5)数据引擎中一旦有根据参数配置界面中指定的时间和订阅参数,都会publish到对应的exchange中。
(6)策略监听mq,一旦有新消息,接收并进行处理,经TD将报价信息发送给模拟交易系统。
(7)模拟交易系统判断报价情况,进行记录。
(8)生成策略分析报告,该报告随行情数据更新一直更新。
(9)如果策略端取消对某数据的订阅,策略引擎解绑key,logout,分析报告停止更新。
基于本发明实施例提供的量化报价策略的测试方案,下面分别结合历史回测和模拟交易两个场景对数据分析过程进行说明。
图12为本发明实施例中提供的一种历史回测场景下的数据分析过程示意图;图12中箭头上的标记1~13代表执行步骤的顺序。如图12所示,在实时模拟场景下,用户在前端界面选择待测试策略ID,点击“实时模拟”按钮,策略报价,交易引擎转发到模拟交易系统,挡板负责完成交易,将每笔交易信息写到挡板交易记录表,并发送给数据分析模块;同时,数据分析模块监控Redis的更新。数据分析模块每次接受到挡板发送过来的交易信息,或监控到Redis更新一条目标行情信息时,数据分析模块比较该时刻策略报价和市场行情,判断策略报价所处档位,并统计策略报价和最优市场行情的差值(买入报价bid:下单价格-市场最优买入报价,卖出报价ask:市场最优卖出报价-下单价格),写报价档位及价差表。统计该时刻策略报价各个档位比例,写报价档位占比表;统计该时刻策略报价优/劣于市场第一档报价的比例,写报价最优占比表;统计策略报价与市场第一档报价价差范围及频数,写价差分布表。前端自从发起实时模拟,每间隔15s,读上述四张表,根据增量数据刷新前端各图。用户点击“停止”按钮,可终止实时模拟,用户点击“导出”按钮,根据上述四张表生成策略分析报告保存至用户本地。
图13为本发明实施例中提供的一种实时模拟交易场景下的数据分析过程示意图;图13中箭头上的标记0~9代表执行步骤的顺序。如图13所示,在历史回测场景下,用户在前端界面选择待测策略和回测日期范围,点击“历史回测”按钮,调回测引擎,回测引擎逐个tick向策略端发送市场行情数据,同时将该tick数据存储至包含该tick数据是否为最末tick标志位的临时存储。策略端报价,交易引擎转发到模拟交易系统,挡板负责完成交易,将每笔交易信息写到挡板交易记录表,并发给数据分析模块;临时存储每更新一条行情信息或数据分析模块每接收到挡板发送的交易信息时,数据分析模块比较该时刻策略报价和市场行情,判断策略报价所处档位,并统计策略报价和最优市场行情的差值(买入报价bid:下单价格-市场最优买入报价,卖出报价ask:市场最优卖出报价-下单价格),写报价档位及价差表。当从临时存储读到最后一个tick数据,数据分析模块开始统计在回测时间范围内策略报价各个档位比例,写报价档位占比表;统计在回测时间范围内策略报价优/劣于市场第一档报价的比例,写报价最优占比表;统计在回测时间范围内策略报价与市场第一档报价价差范围及频数,写价差分布表。统计完毕,向前端发送数据已就绪的指令,前端读取上述四张表,绘制前端各图。用户点击“导出”按钮,根据上述四张表生成策略分析报告保存至用户本地。用户点击“导入”按钮,从用户本地选取一份策略分析报告,数据分析模块读取报告信息写四张表,前端读取四张表绘制各图。
基于同一发明构思,本发明实施例中还提供了一种量化报价策略模型的测试装置,如下面的实施例所述。由于该装置实施例解决问题的原理与量化报价策略模型的测试方法相似,因此该装置实施例的实施可以参见方法的实施,重复之处不再赘述。
图14为本发明实施例中提供的一种量化报价策略模型的测试装置示意图,如图14所示,该装置包括:指令接收单元141、数据获取单元142、数据传输单元143、数据发送单元144和测试结果生成单元145。
其中,指令接收单元141,用于接收测试指令,其中,测试指令包括:回测指令或模拟交易指令;数据获取单元142,用于根据测试指令,获取测试数据,其中,测试数据包括:历史市场报价数据或实时市场报价数据;数据传输单元143,用于将测试数据输入至待测试的量化报价策略模型,输出策略报价数据,其中,策略报价数据包括:卖出策略报价或买入策略报价;数据发送单元144,用于将策略报价数据,发送到模拟交易系统,其中,模拟交易系统根据策略报价数据和对应的市场报价数据执行模拟交易,策略报价数据对应的市场报价数据包括:多个档位的卖出市场报价和买入市场报价;测试结果生成单元145,用于在监听到模拟交易系统返回的交易结果或市场报价数据发生更新的情况下,对策略报价数据和对应的市场报价数据进行比对分析,生成量化报价策略模型对应的可视化测试分析结果。
本发明实施例提供的量化报价策略模型的测试装置,通过指令接收单元141接收测试指令(回测指令或模拟交易指令),并在接收到测试指令后,通过数据获取单元142获取相应的测试数据(历史市场报价数据或实时市场报价数据),并通过数据传输单元143将测试数据输入至待测试的量化报价策略模型中,输出包含卖出策略报价或买入策略报价的策略报价数据,通过数据发送单元144将量化报价策略模型输出的策略报价数据,发送到模拟交易系统,使得模拟交易系统根据量化报价策略模型输出的策略报价数据和相应的市场报价数据执行模拟交易,在监听到模拟交易系统返回的交易结果或市场报价数据发生更新的情况下,通过测试结果生成单元145对策略报价数据和相应的市场报价数据进行比对分析,生成量化报价策略模型对应的可视化测试分析结果。
通过本发明实施例提供的量化报价策略模型的测试装置,将量化报价策略模型输出的策略报价数据和市场报价数据接入到模拟交易系统进行模拟交易,不仅实现了对量化报价策略的回测与模拟交易测试,而且量化报价策略模型输出的策略报价数据不会影响到市场报价数据;通过对策略报价数据和相应的市场报价数据进行比对分析,生成量化报价策略模型对应的可视化测试分析结果,能够直观展示量化报价策略对外报价的合理性。
在一种可选的实施例中,本发明实施例提供的量化报价策略模型的测试装置还可以包括:数据采集单元146,用于采集实时市场报价数据;第一数据存储单元147,用于将实时市场报价数据存储于Redis数据库;第二数据存储单元148,用于将历史市场报价数据存储于时间序列数据库,或采用分区的方式存储于关系型数据库。
可选地,上述数据获取单元142还用于当测试指令为回测指令的情况下,根据外部输入的回测时间段,从时间序列数据库或关系型数据库中,获取回测时间段内的市场报价数据;以及当测试指令为模拟交易指令的情况下,直接从Redis数据库中,获取实时市场报价数据。
在一种可选的实施例中,本发明实施例提供的量化报价策略模型的测试装置中,数据传输单元143还用于采用消息队列的方式,将测试数据逐笔输入至待测试的量化报价策略模型,输出相应的策略报价数据。
在一种可选的实施例中,本发明实施例提供的量化报价策略模型的测试装置中,测试结果生成单元145还用于获取预设时间段内量化报价策略模型输出的多个策略报价,以及各个策略报价对应的多个档位的市场报价;确定各个策略报价在做市市场的档位,其中,做市市场包括:各个策略报价和对应的多个档位的市场报价;根据多个策略报价中,各个策略报价在做市市场的档位,生成报价档位分布表。
在一种可选的实施例中,本发明实施例提供的量化报价策略模型的测试装置中,测试结果生成单元145还用于统计量化报价策略模型输出的多个策略报价中,处于各个档位的策略报价的数量占比;根据多个策略报价中,处于各个档位的策略报价的数量占比,生成报价档占比表。
在一种可选的实施例中,本发明实施例提供的量化报价策略模型的测试装置中,测试结果生成单元145还用于获取预设时间段内量化报价策略模型输出的多个策略报价,以及各个策略报价对应的多个档位的市场报价;计算各个卖出策略报价与对应最低档位的卖出市场报价的价差,或各个买入策略报价与对应最高档位的买入市场报价的价差;根据量化报价策略模型输出的多个策略报价中,各个卖出策略报价与对应最低档位的卖出市场报价的价差,或各个买入策略报价与对应最高档位的买入市场报价的价差,生成报价价差分布表。
在一种可选的实施例中,本发明实施例提供的量化报价策略模型的测试装置中,测试结果生成单元145还用于统计多个策略报价中,低于最低档位的卖出市场报价的卖出策略报价的数量,以及高于最高档位的买入市场报价的买入策略报价的数量;根据量化报价策略模型输出的多个策略报价中,低于最低档位的卖出市场报价的卖出策略报价的数量,或高于最高档位的买入市场报价的买入策略报价的数量,生成报价价差占比表。
在一种可选的实施例中,本发明实施例提供的量化报价策略模型的测试装置中,测试结果生成单元145还用于获取预设时间段内量化报价策略模型输出的多个卖出策略报价或买入策略报价,以及各个卖出策略报价对应的多个档位的卖出市场报价和各个买入策略报价对应的多个档位的买入市场报价;计算各个卖出策略报价与对应最低档位的卖出市场报价的价差,或各个买入策略报价与对应最高档位的买入市场报价的价差;根据各个卖出策略报价与对应最低档位的卖出市场报价的价差,确定多个卖出价差范围,并计算各个卖出价差范围对应卖出策略报价的数量占比;或根据各个买入策略报价与对应最高档位的买入市场报价的价差,确定多个买入价差范围,并计算各个买入价差范围对应买入策略报价的数量占比;根据各个卖出价差范围对应卖出策略报价的数量占比,生成卖出报价价差概率分布表;或根据各个买入价差范围对应买入策略报价的数量占比,生成买入报价价差概率分布表。
本发明实施例还提供一种计算机设备,用以现有技术中,由于做市商的报价会影响市场报价数据,导致难以实现对做市商报价策略进行回测和模拟交易测试的技术问题,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述量化报价策略模型的测试方法。
本发明实施例还提供一种计算机可读存储介质,用以现有技术中,由于做市商的报价会影响市场报价数据,导致难以实现对做市商报价策略进行回测和模拟交易测试的技术问题,该计算机可读存储介质存储有执行上述量化报价策略模型的测试方法的计算机程序。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种量化报价策略模型的测试方法,其特征在于,包括:
客户端接收测试指令,其中,所述测试指令包括:回测指令或模拟交易指令;
策略测试服务器根据所述测试指令,从生产环境服务器获取测试数据,其中,所述测试数据包括:历史市场报价数据或实时市场报价数据;
策略测试服务器将所述测试数据输入至待测试的量化报价策略模型,输出策略报价数据,其中,所述策略报价数据包括:卖出策略报价或买入策略报价;
策略测试服务器将所述策略报价数据,发送到模拟交易系统,其中,所述模拟交易系统根据所述策略报价数据和对应的市场报价数据执行模拟交易,所述策略报价数据对应的市场报价数据包括:多个档位的卖出市场报价和买入市场报价;
策略测试服务器在监听到所述模拟交易系统返回的交易结果或市场报价数据发生更新的情况下,对所述策略报价数据和对应的市场报价数据进行比对分析,生成所述量化报价策略模型对应的可视化测试分析结果;
其中,在接收测试指令之前,所述方法还包括:策略测试服务器采集实时市场报价数据;将实时市场报价数据存储于Redis数据库;将历史市场报价数据存储于时间序列数据库,或采用分区的方式存储于关系型数据库;
根据所述测试指令,获取测试数据,包括:如果所述测试指令为回测指令,策略测试服务器则根据外部输入的回测时间段,从时间序列数据库或所述关系型数据库中,获取所述回测时间段内的市场报价数据;如果所述测试指令为模拟交易指令,策略测试服务器则直接从所述Redis数据库中,获取实时市场报价数据;
其中,生产环境服务器与策略测试服务器通过物理隔离的不同服务器实现,且生产环境服务器与策略测试服务器之间的数据传输方式为单向传输,策略测试服务器不能向生产环境服务器发送数据;
策略测试服务器对所述策略报价数据和对应的市场报价数据进行比对分析,生成所述量化报价策略模型对应的可视化测试分析结果,包括:
获取预设时间段内所述量化报价策略模型输出的多个策略报价,以及各个策略报价对应的多个档位的市场报价;确定各个策略报价在做市市场的档位,其中,所述做市市场包括:各个策略报价和对应的多个档位的市场报价;根据所述多个策略报价中,各个策略报价在做市市场的档位,生成报价档位分布表;计算各个卖出策略报价与对应最低档位的卖出市场报价的价差,或各个买入策略报价与对应最高档位的买入市场报价的价差;根据所述量化报价策略模型输出的多个策略报价中,各个卖出策略报价与对应最低档位的卖出市场报价的价差,或各个买入策略报价与对应最高档位的买入市场报价的价差,生成报价价差分布表;以及
获取预设时间段内所述量化报价策略模型输出的多个卖出策略报价或买入策略报价,以及各个卖出策略报价对应的多个档位的卖出市场报价和各个买入策略报价对应的多个档位的买入市场报价;计算各个卖出策略报价与对应最低档位的卖出市场报价的价差,或各个买入策略报价与对应最高档位的买入市场报价的价差;根据各个卖出策略报价与对应最低档位的卖出市场报价的价差,确定多个卖出价差范围,并计算各个卖出价差范围对应卖出策略报价的数量占比;或根据各个买入策略报价与对应最高档位的买入市场报价的价差,确定多个买入价差范围,并计算各个买入价差范围对应买入策略报价的数量占比;根据各个卖出价差范围对应卖出策略报价的数量占比,生成卖出报价价差概率分布表;或根据各个买入价差范围对应买入策略报价的数量占比,生成买入报价价差概率分布表。
2.如权利要求1所述的方法,其特征在于,在确定各个策略报价在做市市场的档位之后,所述方法还包括:
统计所述量化报价策略模型输出的多个策略报价中,处于各个档位的策略报价的数量占比;
根据所述多个策略报价中,处于各个档位的策略报价的数量占比,生成报价档占比表。
3.如权利要求1所述的方法,其特征在于,在获取预设时间段内所述量化报价策略模型输出的多个策略报价,以及各个策略报价对应的多个档位的市场报价之后,所述方法还包括:
统计所述多个策略报价中,低于最低档位的卖出市场报价的卖出策略报价的数量,以及高于最高档位的买入市场报价的买入策略报价的数量;
根据所述量化报价策略模型输出的多个策略报价中,低于最低档位的卖出市场报价的卖出策略报价的数量,或高于最高档位的买入市场报价的买入策略报价的数量,生成报价价差占比表。
4.如权利要求1至3任一项所述的方法,其特征在于,将所述测试数据输入至待测试的量化报价策略模型,输出策略报价数据,包括:
采用消息队列的方式,将所述测试数据逐笔输入至待测试的量化报价策略模型,输出相应的策略报价数据。
5.一种量化报价策略模型的测试系统,其特征在于,包括:
客户端,用于接收测试指令,其中,所述测试指令包括:回测指令或模拟交易指令;
生产环境服务器,用于提供市场报价数据;
策略测试服务器,与所述客户端和所述生产环境服务器分别通信,用于根据所述客户端接收到的测试指令,从所述生产环境服务器获取测试数据,并将所述测试数据输入至待测试的量化报价策略模型,将所述量化报价策略模型输出的策略报价数据,发送到模拟交易系统,在监听到所述模拟交易系统返回的交易结果或市场报价数据发生更新的情况下,对所述策略报价数据和对应的市场报价数据进行比对分析,生成所述量化报价策略模型对应的可视化测试分析结果,其中,所述策略报价数据包括:卖出策略报价或买入策略报价,所述模拟交易系统根据所述策略报价数据和对应的市场报价数据执行模拟交易,所述策略报价数据对应的市场报价数据包括:多个档位的卖出市场报价和买入市场报价;
其中,所述客户端还用于显示所述量化报价策略模型对应的可视化测试分析结果;
策略测试服务器,还用于:采集实时市场报价数据;将实时市场报价数据存储于Redis数据库;将历史市场报价数据存储于时间序列数据库,或采用分区的方式存储于关系型数据库;
策略测试服务器,还用于:如果所述测试指令为回测指令,则根据外部输入的回测时间段,从时间序列数据库或所述关系型数据库中,获取所述回测时间段内的市场报价数据;如果所述测试指令为模拟交易指令,则直接从所述Redis数据库中,获取实时市场报价数据;
其中,生产环境服务器与策略测试服务器通过物理隔离的不同服务器实现,且生产环境服务器与策略测试服务器之间的数据传输方式为单向传输,策略测试服务器不能向生产环境服务器发送数据;
策略测试服务器,还用于:
获取预设时间段内所述量化报价策略模型输出的多个策略报价,以及各个策略报价对应的多个档位的市场报价;确定各个策略报价在做市市场的档位,其中,所述做市市场包括:各个策略报价和对应的多个档位的市场报价;根据所述多个策略报价中,各个策略报价在做市市场的档位,生成报价档位分布表;计算各个卖出策略报价与对应最低档位的卖出市场报价的价差,或各个买入策略报价与对应最高档位的买入市场报价的价差;根据所述量化报价策略模型输出的多个策略报价中,各个卖出策略报价与对应最低档位的卖出市场报价的价差,或各个买入策略报价与对应最高档位的买入市场报价的价差,生成报价价差分布表;以及
获取预设时间段内所述量化报价策略模型输出的多个卖出策略报价或买入策略报价,以及各个卖出策略报价对应的多个档位的卖出市场报价和各个买入策略报价对应的多个档位的买入市场报价;计算各个卖出策略报价与对应最低档位的卖出市场报价的价差,或各个买入策略报价与对应最高档位的买入市场报价的价差;根据各个卖出策略报价与对应最低档位的卖出市场报价的价差,确定多个卖出价差范围,并计算各个卖出价差范围对应卖出策略报价的数量占比;或根据各个买入策略报价与对应最高档位的买入市场报价的价差,确定多个买入价差范围,并计算各个买入价差范围对应买入策略报价的数量占比;根据各个卖出价差范围对应卖出策略报价的数量占比,生成卖出报价价差概率分布表;或根据各个买入价差范围对应买入策略报价的数量占比,生成买入报价价差概率分布表。
6.一种量化报价策略模型的测试装置,其特征在于,包括:
指令接收单元,用于客户端接收测试指令,其中,所述测试指令包括:回测指令或模拟交易指令;
数据获取单元,用于策略测试服务器根据所述测试指令,从生产环境服务器获取测试数据,其中,所述测试数据包括:历史市场报价数据或实时市场报价数据;
数据传输单元,用于策略测试服务器将所述测试数据输入至待测试的量化报价策略模型,输出策略报价数据,其中,所述策略报价数据包括:卖出策略报价或买入策略报价;
数据发送单元,用于策略测试服务器将所述策略报价数据,发送到模拟交易系统,其中,所述模拟交易系统根据所述策略报价数据和对应的市场报价数据执行模拟交易,所述策略报价数据对应的市场报价数据包括:多个档位的卖出市场报价和买入市场报价;
测试结果生成单元,用于策略测试服务器在监听到所述模拟交易系统返回的交易结果或市场报价数据发生更新的情况下,对所述策略报价数据和对应的市场报价数据进行比对分析,生成所述量化报价策略模型对应的可视化测试分析结果;
所述装置还包括:
数据采集单元,用于采集实时市场报价数据;
第一数据存储单元,用于将实时市场报价数据存储于Redis数据库;
第二数据存储单元,用于将历史市场报价数据存储于时间序列数据库,或采用分区的方式存储于关系型数据库;
数据获取单元还用于当测试指令为回测指令的情况下,根据外部输入的回测时间段,从时间序列数据库或关系型数据库中,获取回测时间段内的市场报价数据;以及当测试指令为模拟交易指令的情况下,直接从Redis数据库中,获取实时市场报价数据;
其中,生产环境服务器与策略测试服务器通过物理隔离的不同服务器实现,且生产环境服务器与策略测试服务器之间的数据传输方式为单向传输,策略测试服务器不能向生产环境服务器发送数据;
策略测试服务器对所述策略报价数据和对应的市场报价数据进行比对分析,生成所述量化报价策略模型对应的可视化测试分析结果,包括:
获取预设时间段内所述量化报价策略模型输出的多个策略报价,以及各个策略报价对应的多个档位的市场报价;确定各个策略报价在做市市场的档位,其中,所述做市市场包括:各个策略报价和对应的多个档位的市场报价;根据所述多个策略报价中,各个策略报价在做市市场的档位,生成报价档位分布表;计算各个卖出策略报价与对应最低档位的卖出市场报价的价差,或各个买入策略报价与对应最高档位的买入市场报价的价差;根据所述量化报价策略模型输出的多个策略报价中,各个卖出策略报价与对应最低档位的卖出市场报价的价差,或各个买入策略报价与对应最高档位的买入市场报价的价差,生成报价价差分布表;以及
获取预设时间段内所述量化报价策略模型输出的多个卖出策略报价或买入策略报价,以及各个卖出策略报价对应的多个档位的卖出市场报价和各个买入策略报价对应的多个档位的买入市场报价;计算各个卖出策略报价与对应最低档位的卖出市场报价的价差,或各个买入策略报价与对应最高档位的买入市场报价的价差;根据各个卖出策略报价与对应最低档位的卖出市场报价的价差,确定多个卖出价差范围,并计算各个卖出价差范围对应卖出策略报价的数量占比;或根据各个买入策略报价与对应最高档位的买入市场报价的价差,确定多个买入价差范围,并计算各个买入价差范围对应买入策略报价的数量占比;根据各个卖出价差范围对应卖出策略报价的数量占比,生成卖出报价价差概率分布表;或根据各个买入价差范围对应买入策略报价的数量占比,生成买入报价价差概率分布表。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述量化报价策略模型的测试方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至4任一项所述量化报价策略模型的测试方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910800724.7A CN110490671B (zh) | 2019-08-28 | 2019-08-28 | 量化报价策略模型的测试方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910800724.7A CN110490671B (zh) | 2019-08-28 | 2019-08-28 | 量化报价策略模型的测试方法、系统及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110490671A CN110490671A (zh) | 2019-11-22 |
CN110490671B true CN110490671B (zh) | 2022-08-12 |
Family
ID=68553598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910800724.7A Active CN110490671B (zh) | 2019-08-28 | 2019-08-28 | 量化报价策略模型的测试方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110490671B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111429236B (zh) * | 2020-04-21 | 2023-08-08 | 重庆新致金服信息技术有限公司 | 做市商成交模式的交易系统及方法 |
CN111488227B (zh) * | 2020-04-28 | 2023-06-23 | 浙江网商银行股份有限公司 | 一种数据接入方法和系统 |
CN111625467B (zh) * | 2020-06-03 | 2021-08-03 | 深圳华锐金融技术股份有限公司 | 自动化测试方法、装置、计算机设备和存储介质 |
CN112148782B (zh) * | 2020-09-24 | 2023-01-20 | 建信金融科技有限责任公司 | 市场数据接入方法及装置 |
CN112380472A (zh) * | 2020-11-13 | 2021-02-19 | 浪潮电子信息产业股份有限公司 | 一种基于Redis的可视化视图方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201303781A (zh) * | 2011-07-05 | 2013-01-16 | Wei-Cheng Chung | 智慧交易策略建立系統 |
CN109191168A (zh) * | 2018-07-18 | 2019-01-11 | 安徽电力交易中心有限公司 | 一种基于预挂牌月平衡方式的发电商报价决策方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8874479B2 (en) * | 2012-12-06 | 2014-10-28 | Miami International Securities Exchange, LLC | Systems and methods for testing a financial trading system |
US20160125533A1 (en) * | 2014-10-30 | 2016-05-05 | Gordian Innovative Technologies, Limited | System and method for simulating a live trading market |
CN107632930A (zh) * | 2017-09-06 | 2018-01-26 | 南京南瑞继保电气有限公司 | 一种电力交易系统的测试方法、装置、仿真器和计算机存储介质 |
CN207490985U (zh) * | 2017-09-07 | 2018-06-12 | 厦门宽投信息科技有限公司 | 一种电子交易策略测试设备 |
CN107578334B (zh) * | 2017-09-07 | 2022-07-12 | 张毅 | 一种电子交易策略的执行方法和分布式交易系统 |
CN108765149B (zh) * | 2018-05-11 | 2021-10-19 | 南京工程学院 | 一种基于集群的量化策略回测系统及其回测方法 |
CN109345050A (zh) * | 2018-08-01 | 2019-02-15 | 平安科技(深圳)有限公司 | 一种量化交易预测方法、装置及设备 |
CN109615531A (zh) * | 2018-12-18 | 2019-04-12 | 厦门依实信息科技有限公司 | 证券市场量化投资策略的精准回测与评估系统及方法 |
CN109816480A (zh) * | 2018-12-29 | 2019-05-28 | 广州兴森快捷电路科技有限公司 | 一种提升提取报价参数准确率的方法及装置 |
-
2019
- 2019-08-28 CN CN201910800724.7A patent/CN110490671B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201303781A (zh) * | 2011-07-05 | 2013-01-16 | Wei-Cheng Chung | 智慧交易策略建立系統 |
CN109191168A (zh) * | 2018-07-18 | 2019-01-11 | 安徽电力交易中心有限公司 | 一种基于预挂牌月平衡方式的发电商报价决策方法 |
Non-Patent Citations (1)
Title |
---|
非对称信息与金融资产价格研究;王燕等;《情报科学》;20040725(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110490671A (zh) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110490671B (zh) | 量化报价策略模型的测试方法、系统及装置 | |
JP6757781B2 (ja) | 通信レイテンシー平準化装置、方法、およびシステム | |
JP6682514B2 (ja) | 半公開市場のためのシステム及び方法 | |
JP5647187B2 (ja) | 金融市場情報を管理するシステムおよび方法 | |
JP6619801B2 (ja) | ファシリテーションクロスオーダのためのシステム及び方法 | |
US8296221B1 (en) | Methods and systems related to securities trading | |
AU2019203081A1 (en) | Techniques for facilitating electronic trading | |
US20140149273A1 (en) | Market Microstructure Data Method and Appliance | |
US10445343B2 (en) | Systems and methods for data exchange and conversion | |
US10474692B2 (en) | Data conversion and distribution systems | |
US20200043094A1 (en) | System and Method for a Client Device Having a User Interface and Options Selection in the User Interface | |
US10891551B2 (en) | Projecting data trends using customized modeling | |
US8108290B2 (en) | Market sentiment indicator | |
US8768821B1 (en) | Computer-implemented system and method for providing summarization of spread and volume for securities order books | |
US20140279367A1 (en) | Method and System for Calculating and Utilizing Realized Spread in Financial Transactions | |
US20190251632A1 (en) | Transaction processing system performance evaluation | |
JP2013130936A (ja) | アルゴリズム取引マッチングシステム及びそれを備えたアルゴリズム取引統合マッチングシステム | |
US20150127580A1 (en) | Equalizer |
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 |