Meta-Labeling in Trading Model

综合标签Meta-Labeling如何改进交易策略模型


综合算法(ML算法)是Marcos Lopez de Prado的重要贡献,经过实际验证,在交易模型中,ML算法能显著提高预测的性能。

在构造交易模型时,我们除了需要知道买和卖的指令外,还需要知道买多少股,或者卖多少股。通常人们结合不同的模型,一个模型预测走向(买或者卖),另一个模型决定买和卖的数量。综合算法正是沿着这个思路出现的,结合两个模型的结果作为最终的预测信号。同时有效控制模型的误差,控制过度拟合,提高模型的性能。

综合标签最初是由 Marcos Lopez de Prado提出的。算法背后的逻辑和模型性能的度量有关。以简单的二类分类模型为例,模型的预测结果可以分为四类:真阳性(true positive TP),真阴性(true negative TN),假阳性(false positive FP),假阴性(false negative FN)。模型性能的改进其实是在权衡一类误差(假阳性)和二类误差(假阴性),通常的模型在改进TP的同时,一类误差也会增加。

模型性能有两个重要的度量:recall(或者称为sensitivity)和precision。他们的计算公式是:
recall=TP/(TP+FN),
precision=TP/(TP+FP)。

单独以recall或者precision作为模型性能的度量都是片面的,机器学习的目的应该是提高F1的得分,而F1是precision和recall的调和平均:
F1=2*(precison*recall)/(precision+recall)

综合算法通过以下方式提高模型的F1分数:首先建立一个主要模型(prime model)获得较高的recall得分,此时的precision得分可能比较低;然后通过综合标签算法建立第二个模型(meta model),对第一个模型的precision进行调整。换言之,综合算法对第一个模型的预测(阳性指标)进行过滤,减少其中的假阳性部分。

综合模型的使用应用了分层模型结构,使得机器学习模型的结构变得更接近白盒子。在交易模型的例子中,使用综合模型将市场方向的预测(买或者卖)和交易数量(买多少或者卖多少)的预测分开,使得构造复杂的模型成为可能。

模型构造步骤

第一步,建立主要机器模型(prime model),目标是获得较高的recall得分。在交易策略中常用的模型有SVM,neural network,统计模型,甚至是基本面分析模型。这一步只预测交易的方向,即买或者卖,是一个分类模型。

第二步,利用ROC曲线设定一个阈值使得主要模型有较高的recall得分。值得注意的是,此时模型有较高的recall得分,但同时可能有较高的false negative误差率。不用担心,之后综合标签会纠正这个误差。

第三步,将主要模型的特征值和预测值整合,构造新的特征值,作为第二个模型即综合模型的特征值。同时将综合标签作为第二个模型的标签。关于综合标签的定义,以交易策略为例:如果主要模型的预测符合真实值(符合TP或者TN),综合标签设为1(即交易),否则设为0(即不交易)。选择第二个模型的时候,如果使得模型能同时产生预测结果的概率,这个概率可以作为估算买卖单位(例如股数)的基础。

第四步,两个模型的预测信号结合使用,作为最终的预测信号。比如,当主要模型的预测信号为买入,并且综合模型认为这个预测信号具有较高的概率,用户才会最终决定买入。