很多投资者都喜欢技术分析。所谓技术分析,本质上就是在研究过去股价走势的基础上对未来进行预测。今天,我们把技术分析的活交给计算机,用程序来预测下股市的未来走势,一起看看结果怎么样吧。

我们知道,技术分析是建立在三大假设之上的:一是市场价格包含一切;二是价格以趋势方式演变;三是历史会不断重演。
那么,有没有这样的计算机模型,能够捕捉过去的趋势,并在此基础上预测未来呢?答案是肯定的,科技巨头Facebook推出的Prophet模型就能够做到这一点。
Prophet在英语中是先知,预言家的意思,从名字来看我们就能够猜到模型的大致用途。实际上,Prophet模型的原理是分析各种时间序列特征,如周期性、趋势性、节假日效应,以及部分异常值,其充分的将业务背景知识和统计知识融合起来,让使用者可以用简单直观的参数进行高精度的时间序列预测。
好的,话不多说,一起来看看结果吧~
我们首先对上证指数进行预测,根据2017年9月至2020年3月之间的历史走势,预测未来一年内上证指数的运行轨迹。

这里黑色的点为实际值,蓝色的线为Prophet模型根据历史走势捕捉到的波动规律,其中2020年3月以后为预测值。

上图反映的是实际值和Prophet模型拟合值的差异,其中红线为上证指数的实际走势,蓝线为上证指数的拟合走势,可以发现,Prophet模型的拟合效果还是不错的,基本上和上证指数的实际走势保持一致。
这两幅图告诉我们,未来一年内上证指数大概率会在2500点到3000点之间波动。当然,这是完全不考虑外部环境变化,只根据历史走势得出的预测结果。
如果我们确定外部环境已经发生变化的话该怎么处理呢?
没关系,我们可以在历史走势图上加上趋势改变点,这样Prophet模型就会根据设定的趋势改变点去重新预测未来。比方说,我们设定趋势改变点为2019年1月4日(近三年上证指数的最低点),再来看看结果。

图中红色的虚线为趋势改变点(2019年1月4日),蓝色的线为Prophet模型根据历史走势捕捉到的波动规律,其中2020年3月以后为预测值。
如果我们认为上证指数的趋势在2019年1月4日后发生了明显变化,那么未来一年内上证指数大概率会在3000点到3600点之间波动。
我们还可以在模型中加多个趋势改变点,比方说增加2020年2月3日,因为从那天开始新冠病毒疫情改变了A股市场的外部环境等等。
Prophet模型不仅可以预测指数,还可以预测个股,只要有反映历史趋势的时间序列,预测都没问题。
最后把深证指数和创业板指数的预测结果展示下。注意,这也是完全不考虑外部环境变化,只根据历史走势得出的预测结果,仅供参考,不做为任何投资建议。
深证指数的预测结果

创业板指数的预测结果

文末附上Facebook公司有关Prophet模型的介绍地址,感兴趣的朋友可以一起做哦~
Facebook 博客:https://research.fb.com/prophet-forecasting-at-scale/
使用指南:https://facebookincubator.github.io/prophet/docs/quick_start.html
程序源文件:http://facebookincubator.github.io/prophet/