LSTM处理股票数据的一般流程:
image.png
2.在先工作的基本思路:
(1).为利用沪深300前100天的收盘价预测下一天的收盘价。从结果来看,LSTM对未来20天的预测基本上是对过去100天收盘价变化的趋势的总括,因此最终的预测结果以及回测结果都不是很理想。 之后尝试增加了features(每日Open,High,Low,Close,Amount,Volume),效果依然不是很好。
通过对结果进行分析以及阅读研究一些研报,得到的初步结论为:一是input时间跨度太长(100天的价格走势对未来一天的价格变化影响很小),而待预测数据时间跨度太短;二是收盘价(Close)是非平稳数据,LSTM对于非平稳数据的预测效果没有平稳数据好。
(2)LSTM对沪深300未来五日收益率预测
综合以上两点,本文所使用的输入和输出为利用过去30天的数据预测将来五天的收益。
测试对象:沪深300
数据选择和处理:
input的时间跨度为30天,每天的features为['close','open','high','low','amount','volume']共6个,因此每个input为30×6的二维向量。
output为未来5日收益future_return_5(future_return_5>0.2,取0.2;future_return_5
训练数据:沪深300 2005-01-01至20