CN112862013A - 一种量化交易策略的问题诊断方法及装置 - Google Patents

一种量化交易策略的问题诊断方法及装置 Download PDF

Info

Publication number
CN112862013A
CN112862013A CN202110350698.XA CN202110350698A CN112862013A CN 112862013 A CN112862013 A CN 112862013A CN 202110350698 A CN202110350698 A CN 202110350698A CN 112862013 A CN112862013 A CN 112862013A
Authority
CN
China
Prior art keywords
strategy
classification model
performance index
quantitative
bayesian classification
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.)
Pending
Application number
CN202110350698.XA
Other languages
English (en)
Inventor
皇甫晓洁
廖鸿存
周魁
许璟亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110350698.XA priority Critical patent/CN112862013A/zh
Publication of CN112862013A publication Critical patent/CN112862013A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • G06F18/24155Bayesian classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Accounting & Taxation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Finance (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请实施例提供一种量化交易策略的问题诊断方法及装置,可用于金融技术领域,其方法包括:首先获取量化交易策略运行过程中各事件运行时的性能指标参数;然后将各事件运行时的性能指标参数输入至一预设的贝叶斯分类模型,其中所述贝叶斯分类模型的输出为对应每个事件的问题诊断分类信息,所述贝叶斯分类模型是利用历史性能指标参数训练形成。本申请可以为策略的优化提供依据,极大地缩短策略优化时间,提高策略优化效率。

Description

一种量化交易策略的问题诊断方法及装置
技术领域
本申请涉及计算机技术领域,具体涉及量化交易策略的问题诊断方法及装置。
背景技术
量化交易员在进行量化交易策略开发的时候,通常自行搭建开发环境,大多由单台服务器运行;并且量化交易员往往缺乏丰富的策略编辑经验,策略在少量数据时表现良好,真正实盘运行接收大量数据时,往往可能由于某个或某几个处理方法复杂度过高而影响策略时效性,最终导致策略无法正常运行。在运行效率、策略有效性等方面均存在不足。具体地,例如自行搭建的系统,无法实现复杂的策略开发和回测,开发人员往往需要回避高性能开销的算法,对交易策略的准确性本身会造成一定程度的影响;开发完成策略后,无法有体系的评价策略运行的时效性和策略本身的有效性;开发出的策略存在的问题需要人为根据经验判断,无法自行判断并加以优化。
发明内容
针对现有技术中的问题,为了解决上述问题的至少一个,本申请提供一种量化交易策略的问题诊断方法及装置,可以为策略的优化提供依据,极大地缩短策略优化时间,提高策略优化效率。
为解决上述技术问题,本申请提供以下技术方案:
本申请的一个方面,提供一种量化交易策略诊断系统,包括:
策略编辑单元,用于编辑量化交易策略;
策略运行单元,采用历史数据对已编辑的量化交易策略进行量化操作,所述量化操作包括回测、仿真运行、实盘运行以及量化分析;
策略指标监控单元,用于监控量化操作过程中的性能和/或指标。
本申请的一个方面,提供一种量化交易策略的问题诊断方法,包括:
获取量化交易策略运行过程中各事件运行时的性能指标参数;
将各事件运行时的性能指标参数输入至一预设的贝叶斯分类模型,其中所述贝叶斯分类模型的输出为对应每个事件的问题诊断分类信息,所述贝叶斯分类模型是利用历史性能指标参数训练形成。
在优选的实施例中,还包括:
建立所述贝叶斯分类模型。
在优选的实施例中,所述贝叶斯分类模型基于朴素贝叶斯算法建立,训练所述贝叶斯分类模型的步骤,包括:
根据一训练样本集,确定所述贝叶斯分类模型输出结果的类别集合,并且获取每个类别的先验概率;
根据所述训练样本集,确定所述贝叶斯分类模型输入的性能指标属性集合,并且获取每个类别中各个性能指标属性的条件概率;所述训练样本集包括历史量化交易策略运行过程的性能指标参数和相对应的类别标签。
在优选的实施例中,所述性能指标参数包括中央处理器的使用率、单位时间内处理数据的数量以及内存的占用比例。
在优选的实施例中,所述问题诊断分类信息包括圈复杂度高、认知复杂度高、时间复杂度高以及空间复杂度高。
在优选的实施例中,还包括:
根据所述贝叶斯分类模型的输出对所述量化交易策略中对应各事件的策略信息进行优化。
本发明的又一方面,提供一种量化交易策略的问题诊断装置,包括:
获取模块,获取量化交易策略运行过程中各事件运行时的性能指标参数;
诊断模块,将各事件运行时的性能指标参数输入至一预设的贝叶斯分类模型,其中所述贝叶斯分类模型的输出为对应每个事件的问题诊断分类信息,所述贝叶斯分类模型是利用历史性能指标参数训练形成。
在优选的实施例中,还包括:
模型建立模块,建立所述贝叶斯分类模型。
在优选的实施例中,所述贝叶斯分类模型基于朴素贝叶斯算法建立,训练所述贝叶斯分类模型的步骤,包括:
类别概率获取单元,根据一训练样本集,确定所述贝叶斯分类模型输出结果的类别集合,并且获取每个类别的先验概率;
条件概率获取单元,根据所述训练样本集,确定所述贝叶斯分类模型输入的性能指标属性集合,并且获取每个类别中各个性能指标属性的条件概率;所述训练样本集包括历史量化交易策略运行过程的性能指标参数和相对应的类别标签。
在优选的实施例中,所述性能指标参数包括中央处理器的使用率、单位时间内处理数据的数量以及内存的占用比例。
在优选的实施例中,所述问题诊断分类信息包括圈复杂度高、认知复杂度高、时间复杂度高以及空间复杂度高。
在优选的实施例中,还包括:
优化单元,根据所述贝叶斯分类模型的输出对所述量化交易策略中对应各事件的策略信息进行优化。
本发明的又一方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的量化交易策略的问题诊断方法。
本发明的又一方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的量化交易策略的问题诊断方法。
由上述技术方案可知,本申请提供的一种量化交易策略的问题诊断方法,方法包括:获取量化交易策略运行过程中各事件运行时的性能指标参数;将各事件运行时的性能指标输入至一预设的贝叶斯分类模型,其中所述贝叶斯分类模型的输出为对应每个事件的问题诊断分类信息,所述贝叶斯分类模型是利用历史性能指标参数训练形成。本发明可以为策略的优化提供依据,极大地缩短策略优化时间,提高策略优化效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是量化交易策略的问题诊断流程示意图。
图2是量化交易策略运行流程示意图。
图3是建立贝叶斯分类模型流程示意图。
图4是行情获取事件的CPU使用率。
图5是行情获取事件的每秒处理行情数据数量。
图6是行情获取事件的内存占用比例。
图7是量化交易策略的问题诊断装置结构示意图。
图8是贝叶斯分类模型建立模块结构示意图。
图9是本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请公开的量化交易策略的问题诊断方法及装置可用于计算机技术领域,也可用于除计算机技术领域之外的任意领域,本申请公开的测试数据生成方法及装置的应用领域不做限定。
量化交易是指以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种“大概率”事件以制定策略,极大地减少了投资者情绪波动的影响,避免在市场极度狂热或悲观的情况下作出非理性的投资决策。
目前量化交易策略的模型有很多,主要可分为两种。第一种是趋势判断型量化投资策略:判断趋势型是一种高风险的投资方式,通过对大盘或者个股的趋势判断,进行相应的投资操作。如果判断是趋势向上则做多,如果判断趋势向下则做空,如果判断趋势盘整,则进行高抛低吸。这种方式的优点是收益率高,缺点是风险大。一旦判断错误则可能遭受重大损失。所以趋势型投资方法适合于风险承受度比较高的投资者,在承担大风险的情况下,也会有机会获得高额收益,典型的模型有量化选股,量化择时等。第二种是波动率判断型量化投资策略:判断波动率型投资方法,本质上是试图消除系统性风险,赚取稳健的收益。这种方法的主要投资方式是套利,即对一个或者N个品种,进行买入同时并卖出另外一个或N个品种的操作,这也叫做对冲交易。这种方法无论在大盘哪个方向波动,向上也好,向下也好,都可以获得一个比较稳定的收益。在牛市中,这种方法收益率不会超越基准,但是在熊市中,它可以避免大的损失,还能有一些不错的收益。股指期货套利是在股票和股指期货之间的对冲操作,商品期货是在不同的期货品种之间,统计套利是在有相关性的品种之间,期权套利则是在看涨看跌期权之间的对冲。典型的模型有股指期货套利,统计套利等。
量化交易员在进行量化交易策略开发的时候,通常自行搭建开发环境,大多由单台服务器运行;并且量化交易员往往缺乏丰富的策略编辑经验,策略在少量数据时表现良好,真正实盘运行接收大量数据时,往往可能由于某个或某几个处理方法复杂度过高而影响策略时效性,最终导致策略无法正常运行。在运行效率、策略有效性等方面均存在不足。具体地,例如自行搭建的系统,无法实现复杂的策略开发和回测,开发人员往往需要回避高性能开销的算法,对交易策略的准确性本身会造成一定程度的影响;开发完成策略后,无法有体系的评价策略运行的时效性和策略本身的有效性;开发出的策略存在的问题需要人为根据经验判断,无法自行判断并加以优化。
本发明首先提供了一种量化交易策略诊断系统,包括:
策略编辑单元,用于编辑量化交易策略;
策略运行单元,采用历史数据对已编辑的量化交易策略进行量化操作,所述量化操作包括回测、仿真运行、实盘运行以及量化分析;
策略指标监控单元,用于监控量化操作过程中的性能和/或指标。
具体的,策略编辑单元主要用于编辑策略运行,提供了统一模板供策略编辑人员使用。因此,策略开发人员在编写策略时,只需关注策略本身的逻辑实现,而不需要关心策略上下游交互。
在优选的实施例中,还包括:行情处理单元,用于接收tick级行情;指令发送单元封装了统一的接口,用于对接不同的交易所;回报接收单元,用于接收交易所的不同回报类型,如挂单成功、挂单拒绝、撤单成功、撤单拒绝、部分成交、完全成交、订单失效等。正是有了这样统一的模板,指标计算和性能监控工作才得以展开。
策略监控单元包括策略指标监控单元和策略性能监控单元,策略指标监控单元主要用于监控策略运行过程中各项业务指标,该单元根据不同的产品类型制定了不同的模板,并为不同类型的模板计算不同的业务指标,如收益率、回撤、敞口等,用于评价策略有效性。具体的,当策略模板中的每一个事件被触发前,首先经过策略模板,例如接收到新的市场行情时,更新未实现损益指标,当接收到交易所成交明细回报时,更新敞口、已实现损益等。
策略性能监控单元用于监控策略运行过程中策略中主要处理模块对于各项软硬件消耗性能指标,如各个策略运行单元CPU使用率变化情况、CPU冲高情况、内存占用变化、每个处理单元的平均处理耗时、最大最小处理耗时等。并分析各项指标,以图表形式直观展示,给出每个模块的优化方向。
进一步的,在一些实施例中还包括:回测结果存放单元,用于存放策略运行结果、策略指标、策略性能分析结果,也为更深一步的分析提供数据支持。
在优选实施例中,行情处理单元用于接收tick级实时行情,为行情触发式。指令发送单元以api形式提供,供策略向下游——交易所或撮合模拟器发送指令。
回报接收单元用于处理策略可能接收到的各种返回报文,为回报触发式,回报接收单元根据不同的回报类型,又可分为挂单成功回报、挂单拒绝回报、撤单成功回报、撤单拒绝回报、部分成交回报、完全成交回报、订单失效回报。若没有回报则不会被触发。
进一步的,本发明提供的系统可以包括超时处理单元用于处理挂单超时和撤单超时事件,为超时事件触发式。
停止前处理单元用于处理策略即将停止前的事件,包括由于外部因素被动停止和策略内部逻辑主动停止,该单元为停止前自动调用。
在策略回测运行过程中,本发明分事件单元统计各项性能指标,统计指标包括:策略运行过程中,每个事件的CPU使用率、每个事件单元的每秒处理数据数 (TPS)、每个事件单元的内存占用。图3至图5示意性给出了策略运行一次回测后,各个性能指标统计图。
可以看出,本发明提供了一套量化交易策略业务指标和性能指标的监控和优化指导解决方案。多维度分析评价策略,能够在策略上实盘运行前,提前发现策略中存在的问题,并给出指导意见,提前解决。另外,本发明中指标计算和性能指标计算从架构上可扩展,能够扩展到其它金融领域,集成更多专家知识。
另一方面,本发明提供了一种量化交易策略的问题诊断方法,如图1所示,具体步骤包括:
S1:获取量化交易策略运行过程中各事件运行时的性能指标参数。
具体的,运行量化交易策略所述量化交易策略运行过程,如图2,主要包括以下事件:
行情获取事件:获取行情信息;
在具体的实施例中,所述行情信息可以为来自于交易所的实时行情数据信息,也可以为数据库中存储的历史行情数据信息。行情数据信息的具体内容根据交易类型的不同会有所区别,换言之,每种交易都有各自的行情数据,例如股票交易的行情数据包括上证指数,深证成指,基金交易的行情数据包括沪市基金指数,深市基金指数,黄金交易的行情数据包括国际金价,黄金K线。
交易指令计算事件:根据所述量化交易策略和所述行情信息,得到相应的交易指令;
具体的,利用所述量化交易策略对所述行情信息进行分析处理,进而得到当前行情下的交易指令,一般地,不同的交易类型有不同的交易指令,例如股票交易的交易指令为中国工商银行(601398)买入10000股,黄金交易的交易指令为单价367元/克买入10000克。
交易指令传输事件:向下游交易节点传输所述交易指令;
具体的,所述下游交易节点包括交易所和撮合模拟器。根据下游交易节点制定的传输数据接口格式,通过有线或者无线形式向下游交易节点传输交易指令。
交易结果获取事件:获取下游交易节点传输的交易结果。
具体的,下游交易节点根据交易指令进行交易操作后,会取得相应的交易结果,
例如挂单成功,挂单失败,撤单成功,撤单失败,部分成功,完全成功等。以上所述的策略运行的每一个步骤都是通过一个电子设备去执行的,所以策略的性能指标即评价运行策略的电子设备所消耗的资源量,例如中央处理器的使用率,单位时间内处理数据的数量,内存的占用比例。
对于所述性能指标参数的获取方法,不同的开发软件有着各自的监测工具,例如python语言是利用line-profiler工具获取程序运行时的中央处理器使用率,利用memery-profiler工具获取程序运行时的内存占用率,通过这些开发工具,可以获得策略运行过程的性能指标参数,并且将性能指标参数进行记录,便于后续处理。
S2:将各事件运行时的性能指标参数输入至一预设的贝叶斯分类模型,其中所述贝叶斯分类模型的输出为对应每个事件的问题诊断分类信息,所述贝叶斯分类模型是利用历史性能指标参数训练形成。
可以理解,策略的运行效果与运行策略的设备是密不可分的,如果策略模型的复杂度超出设备所能承载的范围,也会导致策略无法运行。为了使得策略能够稳健地运行,需要对其运行的性能进行诊断,根据诊断结果有针对性地来优化策略,起到事半功倍的效果。
在利用贝叶斯分类模型进行诊断之前,首先需要根据训练数据集来建立一个用于量化交易策略的问题诊断的贝叶斯分类模型。该模型的输入为策略运行过程中某一事件的性能指标参数,输出为对问题的判断分类结果,例如圈复杂度高,认知复杂度高,时间复杂度高,空间复杂度高等。生成所述贝叶斯分类模型的步骤,如图3,包括:
S201:根据一训练样本集,确定所述贝叶斯分类模型输出结果的类别集合,并且获取每个类别的先验概率。
S202:根据所述训练样本集,确定所述贝叶斯分类模型输入的性能指标属性集合,并且获取每个类别中各个性能指标属性的条件概率。
具体的,根据贝叶斯公式
Figure BDA0003002027050000081
其中P(B|A)是根据A参数值判断其属于类别B的概率,称为后验概率。P(B)是直接判断某个样本属于B的概率,称为先验概率。P(A|B)是在类别B中观测到A的概率,P(A)是在数据库中观测到A的概率。
对于贝叶斯网络分类的定义如下:假设x={a1,a2,a3,…,am}为一个待分类样本,而每个a为x的一个特征属性。有类别集合C={y1,y2,y3,…,yn}。根据待分类样本计算P(y1|x),P(y2|x),P(y3|x),…,P(yn|x)。如果 P(yk|x)=max{P(y1|x),P(y2|x),P(y3|x),…,P(yn|x)},则x∈yk
在计算P(y1|x),P(y2|x),P(y3|x),…,P(yn|x),如果各个特征属性是条件独立的,则根据贝叶斯定理有如下推导:
Figure BDA0003002027050000082
因为分母对于所有类别为常数,因为我们只要将分子最大化皆可。又因为假设各特征属性是条件独立的,所以有:
Figure BDA0003002027050000083
这种假设待分类项的各个属性相互独立的情况下,构造出来的分类算法就称为朴素的,即朴素贝叶斯算法,从上式中可知,对于朴素贝叶斯分类模型的生成,就是统计训练样本集中各类别的出现的先验概率P(yi)和估计各类别下各特征属性的条件概率P(aj|yi)。
在具体的实施例中,针对诊断模型输出的诊断结果,对交易策略进行优化。例如假设诊断结果为圈复杂度高,则可以通过使用三元表达式,合并条件表达式或去除非必要的else语句等方法进行优化。再例如诊断结果为时间复杂度高,也可以通过使用空间来换取时间的方式,以数组计算来取代for循环运算等。
结合一个具体的实施场景对本发明进行具体说明。
使用朴素贝叶斯分类模型对量化交易策略的问题进行诊断。输入模型的特征属性为策略运行过程中获取到的三个性能指标参数:CPU使用率,每秒处理数据量和内存占用率。如图4,5,6所示,图4是行情获取事件CPU使用率,图5是行情获取事件每秒处理数据量,图6是行情获取事件内存占用率。模型输出的诊断结果的分类类别有五类:正常(标记为C=0),圈复杂度高(标记为C=1),认知复杂度高(标记为C=2),时间复杂度高(标记为C=3)和空间复杂高(标记为C=4)。模型的训练数据集是历史运行策略的相关性能指标参数和通过人工对性能指标进行分析标注的诊断问题。例如人工分析出该策略存在圈复杂度高的问题,故分类类别标记为C=1。
假设训练数据集中共有1000条记录,其中标记为正常的有520条,标记为圈复杂度高的有60条,标记为认知复杂度高的有140条,标记为时间复杂度高的有 240条,标记为空间复杂度高的有40条。所以,通过该训练数量集获取到的各个分类类别的先验概率如表1所示。另一方面,输入模型的属性特征a1:CPU使用率,a2:每秒处理数据量,a3:内存占用率。分别给出各属性的划分:a1:{a1<=0.3, 0.3<a1<0.7,a1>=0.7},a2:{a2<=2,2<a2<7,a2>=7},a3:{a3<=0.05,0.05<a3<0.4, a3>=0.4}。根据训练数据集中数据,可以计算每个类别条件下各个特征属性划分的频率,如表1所示。至此,该贝叶斯分类模型已经生成。
表1概率表
Figure BDA0003002027050000091
Figure BDA0003002027050000101
下面我们使用上面训练得到的分类模型进行诊断,输入模型的三个策略性能指标参数分别为:CPU使用率为0.4,a2:每秒处理数据量5个行情,a3:内存占用率0.01。分别计算该待分类样本属于每个类别的概率如下:
P(C=0)P(x|C=0)=P(C=0)P(0.3<a1<0.7|C=0)P(2<a2<7|C=0)P(a3<0.05|C=0) =0.52*0.5*0.3*0.8=0.0624
P(C=1)P(x|C=1)=P(C=1)P(0.3<a1<0.7|C=1)P(2<a2<7|C=1)P(a3<0.05|C=1) =0.06*0.1*0.3*0.8=0.00144
P(C=2)P(x|C=2)=P(C=2)P(0.3<a1<0.7|C=2)P(2<a2<7|C=2)P(a3<0.05|C=2) =0.14*0.7*0.2*0.3=0.00588
P(C=3)P(x|C=3)=P(C=3)P(0.3<a1<0.7|C=3)P(2<a2<7|C=3)P(a3<0.05|C=3) =0.24*0.2*0.35*0.5=0.0084
P(C=4)P(x|C=4)=P(C=4)P(0.3<a1<0.7|C=4)P(2<a2<7|C=4)P(a3<0.05|C=4) =0.04*0.4*0.1*0.75=0.0012
由上述可知,该待分类样本属于C=0的概率最大,所以该待分类样本的类别应该为正常(C=0)。
描述可知,本发明提供的一种量化交易策略的问题诊断方法,可以为策略的优化提供依据,极大地缩短策略优化时间,提高策略优化效率。
从软件层面来说,本申请提供一种用于执行所述量化交易策略的问题诊断方法中全部或部分内容的量化交易策略的问题诊断装置的实施例,参见图7,所述量化交易策略的问题诊断装置具体包含有如下内容:
获取模块1:获取量化交易策略运行过程中各事件运行时的性能指标参数。
具体的,运行量化交易策略所述量化交易策略运行过程主要包括如下事件,如图2:
行情获取事件:获取行情信息;
在具体的实施例中,所述行情信息可以为来自于交易所的实时行情数据信息,也可以为数据库中存储的历史行情数据信息。行情数据信息的具体内容根据交易类型的不同会有所区别,换言之,每种交易都有各自的行情数据,例如股票交易的行情数据包括上证指数,深证成指,基金交易的行情数据包括沪市基金指数,深市基金指数,黄金交易的行情数据包括国际金价,黄金K线。
交易指令计算事件:根据所述量化交易策略和所述行情信息,得到相应的交易指令;
具体的,利用所述量化交易策略对所述行情信息进行分析处理,进而得到当前行情下的交易指令,一般地,不同的交易类型有不同的交易指令,例如股票交易的交易指令为中国工商银行(601398)买入10000股,黄金交易的交易指令为单价367元/克买入10000克。
交易指令传输事件,向下游交易节点传输所述交易指令;
具体的,所述下游交易节点包括交易所和撮合模拟器。根据下游交易节点制定的传输数据接口格式,通过有线或者无线形式向下游交易节点传输交易指令。
交易结果获取事件:获取下游交易节点传输的交易结果。
具体的,下游交易节点根据交易指令进行交易操作后,会取得相应的交易结果,例如挂单成功,挂单失败,撤单成功,撤单失败,部分成功,完全成功等。
以上所述的策略运行的每一个步骤都是通过一个电子设备去执行的,所以策略的性能指标即评价运行策略的电子设备所消耗的资源量,例如中央处理器的使用率,单位时间内处理数据的数量,内存的占用比例。
对于所述性能指标参数的获取方法,不同的开发软件有着各自的监测工具,例如python语言是利用line-profiler工具获取程序运行时的中央处理器使用率,利用memery-profiler工具获取程序运行时的内存占用率,通过这些开发工具,可以获得策略运行过程的性能指标参数,并且将性能指标参数进行记录,便于后续处理。
诊断模块2:将各事件运行时的性能指标参数输入至一预设的贝叶斯分类模型,其中所述贝叶斯分类模型的输出为对应每个事件的问题诊断分类信息,所述贝叶斯分类模型是利用历史性能指标参数训练形成。
可以理解,策略的运行效果与运行策略的设备是密不可分的,如果策略模型的复杂度超出设备所能承载的范围,也会导致策略无法运行。为了使得策略能够稳健地运行,需要对其运行的性能进行诊断,根据诊断结果有针对性地来优化策略,起到事半功倍的效果。
在利用贝叶斯分类模型进行诊断之前,首先需要根据训练数据集来建立一个用于量化交易策略的问题诊断的贝叶斯分类模型,称为建立模型模块。该模型的输入为策略运行过程中某一事件的性能指标参数,输出为对问题的判断分类结果,例如圈复杂度高,认知复杂度高,时间复杂度高,空间复杂度高等。如图8,生成所述贝叶斯分类模型主要包括:
类别概率获取单元:根据一训练样本集,确定所述贝叶斯分类模型输出结果的类别集合,并且获取每个类别的先验概率。
条件概率获取单元:根据所述训练样本集,确定所述贝叶斯分类模型输入的性能指标属性集合,并且获取每个类别中各个性能指标属性的条件概率。
具体的,根据贝叶斯公式
Figure BDA0003002027050000121
其中P(B|A)是根据A参数值判断其属于类别B的概率,称为后验概率。P(B)是直接判断某个样本属于B的概率,称为先验概率。P(A|B)是在类别B中观测到A的概率,P(A)是在数据库中观测到A的概率。
对于贝叶斯网络分类的定义如下:假设x={a1,a2,a3,…,am}为一个待分类样本,而每个a为x的一个特征属性。有类别集合C={y1,y2,y3,…,yn}。根据待分类样本计算P(y1|x),P(y2|x),P(y3|x),…,P(yn|x)。如果 P(yk|x)=max{P(y1|x),P(y2|x),P(y3|x),…,P(yn|x)},则x∈yk
在计算P(y1|x),P(y2|x),P(y3|x),…,P(yn|x),如果各个特征属性是条件独立的,则根据贝叶斯定理有如下推导:
Figure BDA0003002027050000122
因为分母对于所有类别为常数,因为我们只要将分子最大化皆可。又因为假设各特征属性是条件独立的,所以有:
Figure BDA0003002027050000123
这种假设待分类项的各个属性相互独立的情况下,构造出来的分类算法就称为朴素的,即朴素贝叶斯算法,从上式中可知,对于朴素贝叶斯分类模型的生成,就是统计训练样本集中各类别的出现的先验概率P(yi)和估计各类别下各特征属性的条件概率P(aj|yi)。
在具体的实施例中,针对诊断模型输出的诊断结果,对交易策略进行优化。例如假设诊断结果为圈复杂度高,则可以通过使用三元表达式,合并条件表达式或去除非必要的else语句等方法进行优化。再例如诊断结果为时间复杂度高,也可以通过使用空间来换取时间的方式,以数组计算来取代for循环运算等。
结合一个具体的实施场景对本发明进行具体说明。
使用朴素贝叶斯分类模型对量化交易策略的问题进行诊断。输入模型的特征属性为策略运行过程中获取到的三个性能指标参数:CPU使用率,每秒处理数据量和内存占用率。如图4,5,6所示,图4是行情获取事件CPU使用率,图5是行情获取事件每秒处理数据量,图6是行情获取事件内存占用率。模型输出的诊断结果的分类类别有五类:正常(标记为C=0),圈复杂度高(标记为C=1),认知复杂度高(标记为C=2),时间复杂度高(标记为C=3)和空间复杂高(标记为C=4)。模型的训练数据集是历史运行策略的相关性能指标参数和通过人工对性能指标进行分析标注的诊断问题。例如人工分析出该策略存在圈复杂度高的问题,故分类类别标记为C=1。
假设训练数据集中共有1000条记录,其中标记为正常的有520条,标记为圈复杂度高的有60条,标记为认知复杂度高的有140条,标记为时间复杂度高的有 240条,标记为空间复杂度高的有40条。所以,通过该训练数量集获取到的各个分类类别的先验概率如表1所示。另一方面,输入模型的属性特征a1:CPU使用率,a2:每秒处理数据量,a3:内存占用率。分别给出各属性的划分:a1:{a1<=0.3, 0.3<a1<0.7,a1>=0.7},a2:{a2<=2,2<a2<7,a2>=7},a3:{a3<=0.05,0.05<a3<0.4, a3>=0.4}。根据训练数据集中数据,可以计算每个类别条件下各个特征属性划分的频率,如表1所示。至此,该贝叶斯分类模型已经生成。
下面我们使用上面训练得到的分类模型进行诊断,输入模型的三个策略性能指标参数分别为:CPU使用率为0.4,a2:每秒处理数据量5个行情,a3:内存占用率0.01。分别计算该待分类样本属于每个类别的概率如下:
P(C=0)P(x|C=0)=P(C=0)P(0.3<a1<0.7|C=0)P(2<a2<7|C=0)P(a3<0.05|C=0) =0.52*0.5*0.3*0.8=0.0624
P(C=1)P(x|C=1)=P(C=1)P(0.3<a1<0.7|C=1)P(2<a2<7|C=1)P(a3<0.05|C=1) =0.06*0.1*0.3*0.8=0.00144
P(C=2)P(x|C=2)=P(C=2)P(0.3<a1<0.7|C=2)P(2<a2<7|C=2)P(a3<0.05|C=2) =0.14*0.7*0.2*0.3=0.00588
P(C=3)P(x|C=3)=P(C=3)P(0.3<a1<0.7|C=3)P(2<a2<7|C=3)P(a3<0.05|C=3) =0.24*0.2*0.35*0.5=0.0084
P(C=4)P(x|C=4)=P(C=4)P(0.3<a1<0.7|C=4)P(2<a2<7|C=4)P(a3<0.05|C=4) =0.04*0.4*0.1*0.75=0.0012
由上述可知,该待分类样本属于C=0的概率最大,所以该待分类样本的类别应该为正常(C=0)。
由以上描述可知,本发明提供的一种量化交易策略的问题诊断装置,可以为策略的优化提供依据,极大地缩短策略优化时间,提高策略优化效率。
从硬件层面来说,本申请提供一种用于实现量化交易策略的问题诊断方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
图9为本申请实施例的电子设备9600的系统构成的示意框图。如图9所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图9是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
在一实施例中,量化交易策略的问题诊断功能可以被集成到中央处理器中。
其中,中央处理器可以被配置为进行如下控制:
S1:获取量化交易策略运行过程中各事件运行时的性能指标参数。
S2:将各事件运行时的性能指标参数输入至一预设的贝叶斯分类模型,其中所述贝叶斯分类模型的输出为对应每个事件的问题诊断分类信息,所述贝叶斯分类模型是利用历史性能指标参数训练形成。
从上述描述可知,本申请实施例提供的电子设备,可以为策略的优化提供依据,极大地缩短策略优化时间,提高策略优化效率。
在另一个实施方式中,量化交易策略的问题诊断装置可以与中央处理器9100 分开配置,例如可以量化交易策略的问题诊断装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现量化交易策略的问题诊断功能。
如图9所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图9中所示的所有部件;此外,电子设备9600还可以包括图9中没有示出的部件,可以参考现有技术。
如图9所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机) 9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131 提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的量化交易策略的问题诊断方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的量化交易策略的问题诊断方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S1:获取量化交易策略运行过程中各事件运行时的性能指标参数。
S2:将各事件运行时的性能指标参数输入至一预设的贝叶斯分类模型,其中所述贝叶斯分类模型的输出为对应每个事件的问题诊断分类信息,所述贝叶斯分类模型是利用历史性能指标参数训练形成。
从上述描述可知,本申请实施例提供的计算机可读存储介质,可以为策略的优化提供依据,极大地缩短策略优化时间,提高策略优化效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图1个流程或多个流程和/或方框图1个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图1个流程或多个流程和/或方框图1个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图1个流程或多个流程和/或方框图1个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (15)

1.一种量化交易策略诊断系统,其特征在于,包括:
策略编辑单元,用于编辑量化交易策略;
策略运行单元,采用历史数据对已编辑的量化交易策略进行量化操作,所述量化操作包括回测、仿真运行、实盘运行以及量化分析;
策略监控单元,用于监控量化操作过程中的性能和/或指标。
2.一种量化交易策略的问题诊断方法,其特征在于,包括:
获取量化交易策略运行过程中各事件运行时的性能指标参数;
将各事件运行时的性能指标参数输入至一预设的贝叶斯分类模型,其中所述贝叶斯分类模型的输出为对应每个事件的问题诊断分类信息,所述贝叶斯分类模型是利用历史性能指标参数训练形成。
3.根据权利要求2所述的量化交易策略的问题诊断方法,其特征在于,还包括:
建立所述贝叶斯分类模型。
4.根据权利要求3所述的量化交易策略的问题诊断方法,其特征在于,所述贝叶斯分类模型基于朴素贝叶斯算法建立,训练所述贝叶斯分类模型的步骤,包括:
根据一训练样本集,确定所述贝叶斯分类模型输出结果的类别集合,并且获取每个类别的先验概率;
根据所述训练样本集,确定所述贝叶斯分类模型输入的性能指标属性集合,并且获取每个类别中各个性能指标属性的条件概率;所述训练样本集包括历史量化交易策略运行过程的性能指标参数和相对应的类别标签。
5.根据权利要求2所述的量化交易策略的问题诊断方法,其特征在于,所述性能指标参数包括中央处理器的使用率、单位时间内处理数据的数量以及内存的占用比例。
6.根据权利要求2所述的量化交易策略的问题诊断方法,其特征在于,所述问题诊断分类信息包括圈复杂度高、认知复杂度高、时间复杂度高以及空间复杂度高。
7.根据权利要求2所述的量化交易策略的问题诊断方法,其特征在于,还包括:
根据所述贝叶斯分类模型的输出对所述量化交易策略中对应各事件的策略信息进行优化。
8.一种量化交易策略的问题诊断装置,其特征在于,包括:
获取模块,获取量化交易策略运行过程中各事件运行时的性能指标参数;
诊断模块,将各事件运行时的性能指标参数输入至一预设的贝叶斯分类模型,其中所述贝叶斯分类模型的输出为对应每个事件的问题诊断分类信息,所述贝叶斯分类模型是利用历史性能指标参数训练形成。
9.根据权利要求8所述的量化交易策略的问题诊断装置,其特征在于,还包括:
模型建立模块,建立所述贝叶斯分类模型。
10.根据权利要求9所述的量化交易策略的问题诊断装置,其特征在于,所述贝叶斯分类模型基于朴素贝叶斯算法建立,训练所述贝叶斯分类模型的步骤,包括:
类别概率获取单元,根据一训练样本集,确定所述贝叶斯分类模型输出结果的类别集合,并且获取每个类别的先验概率;
条件概率获取单元,根据所述训练样本集,确定所述贝叶斯分类模型输入的性能指标属性集合,并且获取每个类别中各个性能指标属性的条件概率;所述训练样本集包括历史量化交易策略运行过程的性能指标参数和相对应的类别标签。
11.根据权利要求8所述的量化交易策略的问题诊断装置,其特征在于,所述性能指标参数包括中央处理器的使用率、单位时间内处理数据的数量以及内存的占用比例。
12.根据权利要求8所述的量化交易策略的问题诊断装置,其特征在于,所述问题诊断分类信息包括圈复杂度高、认知复杂度高、时间复杂度高以及空间复杂度高。
13.根据权利要求8所述的量化交易策略的问题诊断装置,其特征在于,还包括:
优化单元,根据所述贝叶斯分类模型的输出对所述量化交易策略中对应各事件的策略信息进行优化。
14.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述的量化交易策略的问题诊断方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6任一项所述的量化交易策略的问题诊断方法。
CN202110350698.XA 2021-03-31 2021-03-31 一种量化交易策略的问题诊断方法及装置 Pending CN112862013A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110350698.XA CN112862013A (zh) 2021-03-31 2021-03-31 一种量化交易策略的问题诊断方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110350698.XA CN112862013A (zh) 2021-03-31 2021-03-31 一种量化交易策略的问题诊断方法及装置

Publications (1)

Publication Number Publication Date
CN112862013A true CN112862013A (zh) 2021-05-28

Family

ID=75992011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110350698.XA Pending CN112862013A (zh) 2021-03-31 2021-03-31 一种量化交易策略的问题诊断方法及装置

Country Status (1)

Country Link
CN (1) CN112862013A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113554097A (zh) * 2021-07-26 2021-10-26 北京市商汤科技开发有限公司 模型量化方法、装置、电子设备和存储介质
CN114625805A (zh) * 2022-05-16 2022-06-14 杭州时代银通软件股份有限公司 一种回测配置方法、装置、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113554097A (zh) * 2021-07-26 2021-10-26 北京市商汤科技开发有限公司 模型量化方法、装置、电子设备和存储介质
CN114625805A (zh) * 2022-05-16 2022-06-14 杭州时代银通软件股份有限公司 一种回测配置方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
US10931540B2 (en) Continuous data sensing of functional states of networked computing devices to determine efficiency metrics for servicing electronic messages asynchronously
US7669180B2 (en) Method and apparatus for automated risk assessment in software projects
JP2007502484A (ja) 不活性顧客を予測するための方法およびシステム
US11544721B2 (en) Supporting automation of customer service
CN112862013A (zh) 一种量化交易策略的问题诊断方法及装置
WO2021068513A1 (zh) 异常对象识别方法、装置、介质及电子设备
US11816687B2 (en) Personalized approach to modeling users of a system and/or service
CN107862425B (zh) 风控数据采集方法、设备、系统及可读存储介质
US20230004979A1 (en) Abnormal behavior detection method and apparatus, electronic device, and computer-readable storage medium
CN111783873A (zh) 基于增量朴素贝叶斯模型的用户画像方法及装置
US20230351401A1 (en) Automated Rules Execution Testing And Release System
CN110471945A (zh) 活跃数据的处理方法、系统、计算机设备和存储介质
US11551120B2 (en) Systems and methods for predicting performance
CN114170002A (zh) 一种访问频次的预测方法及装置
CN110602207A (zh) 基于离网预测推送信息的方法、装置、服务器和存储介质
CN113590437B (zh) 一种告警信息处理方法、装置、设备和介质
US11847599B1 (en) Computing system for automated evaluation of process workflows
US20170109637A1 (en) Crowd-Based Model for Identifying Nonconsecutive Executions of a Business Process
CN107590012B (zh) 设备掉线原因分析方法及装置、存储介质、电子设备
CN109800933B (zh) 风险评估方法及装置、存储介质、电子设备
CN113590484B (zh) 算法模型服务测试方法、系统、设备及存储介质
CN113420165B (zh) 二分类模型的训练、多媒体数据的分类方法及装置
CN114003567A (zh) 数据采集的方法及相关装置
CN113934894A (zh) 基于指标树的数据显示方法、终端设备
CN112764957A (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