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

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

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

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