用“机器学习”的方法去学习股价涨跌 — 这个问题已经被无数的人思考,并且实践过了。但不意味着没有价值。

这个问题其实可以分为两个部分:
1. 股市可以预测吗?
2. 假如可以预测,用机器学习的方法去预测可以吗?

先回答第一个:股市的涨跌可以预测吗?
股市的价格变化,事实就是一个随时间变化的序列。
Price = Market(t)
只要把这个函数写出来就可以预测股价了。这个函数是什么样子的? 我们可以尝试用N个模型(线性,非线性, 概率)来进行逼近。如果股价的变化是符合这几个模型的,那么在有足够多的训练数据的情况下,股价将被模拟出来。但是事实是,在尝试过许多许多模型的情况下,这些模型几乎没能预测股价的变化,有的模型只能在特定的区间能做一些不是十分精准的预测。

先讨论一下Reinforcement Learning, 这个算法基于马尔可夫性,从一个状态预测下一个状态,但是股价的涨跌具有强烈的马尔可夫性吗?也就是上一时刻的股价与下一个时刻的股价间有必然的联系吗?应该是不太大。这种基于N阶马尔可夫性的系统对于股价的分析很不利。而且假如只使用股价的历史数据进行模型的训练的话,准确度可以说几乎为0

影响股价的因素不仅仅是历史股价,还有更多的因素,公司的近况,股民对股票的态度,政策的影响等等。所以许多人会从这方面进行入手,用人工智能提供的快速计算能力,使用合适的模型,来量化这些因素,例如, (政策X出台, 可能会对股价造成变化y元)。

还有在一些有趣的预测股价方法大都有基于语义分析, 分析股民对某支股票的评论,对某个事件的情绪等等,以此来预测股价的涨跌。等等 当你的模型将所有的因素全都考虑进来, 那么股价的预测就唾手可得了。
股价 = f(政策因素, 公司情况,市场因素, 历史股价,上一年历史股价, 某个股民自杀的影响…)

这些因素到底有多少? 它们之间会如何影响,这才是问题的关键。在某些稳定的情况下,我们是可以做大概的预测的,但是有很多时候,会不准确,这是因为,你的模型 永远不可能把所有的 因素都考虑进来。而且你也不会知道 还会有什么因素会影响股价的波动。在这么多的因素,和因素与因素间还会产生互相影响的情况下。股价的模型将会变得极其复杂。如下图.

用人工智能计算股票的涨和跌可行吗?插图1

一个因素与一个因素之间的互相影响是 很可能被预测出来的,但是 假如它们之间产生了相互的影响,这时候整个系统就变得几乎不可预测了。一个因素发生变化,会造成好几个因素的变化,最后这几个因素又会反作用回来使上一个因素发生变化(直接的,间接的),股价变化一下子就变得虚无飘渺起来。一些微小的因素也可以通过这种系统无限的放大,最后给股市造成巨大的影响

也就是 在南美洲一只蝴蝶扇动她的翅膀也可能会对你的股价造成巨大的影响,这就是混沌现象
是不是预测股价是一点希望都没有了呢?
当然,在某些情况下可以认为 部分因素是稳定的(的确, 因为许多事件的影响是有延时的,在延时之间我们可以认为其不变),而且可以忽略掉一些影响较小的因素(假设它们乖乖的,不要调皮),所以幸运的话,我们的模型将变得稍微简单一点,这样,也许有时候我们就能得到一些令人开心的结果了。

所以LZ想要进行股价的预测的话,还是从分析各方面因素来入手。和前面各位说的一样,如果你的真的把历史数据做为 依据来建立了你的系统。那么 只能用来 给别人作为(历史股价)这个因素的参考。 真正的股价还得靠各方面信息综合起来考虑。

(自然界中还有许多无法预测的现象,欲知more, 请继续阅读..)

为什么股市的涨跌不容易被预测?
因为股市是一个有反馈的非线性系统,而股票的涨跌现象是一种混沌现象
混沌现象是一个目前仍不可预测的东西。(例如 奶牛身上的花纹形状,天气的变化,心跳的波形,人脑的运行, 海滩上乱石的现状,滩涂的形状等等都属于混沌现象,我们能略知其一二,却永远无法精确地预测)http://www.yyets.com/resource/29824(这个BBC的视频做了精彩的探讨)
但具体是为什么呢? 为什么有反馈的系统会造成了一种完全不可预测的状态变化?<这个有空再继续探讨>

— 完 —

本文作者:Pang Yunong

【知乎日报】
你都看到这啦,快来点我嘛 Σ(▼□▼メ)

此问题还有 27 个回答,查看全部。
延伸阅读:
Siri 属于语音识别还是人工智能?
如何认识和看待人工智能?人工智能的巅峰是什么?

分享到