技术 | 基于机器学习算法失败的7个原因

前言:

在过去的20年里,我们看到金融行业出现了许多新面孔,但是不久之后就离开了。其中,将机器学习应用于金融交易关注度很高,但失败的例子也很多。

原因通常可以归结为7个常见的错误:

1.西西弗斯范式

2.整数微分

3.低效采样

4.标签错误

5.非IID样本加权

6.交叉验证疏漏

7.回测过拟合

 

(这篇文章主要基于此书 “Advances in Financial Machine Learning”)

 

错误类型1:SisypheanQuants徒劳无功的Quant们

 

竖井式方法——适用于有很大自由决定权的投资组合经理们有很大自由决定权的投资组合经理做出的投资决策不遵循特定的理论或严格的基本原理。

因为没有人完全理解他们赌注背后的逻辑,所以他们几乎不可以形成一个团队去工作,并发展形成超越最初直觉的更深刻的洞察力。

如果50名投资组合经理试图合作,那么他们将相互影响,直到最终49名经理都只跟随其中1位。

 

出于这个原因,投资公司要求有很大自由决定权的投资组合经理各自独立工作。各自独立工作可以防止一个项目经理影响其他项目经理,从而保护投资决策的分散性。

 

Quant经理们会在独立工作方法中失败之处

董事会会议室的思想理念是,让我们用跟与适用于有很大自由决定权的投资组合经理们相工作的方法去跟Quant一起工作。

让我们雇用50名博士,并要求他们每个人在6个月内生成出一个投资策略。

这种方法通常适得其反,因为每个博士都会疯狂地寻找投资机会并最终安定于这样的结果:

 

—  在过拟合回测中结果看起来不错的假阳性

—  标准因子模型——这是一个过度拥挤的策略,夏普指数低,但至少有学术支持。

这两个结果都会让投资委员会失望,并且这个项目也将被取消。

即使这50名博士中有5名发现了什么,他们也会退。
 

SisypheanQuants徒劳无功的Quant们,公司指导Quant们各自独立工作,或者让Quant们开发出个人战略,这是不可能的。

发现识别出新策略是需要团队共同努力的。
 

 

总战略范式(1/3)

制定一个真正的投资战略所涉及的复杂性是极具挑战性/使人感到有压力或无所适从的:

– 数据收集、监管、处理、结构化

– HPC基础设施

– 软件开发

– 特征分析

– 执行模拟器

– 回溯测试等

即使公司在这些领域为你提供共享服务,你就像一个宝马工厂的工人被要求在使用你周围所有的车间的条件下,独自生产出一个汽车整车。

– 一周你需要成为一名焊工大师,另一周你需要成为一名电工,另一周你需要成为一名焊工大师

机械工程师,另外一周是成为一名画家,...尝试,失败,然后循环回到一名焊接大师。这是一种徒劳无功的努力。

 

总战略范式(2/3)

制定一个真正的投资策略几乎和生产一百个投资策略花的精力是一样的

据我所知,每一家成功的量化公司都运用了总战略范式

你的公司必须建立一个研究工厂,在这里:

–装配线的任务被明确划分为各个子任务。

–对每个子任务的质量进行独立测量和监控。

–每个quant的角色是专注于特定的子任务,并成为在该领域最专业的一员,但同时对整个过程仍然持有一种全局性的看法。

这是伯克利实验室和其他美国国家实验室的在进行科学发现时的常规做法,例如向周期表中添加16种元素,或者为核磁共振成像和正电子断层扫描做准备工作:https://youtu.be/G5nK3B5uuY8
 

总战略范式(3/3)


 

错误类型2:整数微分

 

平稳性vs.记忆困境

为了进行推理分析,研究人员需要使用不变量过程,例如

– 价格收益(或对数价格的变化)

– 产量变化

– 波动性的变化

这些操作使该序列稳定,但代价是从原始序列中清除原始记忆。

记忆是模型预测能力的基础。

– 例如,平衡(稳态)模型需要一些记忆来评估价格过程已经偏离了长期预期值多远,以产生

进一步预测。

困境是

– 收益是稳定的,但是无存储

– 价格有记忆,但它们不是平稳的。

 

最佳静态记忆的权衡

问题: 在维持尽量多的记忆的同时,使得价格序列平稳的最小差分数是多少?

回答: 我们想将收益的概念一般化,以考虑平稳性序列,且并非所有记忆都被擦除。

在这个框架下,收益只是许多其他可能的价格转换中的一种(在大多数情况下是次优的)。

 


 

绿线: E-mini S&P 500 期货交易条,大小是1E4

蓝线:分数微分(d=0.4)

在很短的时间内,它类似回报

在更长的时间跨度内,它类似于价格水平

 

示例1:E-mini S&P 500期货


 


 

在x轴上,d值用于生成序列。在这个序列中,ADF统计值被计算出来。

在y轴左半边,原始系列(d= 0)和不同d数值下的微分级数的相关性。

在y轴右半边,ADF统计数据是根据对数价格计算的。

 

原始序列(d= 0)的ADF统计值为-0.3387,而收益序列(d= 1)的ADF统计值为-46.9114。

在95%的置信度下,测试的临界值是-2.8623。

ADF统计值超过阈值大约在d= 0.35附近,此时,相关性仍然很高(0.995)。

 

示例2:最佳FradDiff平稳性(1/2)

 


 

这些表格显示了全球流动性最强的期货合约的ADF统计数据。

每种金融工具占一行,每个微分值占一列。

绿色突出显示的是不拒绝单位根零假设的ADF值。

红色突出显示的是拒绝单位根零假设的ADF值。

 

示例2:最佳FradDiff平稳性(2/2)
 


 

大多数金融序列都可以用差分来变得平稳,d< 0.5。

然而,大多数金融研究都是基于回报的,d= 1。

 

错误类型3:低效采样

 

按时间顺序进行采样

信息不会以恒定的熵率到达市场。

按时间间隔采样数据意味着单个观察的信息内容远不是恒定不变的。

一种更好的方法是将观察结果作为交换信息量的次级过程进行采样:

–交易条

–音量条

–美元条

–波动或运算条

–不平衡订单条

–熵条。

 


 

示例2:采样频率

基于E-mini S&P 500期货计算的三种条线类型。

基于多个显微结构的原因,Tick bars往往表现出宽范围的采样频率。

Volume bars的采样频率通常与价格水平成反比。

一般来说,dollar bars往往表现出更稳定的采样频率。
 

下图为EWMA(指数加权移动平均值)方法计算下的数值

 

错误类型4. 标签错误
 

金融中的标签

几乎所有金融领域的ML论文都使用固定时间范围标记观察的方法。

考虑以下数据集的特征:
 


 

因为literature几乎总是与时间条一同起作用,h意味着一个固定的时间范围。

 

固定层位法的注意事项


 

以下是几个可以避免类似的错误标签的方法:

 


 

以下是两个更好的替代方法:

 


 

固定层位法的一个严重缺陷是它忽略了价格所遵循的路径。因此下面我们将采用三重屏障法来解决这个问题。

 

三重屏障法
 

建立一个能从现有的头寸中获利的战略是不现实的。因此其已经不再被基金、交易所或投资者采用。
 

三重屏障法根据第一层屏障标记观察结果。具体来说,有三个方法:

两个水平屏障由获利和止损限额定义,也就是估计波动率的动态函数(无论是已实现的还是隐含的)。

第三个是垂直屏障,定义为从该位置起经过的条数。
 

价格路径首先触及的障碍决定了选取何种标签:

–上方水平屏障:Lable1。

–下方水平屏障:Lable-1。

–垂直屏障:Lable0。
 


 

如何使用元标签

 

当您想要获得更高的F1分数时元标记特别有用:
 

首先,我们建立一个实现高召回率的模型,即使这一精度不是特别高。
 

其次,我们通过对主要模型识别的正类应用元标记来校正低精度。
 

元标记是你的武器库中非常强大的工具,原因主要有以下三个:

ML算法经常被批评为黑盒子,而元标记允许您在白盒上构建ML系统。

当您应用元标记时过度拟合的影响是有限的,因为ML不会决定你的赌注,只有大小。

在小赌注中实现高精度并在大赌注中实现低精度将会造成很大的损失。与识别好机会一样重要的是正确地确定它们的大小,因此开发一种机器学习算法是有意义的。该算法专注于使关键决策(大小调整)正确。

 

元标签应用于量化公司
 

无论是否为ML算法,你始终可以将元标签层添加到任何主要模型,例如计量经济学方程,技术交易规则,基础分析等。

这也包括对人基于直觉产生的一些预测。

在这种情况下元标签将帮助我们确定何时应该追求或拒绝酌情PM的电话。

此类应用了元标签的机器学习算法可以应用在从市场信息到生物统计学乃至心理评估等领域中。

元标签应成为主观策略型对冲基金的必备技术。在不久的将来,当每个主观策略对冲基金转型量化时,元标签可以为他们提供了一条明确的过渡之路。
 

错误类型5. 非IID样本加权


 

“溢出样本”问题(1/2)
 

大多数非金融ML研究人员可以认为他们观察的结果来自样本处理。 例如,您可以从样本患者里获取大量的血液样本中,并测量他们的胆固醇。

当然,各种潜在的公因子将改变平均值和标准胆固醇分布的偏差,但样品仍然是独立的:每个受试者都只有一个观察结果。
 

“溢出样本”问题(2/2)

 

就像医生需要在不确定每个患者的胆固醇水平下预测其高胆固醇的特征(饮食,运动,年龄等)。

这和我们在金融的机器学习领域面临的挑战相似。

1.标签由结果决定。

2.结果由多个观察结果决定。

3.由于标签在时间上重叠,我们无法确定观察到的特征造成了影响。
 

 

错误类型6. 交叉验证泄露

 

为什么交叉验证会在金融领域失败?
 

k-fold交叉验证在融资方面失败的一个原因是因为不能假设观察结果是从样本进程中提取而来。

当训练集中的信息也出现在测试集中时就会发生泄漏(Leakage)。

考虑与在重叠数据上形成的标签Y相关联的串联相关特征。

然后,将t和t + 1放在不同的集合中泄漏信息。

在存在不相关的特征的情况下,泄漏会导致错误的发现。

 


 

减少泄漏的一种方法是从训练集清除中清除其标记与测试集中包括的标签在时间上重叠的标记。我把这个过程称为清除。

 


 

由于金融领域的特征通常包含表现出序列相关性(如ARMA(Auto-Regressive and Moving Average)过程),因此我们应该从训练集中消除紧跟在测试集中观察的观察结果。 我把这个过程称为禁运。

 

该图显示了K-Fold CV的一个分区。测试装置被两个训练组包围,产生两个必须清除的重叠以防止泄漏。

 

为了进一步防止泄漏,在训练组测试后立刻观测结果。

 

错误类型7. 回测过拟合
 

y轴显示给定试验次数(x轴)的最大夏普比率(max SR)的分布。 较浅的颜色表示获得该结果的概率较高,而虚线表示预期值。 例如,在仅1,000次独立的回测后,预期的最大夏普比率(E max SR)为3.26,即使策略的真实夏普比率为零!
 


 

原因是回测中的过拟合:当选择偏差(选择最佳结果)在多次测试(运行许多替代配置)下发生时,该回测可能是错误的发现。 很多量化机构在交易过程中都发生过类似的错误。


 

缩小的夏普比率(1/2)


 


 

在控制多次试验的通胀效应,数据疏导,非正常收益和较短的样本长度后,收缩夏普比率计算夏普比率(SR)具有统计显着性的概率。

 

缩小的夏普比率(2/2)

 

 

标准SR是根据两个估计值计算的:

1.回报的平均值

2.退货的标准差。
 

DSR通过考虑五个额外变量(DSR里包含更多信息)来收缩SR::

1.返回γ3,γ4的非正态性

2.退货系列的长度????

3.疏导数量V????????????

4.参与发现战略的独立试验数量????

 

DSR可用于确定发现的策略是否为误报的概率。 关键是记录所有试验并正确确定有效独立试验的数量,K。