机器学习在量化金融领域的误用!
作者:euler
编译:高翊程 | 公众号翻译部
前言
近年来,机器学习技术和大数据工具在金融和投资界得到了广泛的应用。在这一成功之后,许多机器学习研究人员决定成立自己的资产管理公司,希望能从中分一杯羹。
这就引出了一个问题:大量的数据和计算能力是征服金融市场所需要的吗?在本文中,我们深入探讨了机器学习(ML)在金融领域的应用和误用。
两类机器学习
对于新手来说,所有的ML看起来都一样。然而,这两种方式有著明显的区别:一类是工业巨头开发的商业应用。比如谷歌、Facebook、亚马逊、Netflix、苹果、微软和特斯拉。这些公司有一个明确的目标:
创造出「预测」,即「黑匣子」:不关心是如何做出预测的,只要能做出最好的预测就可以。
当亚马逊为你推荐一本书时,「预测」系统并没有开发出一个有关人类行为的大致理论,以及在各种环境中可能有用的偏好。相反,「预测」系统挖掘大量的数据以找到一种模式,以某种方式选择一本你特别感兴趣的书。这是一种公众最熟悉的ML应用。
第二类是用于科学研究的ML,这涉及从美国劳伦斯伯克利国家实验室(LawrenceBerkeley National Laborator)和法国的INRIA等大型研究实验室的科学家,到世界各地大学的无数个人研究人员。这些研究人员所采用的ML技术的目标是非常不同的:分析数据,识别值得进一步研究的「有趣」现象,并最终产生更好的科学理论。一个好的研究科学家不会把金融科学理论替换为一个金融预言家。(这句话的意思是金融理论相较于演算法更加重要)科学的最终目的不是做出预测或推荐书籍,尽管预测对检验和验证理论很有用,但研究的最终目标是了解自然。
相反,「预测」系统使我们处于黑箱之中。,「预测」系统也不能增进知识,我们谁也不能在「预测」系统上建立知识、提炼知识或概括知识。我们可以有一个预言电场行为的「预测」系统,另一个预言磁场行为的「预测」系统,但仍然忽略了电磁学是一个单一物理现象这一基本事实。
为何金融预测系统失效了
有人可能会说,「预测」系统是一种理想的金融应用系统:投资者只想得到回报。他为什么要关注经济理论?问题在于,由于多种原因,投资是一种不能被「预测」系统有效解决的类型。
首先,「预测」系统在有数百万个独立样本的任务中蓬勃发展,演算法可以从中学习,新的数据集可以即时生成。你可以在数以百万计的人脸上训练一个演算法,而且还会有数以十亿计的人脸需要绘制。相比之下,金融时间序列通常较短且高度冗余(即是所谓的「多重共线性」:多重共线性是指线性回归模型中的解释变数之间由于存在精确相关关系或高度相关关系而使模型估计失真或难以估计准确。一般来说,由于经济数据的限制使得模型设计不当,导致设计矩阵中解释变数间存在普遍的相关关系。完全共线性的情况并不多见,一般出现的是在一定程度上的共线性,即近似共线性)。
第二,ML演算法依赖于一种假设,这种假设常被金融时间序列所扰乱。例如,金融时间序列经常是非平稳的。在时间序列中,非平稳意味著在一定时期内其并不以「常数分布」为特征。非平稳是一个大问题,因为对于一个ML演算法,如果被学习的样本们是类似的,那么它只能学习到样本的特性。类比来说,我们训练演算法以识别猫脸,则它可能会给狗脸贴上一个错误的猫脸标签。
第三,由于套利的力量,金融市场的信号均衡率非常低。那些我们从中获利的竞争对手们(韭菜)要么学习,要么消失,导致利润来源的侵蚀。相比之下,自然法则并没有「被套利走」。
第四,在实验室里一边重复实验,一边改变环境变数的时候,确定特定的原因影响机制就成为了一种不可能。例如,我们不能通过添加和删除特定的参与者来数以千次的重复股灾事件以帮助我们找到原因。我们所拥有的只是在那一天所观察到的一个历史现象。
因此,「预测」系统在金融领域通常不是很有用。从Kaggle竞赛中提取一个演算法,将其插入一组金融时间序列,并期望它预测金融价格,这是最不明智的做法。在选择正确的金融问题时,有一种技巧可以帮助演算法解答。理论知识对于设定「符合现实的假设」与「一致性假设」是必不可少的。正确的准备数据和解释中间结果需要金融知识。
过拟合
许多ML研究人员根据「预测范式」来研究金融市场,仔细观察这些研究就可以发现这种方法的缺陷。例如,一家矽谷的初创公司最近发表了一篇博客文章和论文,该公司开发了金融市场的ML演算法,但其中却基本上没有经济理论做支撑。
这篇文章叫做:《金融市场的平稳性和记忆性》
https://medium.com/pit-ai-technologies/non-stationarity-and-memory-in-financial-markets-4b8d1200667c
简而言之,文章指出「在一个有限制的时间间隔(无论这个时间间隔有多长)内观察到一条路径,不可能检验时间序列是否非平稳。因此,你不应该相信任何平稳性测试。」
对于训练有素的数学家来说,这些大胆的声明会引发一些危险。平稳性测试是一种数学工具。在某些明确说明的情况下,它们被证明是有效的假设。但是,它并没有质疑金融假设的有效性,而是否定了测试本身的有效性。用他们自己的话说:
直观地说,平稳时间序列是一个局部特征随时间而保持不变的时间序列。因此,过去几十年来,它一直是计量经济学中的一个关键假设,因此人们常常认为,从业者在进行任何建模之前,至少在Box-Jenkins思想流派中,应首先使时间序列保持平稳。这并不奇怪,因为一个简单的原因,(二阶)平稳性,作为一个属性,不能从一个单一的有限样本路径被推翻。是的,继续阅读以了解原因。
大多数科学预测依赖于预测误差是固定的假设。因此,平稳性测试在所有科学领域都发挥著至关重要的作用。在数学证明中发现任何一个支撑这些测试的错误将是一个惊天动地的发现,也许不会在《纽约时报》的头版上获得一个标题,但仍然非常重要。但这怎么可能是真的呢?
发表上述文章的组织没有指出在数学证明中发现的任何错误。相反,它提供了一个如下侧所示的图。如果在一个大的平稳样本(红点)中给一个小的非平稳样本(蓝点),平稳性测试将错误地得出这个过程是非平稳的结论。