主要内容

机器学习统计套利III:培训、调优,和预测

这个示例使用贝叶斯优化算法交易模型来优化hyperparameters source监督的回报。这是一系列相关的一部分对机器学习的统计套利(见例子机器学习的应用)。

负载LOBVars.mat纳斯达克的预处理LOB数据集安全intel。

负载LOBVars

每个订单的数据集包含以下信息:到达时间t从午夜(秒),1级要价MOAsk,一级投标价格MOBid,反而使年代,不平衡指数

这个例子包含了一些支持功能,存储在万博1manbetxmatlabroot / /金融/数据/ LOBSupportingFi万博1manbetxles例子。查看它们,改变你的工作目录。

cd (fullfile (matlabroot,“例子”,“金融”,“数据”,“LOB万博1manbetxSupportingFiles”));

交易策略

贸易矩阵包含未来价格走势的概率,鉴于目前和以前的状态ρ限制的订单(LOB)不平衡指数价格和最新的观察方向DS

视图支持函数万博1manbetxtradeOnQ.m,实现了一个简单的基于模式的交易策略

函数现金= tradeOnQ(数据、问、n, n)%参考:机器学习统计套利%第二部分:特征工程和模型发展%的数据t = Data.t;MOBid = Data.MOBid;MOAsk = Data.MOAsk;%的国家(ρ,DS) = getStates(数据、n, n);%开始交易现金= 0;资产= 0;%活跃交易T =长度(T);tt = 2: sn%交易蜱虫%得到Q行、列索引的当前状态行=ρ(tt-1) + n * (DS (tt-1) + 1);downColumn =ρ(tt);upColumn =ρ(tt) + 2 * n;%如果预测价格向下移动如果问(行,downColumn) > 0.5现金=现金+ MOBid (tt);%出售资产=资产- 1;%如果预测价格上涨elseif问(行,upColumn) > 0.5现金=现金——MOAsk (tt);%买资产=资产+ 1;结束结束%的交易(清算位置)如果现金资产> 0 =现金+资产* MOBid (T);%出售elseif现金资产< 0 =现金+资产* MOAsk (T);%买回结束

该算法使用的预测在每一秒决定交易。它说明了任何的一般机制优化的机器学习算法。

这种策略旨在获利预期价格变化使用市场订单联系(最好提供)一个分享在每一秒,如果套利机会出现。该战略可以扩大到更大的交易量。使用获得的条件概率,tradeOnQ函数接受这些行动之一:

  • 执行购买如果向上向前价格变化的概率大于0.5。

  • 执行销售如果一个向下的远期价格变化的概率大于0.5。

最后交易日,函数则停业在触摸的位置。

战略需要数据蜱虫倍t和相应的市场秩序,问价格MOBidMOAsk,分别。实时交易,提供的数据交换。这个例子将历史样本划分为评估策略培训(校准)和验证次级样本。验证子样品作为代理实时交易数据。策略取决于后,贸易矩阵本身,你估计你hyperparameter数量的选择。输入nN时hyperparameters调整优化策略。

Hyperparameters

连续时间马尔可夫模型,以及随之而来的贸易矩阵的值取决于四个hyperparameters:

  • λ- - - - - -用于计算不平衡指数的权重参数

  • ——使用的落后的蜱虫数量平均水平在平滑

  • numBins——垃圾箱的数量用于分区平滑对离散化

  • dS——转发蜱虫的数量用于转换价格年代到离散DS

一般来说,所有四个hyperparameters是可调的。然而,促进可视化,例子通过调优只减少了维度的数量numBinsN。示例:

  • 修复λ

  • 叶子numBins=n,在那里n是免费的改变

  • 使得车内外的窗口长度=dS=N,在那里N是免费的改变

限制不明显影响优化结果。二维参数的优化算法搜索空间(n,N)配置产生交易的最大回报。

培训和验证数据

机器学习需要估计的子样品和另一个的子样品评估hyperparameter选择。

指定一个断点将次级样本数据训练和验证。断点会影响评价的目标函数,本质上是另一个hyperparameter。然而,由于你不调整断点,这是外部的优化过程。

英国石油(bp) =圆((0.80)*长度(t));%使用80%的数据进行训练

通过收集数据的时间表tradeOnQ

Data =时间表(t, S,我,MOBid MOAsk);TData =数据(1:英国石油(bp):);%的训练数据VData =数据(bp + 1:最终,);%验证数据

交叉验证

交叉验证描述了各种各样的技术来评估培训结果(计算概括,预测可靠性、独立验证数据(在这里,有利可图的交易)。国旗问题的交叉验证的目的是训练的结果,如偏差和过度拟合。在交易策略的背景下,过度拟合指的时间依赖性,或非平稳。作为改变随着时间的推移,它变得不那么有效的预测未来的价格走势。的关键诊断问题的程度变化,以什么速度,在一个有限的交易。

培训和验证数据,指定hyperparameters和比较在两个次级样本。支持函数万博1manbetxmakeQ.m提供的步骤

%设置特定hyperparametersn = 3;我%的箱子数量N = 20;%的窗口长度%比较QsQT = makeQ (TData, n, n);QV = makeQ (VData, n, n);QTVDiff = QT - QV
QTVDiff =9×90.0070 0.0182 0.1198 -0.0103 -0.0175 -0.0348 0.0034 -0.0007 -0.0851 -0.0009 0.0176 0.2535 -0.0010 -0.0233 -0.2430 0.0019 0.0058 -0.0106 0.0184 0.0948 0.0835 -0.0195 -0.1021 -0.1004 0.0011 0.0073 0.0168 0.0462 0.0180 0.0254 -0.0512 -0.0172 0.0417 0.0050 -0.0009 -0.0671 0.0543 0.0089 0.0219 -0.0556 -0.0169 -0.0331 0.0013 0.0080 0.0112 0.1037 0.0221 0.0184 -0.1043 -0.0401 -0.0479 0.0006 0.0180 0.0295 0.0266 0.0066 0.0054 -0.0821 -0.0143 -0.0116 0.0555 0.0077 0.0062 0.0615 0.0050 0.0060 -0.0189 -0.0207 -0.0262 -0.0426 0.0157 0.0203 0.0735 0.0103 0.0090 -0.0788 -0.1216 -0.0453 0.0053 0.1113 0.0362

之间的差异QTQV出现轻微,虽然他们随在矩阵中的位置。识别交易效率低下,由于指数(市场),一个矩阵给出了交易提示(概率值> 0.5)和其他不。

不均匀性= (QT > 0.5 & QV < 0.5) | (QT 0.5 < 0.5 & QV >)
不均匀性=9 x9逻辑阵列0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

没有明显的出现在非均质性数据与给定hyperparameter设置。

的严重程度进行一个同质的假设是不清楚先天的从更全面的val,只能出现。统计测试是可用的,如中描述[4][5]为例。在实时交易中,滚动计算在合适大小的落后于训练数据可以提供最可靠的线索。这种方法也承认市场固有的非平稳。

机器学习

机器学习是指有效地执行任务的一般方法(例如,交易)的自动化通过检测模式(例如,计算),并根据数据做出推断。通常,数据是动态的,大到足以需要专门的计算技术。评价process-tuning hyperparameters描述数据和任务正在进行的直接表现。

除了处理大数据的挑战,评估的过程复杂,有时是黑盒,目标函数也具有挑战性。目标函数监督hyperparameter评估。首先计算的交易策略评估hyperparameter调优培训子样品,然后交易在一个评估子样品(实时)。目标是利润最大化或最小化负现金回来,适当限制的空间配置(n,N)。这个目标是一个典型的“昂贵的”目标函数。贝叶斯优化是一种机器学习适合这样的目标函数。其原理的优势之一是没有昂贵的导数的评估。实现贝叶斯优化,使用统计和机器学习工具箱™函数bayesopt

支持函数万博1manbetxoptimizeTrading.m使用bayesopt优化交易策略tradeOnQ

函数结果= optimizeTrading (TData VData)%的优化变量n = optimizableVariable (“numBins”,10 [1],“类型”,“整数”);N = optimizableVariable (“numTicks”,50 [1],“类型”,“整数”);%目标函数处理f = @ (x) negativeCash (x, TData VData);%优化结果= bayesopt (f (n, n),“IsObjectiveDeterministic”,真的,“AcquisitionFunctionName”,“expected-improvement-plus”,“MaxObjectiveEvaluations”25岁的“ExplorationRatio”2,“详细”,0);结束% optimizeTrading%的目标(本地)函数损失= negativeCash (x, TData VData) n = x.numBins;N = x.numTicks;%让贸易矩阵QQ = makeQ (TData, n, n);%在问现金= tradeOnQ (VData, Q, n, n);%客观价值损失=现金;结束% negativeCash

优化交易策略通过训练和验证数据optimizeTrading

rng (0)%的再现性结果= optimizeTrading (TData VData);

图包含一个坐标轴对象。标题为目标函数的坐标轴对象模型包含5线类型的对象,表面轮廓。这些对象代表点,观察模型的意思是,下一个点,最小可行的模式。”width=

图包含一个坐标轴对象。坐标轴对象与标题最小目标和数量的函数评估包含2线类型的对象。这些对象代表分钟观察目标,估计最小的目标。”width=

估计最低目标符合最低观察目标(单调搜索)。与衍生算法不同的是,bayesopt不收敛。试图找到全球最低,bayesopt继续探索,直到达到指定的迭代次数(25)。

通过获得最好的配置结果bestPoint

[校准,negReturn] = bestPoint(结果,“标准”,“min-observed”)
校准=1×2表numBins numTicks ________ 3 24
negReturn = -7100

分享每交易一个滴答,如执导最优策略使用(n,N)=(24)返回0.71美元在最后交易日的20%。修改交易量规模回报。

另一个优化器为昂贵的目标而设计的surrogateopt(全局优化工具箱)。它使用不同的搜索策略,可以更快地找到最佳状态,根据不同的目标。支持函数万博1manbetxoptimizeTrading2.m使用surrogateopt而不是bayesopt优化交易策略tradeOnQ

rng (0)%的再现性results2 = optimizeTrading2 (TData VData)

{“字符串”:“图优化函数包含一个坐标轴对象。坐标轴对象与标题最好:-7100现任:-7100电流:-5500包含4线类型的对象。这些对象代表最好,现任,随机样本,自适应样本。”,“泰克斯”:[],“乳胶”:[]}”width=

results2 =1×23个24

获得的结果与surrogateopt是一样的吗bayesopt结果。情节包含的信息搜索特定的进展surrogateopt算法。

计算通过最优hyperparameters和整个数据集makeQ

bestQ = makeQ(数据、3、24)
bestQ =9×90.3933 0.1868 0.1268 0.5887 0.7722 0.6665 0.0180 0.0410 0.2068 0.5430 0.3490 0.2716 0.4447 0.6379 0.6518 0.0123 0.0131 0.0766 0.6197 0.3897 0.3090 0.3705 0.5954 0.6363 0.0098 0.0150 0.0547 0.1509 0.0440 0.0261 0.8217 0.8960 0.6908 0.0273 0.0601 0.2831 0.1900 0.0328 0.0280 0.7862 0.9415 0.8316 0.0238 0.0257 0.1404 0.2370 0.0441 0.0329 0.7391 0.9221 0.8745 0.0239 0.0338 0.0925 0.1306 0.0234 0.0101 0.7861 0.6566 0.4168 0.0833 0.3200 0.5731 0.1276 0.0169 0.0118 0.7242 0.6505 0.4712 0.1482 0.3326 0.5171 0.1766 0.0282 0.0186 0.7216 0.7696 0.6185 0.1018 0.2023 0.3629

贸易矩阵bestQ可以作为一个起点为下一个交易日。

总结

这个例子实现了优化交易策略开发的第一个两个相关的例子。可用数据分为训练和验证次级样本和使用,分别计算贸易矩阵和执行产生的交易算法。这个过程重复hyperparameter空间设置使用全局优化bayesoptsurrogateopt,这两个确定一个最优策略产生积极的回报。有许多选项的方法进一步定制。

引用

[1]牛,Adam D。“有效的全局优化算法的收敛速度。”机器学习研究杂志》上12日(2011年11月):2879 - 904。

[2]Rubisov,安东D。”统计套利使用限制订单不平衡。”多伦多大学硕士论文,2015年。

[3]杖鱼,碧玉,雨果Larochelle,瑞安·p·亚当斯。”实用机器学习贝叶斯优化算法”。在神经信息处理系统的进步25,2012年f·佩雷拉等人的编辑。

[4]Tan Barış,卡米尔Yılmaz。“马尔可夫链测试时间依赖和同质性:一个分析和实证评价。”欧洲运筹学杂志》上137年,没有。3(2002年3月):524 - 43。https://doi.org/10.1016/s0377 - 2217 (01) 00081 - 9

[5]Weißbach、拉斐尔和Ronja沃尔特。“似然比检测评级过渡的平稳性。”计量经济学杂志155年,没有。2(2010年4月):188 - 94。https://doi.org/10.1016/j.jeconom.2009.10.016

相关的话题