Python深度学习LSTM模型预测股票价格(Alibaba)

有人说如果能够正确的预测股票的价格,就相当于发明了经济的永动机。在这个全民炒股的时代,谁不想拥有一个水晶球? 机器学习和深度学习在金融机构中的应用已经足够长久。LSTM作为在时间序列预测比较成功的算法,能够很好的预测股票数据吗? 下面以阿里巴巴美股数据为例,通过移动平均值预测MA)和LSTM, 搭建模型预测股票价格。用到的除了常用的machine learning libs, 用Keras 来搭建LSTM模型。

第一步当然是import libs

所用到的libs


数据的来源是Alphavantage, 从14年9月19日上市以来到今天5月4日的数据。

阿里股价数据

几年内股票的大致走势如下图


股价走势

如果大家看过一些关于股票的视频的话肯定对移动平均线不会陌生。下面的图里展示了30天和十天的移动平均线, 可以看到虽然能够拟合大致的趋势,但是还是有很多地方出现了相反的趋势。基于此,下面是用LSTM来搭建模型。

移动平均线

A data scientist is as good as the data he has。 所以第一步就是做一些数据的预处理, 特征缩放,分训练集和测试集, 生成矩阵。

有了数据之后, 第二步就是训练LSTM 模型,用到了keras 的以下模块,Sequential 用于初始化神经网络,Dense 用于添加密集连接的神经网络层,LSTM 用于添加长短期内存层Dropout 用于添加防止过拟合的dropout层。


LSTM

模型fit 好之后用测试集数据来产生预测。


产生预测,画图

最后的LSTM预测结果如下,可以看出LSTM模型要明显优于MA预测。

prediction vs real data

总结

LSTM 真的很善于预测时间序列数据,相信如果和情感数据相结合能够产生可以实际应用的模型。股市有风险,希望每位会理性投资, 精致分析, 收益长虹。


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容