机器学习用于金融市场预测难在哪?-阿里云开发者社区

开发者社区> 【方向】> 正文

机器学习用于金融市场预测难在哪?

简介: 本文主要讲述了机器学习用于金融市场预测难在哪?——金融间序是典型的部分可见马尔科夫决策过程(POMDP)
+关注继续查看

ml_class_sketch.jpg

· 数据分布

· 小样本

· 难以计算的数据

· 十分复杂

· 部分可见马尔科夫决策过程

· 推荐系统的相似性

· 结束思索

金融市场已经成为最早的采用机器学习(ML)市场之一。20世纪80年代以来,人们一直在使用ML以发现市场上的规律。尽管ML在预测市场结果方面取得了巨大成功,但最近的深度学习并没有对金融市场的预测有多大帮助。虽然深度学习和其他ML技术终于使Alexa,Google AssistantGoogle Photos成为可能,但在股票市场上没有取得多大进展。

但是, 我将机器学习应用于现实世界的金融预测问题。尽管有很多论文声称成功应用了深度学习模式,但我还是持怀疑态度来看待这些结果。有些模型确实有更好的精度。然而,差异的量级往往还不够大。

NLP的改进有助于提高依赖文档分析的定量策略的有效性。这是在金融市场中深度学习模型的一个不可多得的好处。

所有这一切证实了金融市场本质上是不可预测的事实。这里有很多原因让人难以预测。我想强调一些使它变得困难的主要原因:

数据分布:

数据分布问题至关重要——几乎所有的做金融预测的研究论文都忽略了这一点。

我们可以将金融数据集与图像分类数据集进行对比,以更好地理解这一点。让我们考虑CIFAR-10数据集.它包括了10个类。每个类的训练集中有5000个图像,每个类的测试集中有1000个图像。

cifar10.jpg 

我们期望在狗分类的训练集中,像素权重的分布与狗分类测试集中的分布相似。换而言之,狗的图像将包含在训练集以及测试集中的狗。这比较傻的说明了:狗的图像必须包含狗。

对于大多数金融数据集来说,这种明显的属性没有效。你将来可能看到的和你目前看到的数据完全不同。事实上,将机器学习应用于现实世界是一个比较常见的问题。除了确保测试和训练的数据集具有相似的分布以外,还必须确保只有当将来的数据遵循训练/验证的分布才在产品里使用训练过的模型。

虽然大多数研究者都注意不去把预测偏差纳入到他们的研究中,但几乎每个人都不承认涉及数据分布问题。

向前优化是解决这个问题的一种可能的选项。这在从事者中是已知的,但是研究人员常常忘记提到这一点。然而,即使是向前推进优化也不是解决潜在问题的灵丹妙药——它假设未来数据分布将是什么样的。这就是为什么向前优化的方法并不能真正给你带来高精度——它只是比较实用。

小样本大小(Small Sample Sizes

机器学习经常需要从小数据集做预测。一个例子是劳动力统计,例如失业率和非农收入。每个月得到一个数据点,没有足够的历史数据。一个极端的例子是金融危机—只有一个数据点供我们借鉴。

这使得应用自动化的学习方法变得非常困难。许多人最终采取的一种途径是将不太频繁的统计数据与相对频繁的数据结合起来。例如,你可以结合非农收入与每日股票收益率,并且把相结合的数据集提供给模型。然而,往往需要进行大量的监督,以消除对模型质量的怀疑。

难以计算的数据(Unquantifiable Data

有人可能会说,我们金融历史的时间表同人类历史本身一样。不幸的是,转换成量化的数据以让算法能理解的形式是比较困难的。例如,即使我们对1930年代大萧条期间发生的事情有一个全面的了解,也很难把它转化成一种可以用于自动化的学习过程的形式。

十分复杂(It’s Quite Complex

各种各样的因素在不同的规模驱动着价格:

· 高频交易和算法交易是短期内价格的主要驱动力(小于1天)

· 开盘价和收盘价都有自己的模式- 包括在股票和期货-我所使用的两个资产类;

· 当涉及到多日线时,新闻和谣言是驱动力。详细的公司新闻可以在任何时候不预先通知的情况下发生。然而,某些事件的时间表是事先知道的,比如公司的计划报表和经济数据一览;

· 价值投资经济周期在涉及多年内价格变化时最为重要。

专家群可以被用来组合不同规模的模型,但这也是一个难题。(请注意,专家群是把相同规模的模型进行组合的一个很常见的技术—几乎所有定量资产管理公司都采用。)

部分可见马尔科夫决策过程Partially Observable Markov Decision Process

我乐于考虑把价格的时间序列作为部分可见马尔科夫决策过程(POMDP).没有人在任何时间点都有完整的图片。不知道明天会发生什么—但你仍然要对交易做出决定。你得到的信息非常少。同时,数据的分布也在不断变化。

我已尝试将强化学习方法应用于金融问题。即使我把问题(即状态和行为空间)简化了,也学不到有用的东西。我花了几个星期对于为什么不工作而进行调试—结果是RL算法需要足够的可预测性。

推荐系统的相似性Similarities to Recommender Systems

ML可应用于非常广泛的领域。在所有这些中,我发现推荐系统是最贴近金融预测问题的。对比来说提出了潜在问题的难点。跟娱乐Recsys系统比较,分析提出了潜在问题的难点。

· 两者都有相对较低的精度.让我们考虑一下Netflix的例子。Netflix在主页上至少显示了20种电影选项。因此,对于每个建议,选择观看电影的用户的平均可能性小于1/20。有一个“小于”的标志,因为用户可能只是不看任何东西就离开了。同样地,金融时间序列中的大多数二进制分类问题的准确率已经徘徊在50%左右了。

· 两者的数据都有很多的杂音(noise.在这两种情况下,信噪比都很高。在金融时间序列离杂音较高,因为很多不同的因素影响着价格。Recsys数据集包含杂音(PDF),因为用户的浏览通常是受影响的-用户可以访问特定的亚马逊产品页面,完全无意从这类产品中买任何东西—这就结束添加杂音(noise)了。

· 两者的数据集都有季节性.假期间Amazon的购买模式(即产品销售分销)将与今年其它时间段不同。同样适用于其它的Recsys问题,如电影的兴趣和YouTube视频的选择还取决于在全年的时间。金融数据也是季节性的,最常见的季节性问题是经济周期。

· 两者都必须处理看不见的“事件/商品”.亚马逊在其目录中添加新商品,不断增加Netflix标题到商品列表,每一分钟新的视频都被上传到YouTube。推荐系统必须解决这个问题——如何推荐那些不是训练集一部分的商品。正如数据分布部分所提到的,金融数据可以包含与模型训练期间可用的完全不同的事件。

· 两者都必须结合不同类型的数据进行模型训练. YouTube上有一些独立的功能,比如“最后N个看过的视频列表”,它也有连续的功能,比如“最后一个视频的观看时长”。同样,金融数据集可以由较高的频率价格以及较低的频率经济数字组成。

结束思考:

如果因为一件事你要离开这个岗位,应该这样:金融时间序列是一个部分信息博弈(POMDP),甚至对于人类也是很难的,我们不应该期望的机器和算法突然超越人的能力。

这些算法擅长的是发现一个硬编码的模式并应用,这是一把双刃剑,但有时可以有时不行。它帮助绝大多数的简单模式来识别实例都已经被详细讨论了。通过无监督学习在金融时间序列中识别模式的下一阶段仍然是一个难以实现的梦想。

本文由北邮@爱可可-爱生活 老师推荐,阿里云云栖社区组织翻译。

文章原标题《Why is machine learning in finance so hard? | Hardik Patel》

作者:Hardik Patel

译者:奥特曼,审校:袁虎。

文章为简译,更为详细的内容,请查看原文

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10059 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
2959 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
11605 0
使用SSH远程登录阿里云ECS服务器
远程连接服务器以及配置环境
2508 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12070 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13874 0
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
7479 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
7360 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
4498 0
+关注
【方向】
欢迎各位对内容方向及质量提需求,我们尽量满足,将国外优质的内容呈现给大家!
707
文章
5
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载