以股票数据为例使用神经网络预测时间序列数据
flyfish
源代码地址
整个框架分为以下几个模块dataset,model,config,trainner,evaluator,utils等
数据预处理
将数据按照时间排序
datetime code open close ... low vol amount p_change
0 2010-01-05 300 3545.19 3564.04 ... 3497.66 858096 1.283020e+11 0.81
1 2010-01-06 300 3558.70 3541.73 ... 3541.17 784731 1.210460e+11 -0.63
2 2010-01-07 300 3543.16 3471.46 ... 3452.77 803500 1.204360e+11 -1.98
datetime code open ... vol amount p_change
2292 2019-06-13 300 3689.580 ... 963317 1.104600e+11 -0.15
2293 2019-06-14 300 3690.480 ... 1018170 1.165840e+11 -0.83
2294 2019-06-17 300 3654.443 ... 440698 5.797155e+10 -0.22
最后我们只选择2012-10-01和2018-10-31之间的数据,也可以选择其他时间段
模型包括LSTM 和 Bidirectional LSTM
预测结果如下,只预测了high最高价
如果您想加入自己的模型需要在model文件夹中增加您自己的神经网络
运行方法
训练
python main.py -p "train" -m 2
预测
python main.py -p "predict" -m 2
参数说明
-m 表示
1:LSTM
2:BidirectionalLSTM
训练过程如果要启动可视化
命令行运行 python -m visdom.server
在浏览器输入 http://localhost:8097