weblfe / LSTM_quantitative_analysis

利用LSTM进行股指期货的预测与交易

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Model_LSTM-Future_20161123

使用LSTM(RNN)对股指历史数据设计股指趋势价格预测模型

模型: LSTM_1.py:简单的LSTM回归模型 LSTM_2.py:简单的LSTM分类模型 LSTM_feature_adding.ipynb:对数据进行诸多特征的添加 LSTM_V2.0.ipynb:构建5分钟时间序列,数据集为3W。对模型进行训练,对后一分钟的涨跌情况分类,共5类。 LSTM_V3.0.ipynb:输出预测分类与实际分类的对比,并画图 LSTM_V4.0.ipynb:预测目标多样化,预测1-5分钟的涨跌分类,涨跌持续时间,移动平均线、布林带等指标 LSTM_V5.0.ipynb:进一步加大数据量至33W,时间序列拉长至25分钟,分类增加至7类。预测准确率得到提高。 Tensorflow模型保存与加载.ipynb:添加模型的保存和加载操作,以免每次运行都需要重新训练 LSTM_V5.1.ipynb:与5.0的区别在于数据量的不同。只用IF数据,时间序列15分钟,特征10个。 feature_and_seq_select.ipynb:分析添加的特征和序列长度对准确率的影响,从这两方面压缩模型大小 LSTM_V6.0.ipynb:尝试修改模型结构,以提高模型预测准确率。为了在紫金平台上应用,将模型合为一个,根据后五分钟的涨跌,直接将是否开仓作为分类标准。这种分类方法太过主观,且风险性很大,只是作为应用于紫金平台的尝试 LSTM_V7.0.ipynb:将指数移动平均线作为分类标准的预测模型 LSTM_V7.1.ipynb:与7.0的区别在于数据量的不同。只用IF数据,时间序列15分钟,特征10个。

策略: ctaLSTM_V1.py:基于LSTM_V4.0模型的策略。对后5分钟预测值求加权得分,达到阈值即开仓。设置止盈止损条件,同时添加防止开多仓、强制平仓等优化策略。 ctaLSTM_V2.py:增加了当日数据和交易记录保存的部分,优化止盈止损策略 ctaLSTM_V3.py:基于LSTM_V5.0模型的策略。添加预测准确率实时显示。更改开平仓条件,放宽开仓条件,使平仓完全依赖于预测结果 plot_trade.ipynb:画出交易记录和预测结果图,便于分析和写交易报告 ctaLSTM_V4.py:继续更改开仓条件,不再根据预测得分,而是根据后五分钟的涨跌数量 ctaLSTM_V5.py:基于LSTM_V6.0模型的策略,主要应用于紫金量化平台 ctaLSTM_V4_1.py:经过修改代码,将五个模型压缩成一个文件用在紫金平台上,该策略即为ctaLSTM_V4在紫金平台上的运行版本 ctaLSTM_V4_2.py:基于LSTM_V5.1的策略,运行于紫金平台 ctaLSTM_V4_3.py:基于LSTM_V5.1的策略,运行于vnpy平台 ctaLSTM_V6.py:基于LSTM_V7.0模型的策略,根据指数移动平均线的预测结果确定开平仓的时间 ctaLSTM_V6_1.py:基于LSTM_V7.1模型的策略,是应用于紫金平台的ctaLSTM_V6版本

About

利用LSTM进行股指期货的预测与交易


Languages

Language:Jupyter Notebook 92.9%Language:Python 7.1%