用深度学习做了下中国股市预测,结果是...

从这篇开始,我们的专栏将正式开始涉及人工智能领域。

人工智能常常用来解决分类和回归的问题。字母、语音、图像识别这些可以看做分类问题,而基于时间序列的预测就是一种回归分析。人工智能乃至深度学习还是有着颇深的理论门槛的,本人目前也还在学习中。但是如果我们只是想简单的应用一下,还不是太难。这篇文章我们将使用深度学习的方法,针对1991年至今的上证指数进行时间序列的预测,来看一看未来大盘的走势如何。

郑重声明:本文章仅供娱乐,在投资方面不具备任何指导意义。本人不对文章结果负责。( ̄▽ ̄)/

对于深度学习,通常会选择Python作为编程语言。出于平台统一的考虑,专栏的人工智能部分将继续使用MATLAB作为主要工具,后期可能会补充Python的实现方法。MATLAB 2018a中新增了深度学习的工具箱,入门门槛低,可以很容易地设计和构建模型、训练网络以及实现可视化。其中提供的长短期记忆(LSTM)网络工具箱即可实现数据信号的预测。

首先我们先找到从1991年1月到2018年10月的上证指数数据(收盘),并作为研究对象。该数据的时间间隔为月,画出这28年间的大盘走势:

用深度学习做了下中国股市预测,结果是...

1991年至今的上证指数走势

时间序列的多步预测在MATLAB的帮助文档中给出了很好的例子,针对代码稍作修改就可以使用。不过需要针对不同的时间序列对象分别调参,为了调参方便,笔者使用AppDesigner写了一个简单的UI界面,这样操作起来就简洁多了。

用深度学习做了下中国股市预测,结果是...

使用MATLAB自带的APPDesigner可以快速编写软件

经过反复(并没有)的调参,最终获得了一个效果尚可(并不)的结果。MATLAB的深度学习工具箱可以选择显示训练过程,如下图:

用深度学习做了下中国股市预测,结果是...

参数设置中的“预测序列长度”即将要进行预测的时间长度,我们设置了12个月。

LSTM网络通过循环迭代完成多步预测,在这个迭代过程中,预测的结果的可信度是逐渐降低的,所以我们尽管有过去334个月的数据,但也只设置了预测未来12个月的趋势(甚至12个月都偏长)。

好了,那这个方法最终预测到的未来一年的股市趋势是什么样的呢?

用深度学习做了下中国股市预测,结果是...

最后红色那段就是了,看起来该网络对未来持悲观态度。

 

在专业的经济预测中,要综合考虑包括市场环境、政策因素在内的诸多影响,远不是单靠一段时间序列就可以预测出来的。但是针对时间序列的多步预测的方法本身却是很有意义的,在适用的场景下需善加利用。

欢迎关注本人的专栏与信号处理有关的那些东东,未来会开始更新关于人工智能的内容,我会尽量多做一些有趣的分析,对理论进行一些比较通俗的讲解。同时信号特征分析和提取的内容也会不定期进行补充。欢迎大家讨论与指正。

欢迎关注我的公众号“括号的城堡”,微信号为“khscience”,会有更多有趣的东西分享。

参考:

Time Series Forecasting Using Deep Learning

数据来源:

上证综合指数历史行情 - Investing.com