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

· 数据分布

· 小样本

· 难以计算的数据

· 十分复杂

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

· 推荐系统的相似性

· 结束思索

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

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

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

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

数据分布:

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

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

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

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

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

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

小样本大小(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

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


原文链接

干货好文,请关注扫描以下二维码:


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

  1. 机器学习在金融领域的应用:风险控制、投资策略与市场预测

    文章目录 机器学习在金融领域的应用:风险控制.投资策略与市场预测 引言 概念和术语介绍 金融风险控制 投资策略 市场预测 关键问题分析 问题解决方案核心原理讲解 数据准备和清洗 模型设计和训练 模型评 ...

  2. 经济数据预测 | Python实现机器学习(MLP、XGBoost)金融市场预测

    经济数据预测 | Python实现机器学习(MLP.XGBoost)金融市场预测 目录 经济数据预测 | Python实现机器学习(MLP.XGBoost)金融市场预测 基本介绍 程序设计 MLP X ...

  3. 机器学习在金融风控实践经验

    由于金融风控场景的特殊性,很多算法同学在刚进入这个领域容易"水土不服",为了使机器学习项目(也包括图算法相关的应用)落地更加顺利,本文介绍下实践过程的一些经验和踩过的坑. 金融风控 ...

  4. 水土不服?谈一谈机器学习在金融风控实践经验

    作者 | 风浪(已授权) 整理 | NewBeeNLP 由于金融风控场景的特殊性,很多算法同学在刚进入这个领域容易"水土不服",为了使机器学习项目(也包括图算法相关的应用)落地更加 ...

  5. 机器学习在金融风控的经验总结!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:风浪-知乎,来源:NewBeeNLP 由于金融风控场景的特殊性,很 ...

  6. Python与金融:为什么将Python用于金融

    1.3 用于金融的Python 1.2节介绍了科技在金融中发挥作用的一些领域: 金融行业中的科技成本: 作为新业务和创新业务引擎的科技: 作为金融行业进入门槛的科技: 不断提升的速度.频率和数据量: ...

  7. 做金融学r还是python_Python与金融:为什么将Python用于金融

    本节,我们分析Python如何帮助你应对这些方面的多种挑战.不过首先让我从更为基础的方面--语言和语法介绍用于金融的Python. 1.3.1 金融和Python语法 在金融环境中迈出使用Python ...

  8. 当前机器学习用于保险业和信用评分的可能性分析

    作者 | Daniel Faggella 编译 | CDA数据分析师 机器学习在金融领域的出现,让人们对使用AI自动执行从欺诈检测到客户服务的流程产生了强烈的兴趣. 尽管某些用例的确定性不如其他用例, ...

  9. 用于金融时序预测的神经网络:可改善经典的移动平均线策略

    北京 上海巡回站 | NVIDIA DLI深度学习培训 2018年1月26/1月12日 NVIDIA 深度学习学院 带你快速进入火热的DL领域 阅读全文                        ...

最新文章

  1. WebStorm Git 分支操作
  2. Centos6.8 搭建Tomcat服务器
  3. 代理上网后localhost使用不了,只能使用127.0.0.1解决
  4. HP-UX磁带备份错误收集
  5. python的range()和list操作
  6. Web Service 开发系列文章之三(一个较小的契约优先的Web Service例子,用JavaApplication发布)...
  7. jQuery核心函数的使用总结
  8. ActiveMQ 部署及发送接收消息
  9. linux 6中启动模式,linux6.x启动流程
  10. web sqlite linux,基于嵌入式Linux和Sqlite的Web服务器的研究及应用
  11. 字符串匹配问题 ----- KMP算法
  12. 实现鼠标放上高亮显示,鼠标移出显示原来的颜色
  13. Redis通过IO进行序列化+反序列化
  14. python命名空间,类成员,对象成员
  15. [环境搭建]-IIS 定时访问器.NETweb服务器长时间不访问页面加载速度慢
  16. JAVA三大框架入门
  17. 史上最完美将windows键盘映射成mac键盘,绝对不需要买HHKB了
  18. 数据库连接池——基本原理
  19. macOS如何查看pkg安装包中的内部文件
  20. Python 正则表达式提取文件后缀名

热门文章

  1. android震动服务能设置时长么,Android实现手机振动设置的方法
  2. 【LeetCode笔记】206. 反转链表(Java、迭代、递归、链表)
  3. 二元置信椭圆r语言_医学统计与R语言:多分类logistic回归HosmerLemeshow拟合优度检验...
  4. git配置全局用户名和密码_还在手动打包,手动传jar包?那你确实应该学一下jekins配置了...
  5. python selenium span内容读取_【程仁智推荐】Selenium自动化测试入门
  6. 线性代数拾遗(四):线性方程组的应用
  7. MV-LDL论文修改20211115(B-Y Rong)
  8. (pytorch-深度学习系列)pytorch中backwards()函数对梯度的操作
  9. gff3转mysql_科学网-把GFF3文件导入MySQL数据库-闫双勇的博文
  10. mongodb 导出txt_(干货)前端实现导出excel的功能