金融市场已经成为最早的采用机器学习(ML)的应用领域之一。20世纪80年代以来,人们一直在使用ML以发现市场上的规律。尽管ML在预测市场结果方面取得了诸多进展,但最近的深度学习并没有对金融市场的预测有显著提升。虽然深度学习和其他ML技术终于使Alexa,Google Assistant和Google Photos成为可能,但在股票市场上似乎没有取得多大进展。
许多研究者将机器学习应用于现实世界的金融预测问题。尽管有很多论文声称成功应用了深度学习模式,但我们还是持怀疑态度来看待这些结果。有些模型确实有更好的精度。然而,差异的量级往往还不够大。
NLP的改进有助于提高依赖文档分析的定量策略的有效性。这是在金融市场中深度学习模型的一个不可多得的好处。
所有这一切证实了金融市场本质上难以预测的事实。这里有很多原因让人难以预测。我们想强调一些使它变得困难的主要原因:
数据分布(Data Distribution)
数据分布问题至关重要——大多数做金融预测的研究论文都忽略了这一点。
我们可以将金融数据集与图像分类数据集进行对比,以更好地理解这一点。让我们考虑CIFAR-10数据集.它包括了10个类。每个类的训练集中有5000个图像,每个类的测试集中有1000个图像。
我们期望在识别物体训练中,比如我们需要训练模型识别汽车时,像素权重的分布与汽车分类测试集中的分布相似。换而言之,汽车的图像将包含在训练集以及测试集中的汽车。或者简单地说:汽车的图像必须包含汽车。
对于大多数金融数据集来说,这种明显的要求很难满足。我们将来可能看到的市场状况和我们目记录到的市场状况可能有诸多区别。事实上,处理未来和历史的差别是机器学习经常遇到的难题。除了确保测试和训练的数据集具有相似的分布以外,还必须确保只有当未来的数据遵循训练/验证的分布才适合在应用中,比如预测市场的走向时,使用训练过的模型。
虽然大多数研究者都注意不去把预测偏差纳入到他们的研究中,但许多研究者并未解决数据分布问题。
向前优化是解决这个问题的一种可能的选项。许多从业者使用这个方法,但是研究人员常常忘记提及。然而,即使是向前推进优化也不是解决潜在问题的灵丹妙药——它假设未来数据分布将是什么样的。这就是为什么向前优化的方法并不能真正给我们带来高精度的预测——它只是在实践中比较常用。
样本数量不足(Small Sample Sizes)
机器学习经常需要从小数据集做预测。一个例子是劳动力统计,例如失业率和非农业人口收入。我们每个月能得到一个数据点,也没有足够的历史数据。还有一个极端的例子是金融危机—只有少数几个数据点供我们借鉴,或者更极端的911事件,数据点只有一个。
这使得应用自动化的学习方法变得非常困难。许多人最终采取的一种途径是将不太频繁的统计数据与相对频繁的数据结合起来。例如,我们可以结合非农收入与每日股票收益率,并且把相结合的数据集提供给模型。然而,这样做往往需要进行大量的监督和修正工作,以消除对模型质量的怀疑。
难以计算的数据(Unquantifiable Data)
有人可能会说,我们金融市场历史的时间表同人类历史本身一样悠久。不幸的是,转换成量化的数据以让算法能理解的形式是比较困难的。例如,即使我们通过各种历史著述对1930年代大萧条期间发生的事情有一个全面的了解,也很难把它转化成一种可以用于自动化的学习过程的形式,因为当时对市场数据的保存与记录与现在非常不同。
过于复杂的模型(It’s Quite Complex)
各种各样的因素在不同的规模上驱动着资产价格:
· 高频交易和算法交易是短期内价格的主要驱动力(小于1天);
· 开盘价和收盘价都有自己的模式- 包括在股票和期货-这是我们经常研究的两个资产类别;
· 当涉及到多日的价格走势时,新闻和谣言可能成了主要驱动力。意料之外的公司新闻可以在任何时候不预先通知的情况下播报。另外,许多事件的时间表是事先知道的,比如公司的计划报表和宏观经济数据报告;
· 价值投资和经济周期在涉及年级别价格变化时可能更为重要。
不同领域的专家可以被请来联合研究不同规模的模型,但这也是一个难题。(联合专家团队是把不同时间级别模型进行组合的一个很常见的研究方法—几乎所有量化资产管理公司都采用。)
部分可见的马尔科夫决策过程(Partially Observable Markov Decision Process)
研究者乐于考虑把价格的时间序列作为部分可见马尔科夫决策过程(POMDP)。没有人在任何时间点都有完全的知识和信息。我们大多数情况下不知道明天会发生什么——但我们仍然要对交易做出决定。我们得到的信息非常少。同时,数据的分布也在不断变化。
研究者已尝试将强化学习方法应用于金融市场预测问题。不过很多时候我们把问题(即状态和行为空间)简化了,导致模型学不到有用的东西。很多研究者花了几个星期对于为什么模型不工作而进行各种调查和调试—结果可能是强化学习算法需要足够的可预测性。
推荐系统的相似性(Similarities to Recommender Systems)
机器学习技术可应用于非常广泛的领域。在所有这些中,研究者认为“推荐系统”是比较接近金融市场预测问题的。通过对比分析我们可以指出潜在问题的难点。例如金融推荐系统跟娱乐领域的推荐系统比较:
· 两者都有相对较低的精度.让我们考虑一下Netflix的例子。Netflix在主页上至少显示了20种电影选项。因此,对于每个建议,选择观看电影的用户的平均可能性小于1/20。有一个“小于号”,是因为用户可能只是不看任何东西就离开了。同样地,金融时间序列中的大多数涨跌分类问题的准确率已经徘徊在50%左右了。
· 两者的数据都有很多的噪音(noise).在这两种情况下,信噪比都很高。在金融时间序列里噪音的比例较高,因为我们都知道很多不同的因素同时在影响着价格。娱乐推荐系统也需要处理各种“噪音”,因为用户的浏览通常是受多种因素影响的-用户可以(仅仅因为无聊)访问五花八门的亚马逊产品页面,而完全无意从这些产品中购买任何东西—这就为我们的统计模型增添了大量噪音。
· 两者的数据集都有季节性。重要节日Amazon的购买模式将与一年的其它时间段不同。这同样可能出现在其他的领域,例如对电影或Youtube视频的挑选。金融市场数据也是有季节性的,最常见的季节性问题是经济周期以及大宗商品本身的供需季节性。
·两者都必须处理“前无古人”的“事件/商品”.亚马逊不断在其目录中添加新商品,Netflix不断充实其影视库,每一分钟都有大量新的视频都被上传到YouTube或其他视频网站上。推荐系统必须应对这个问题——如何推荐那些不是训练集一部分的商品。正如数据分布部分所提到的,金融市场数据也经常包含与模型训练期间可用的历史事件完全不同的事件。
· 两者都必须结合不同类型的数据进行模型训练. YouTube上有对各种类型数据的统计,比如离散类型的数据“最后N个看过的视频列表”,也有连续连续类型数据的统计“最后一个视频的观看时长”。同样,金融数据集可以由较高的频率价格以及较低的频率宏观经济数据组成。
结束部分的思考:
如果我们需要总结一下机器学习模型预测金融市场的困难,我们可以这样说,金融市场时间序列是一个部分信息博弈(POMDP)过程,甚至对于人类也是极具挑战的,我们不应该期望的机器和算法在这个领域突然超越人的能力。
我们现有的算法擅长的是发现一个相对固定的、“硬编码”的模式并应用。这是一把双刃剑,在有些场景很管用,在其他一些场景可能用处不大。机器学习在绝大多数的简单模式识别的实例都已经被详细讨论了也有不错的解决方案。而通过无监督学习在金融市场时间序列中识别各种模式,仍是研究者面临的重大挑战。
推荐阅读:
推荐阅读: