[color=rgba(0, 0, 0, 0.75)]
基于LSTM与GARCH族混合模型预测股票波动率的Python操作代码 
[color=rgba(0, 0, 0, 0.75)]
LSTM; GARCH; 股票波动率; Python
[color=rgba(0, 0, 0, 0.75)]
学习了金融数据分析这门课,对Python这个工具又有了新的认识,真是太强大了!本小白的报告是基于哈工大硕士论文田晓丹《基于LSTM与多GARCH型混合模型的股价波动性预测的实证分析》的方法,研究预测时间序列中证500指数价格波动率最优的模型,在GARCH模型基础上结合神经网络LSTM算法,对解释变量及GARCH得到的参数进行多次训练得到损失函数RMSE和MAE最小的混合模型。做完此实验能让我们对GARCH族模型的原理有更好的理解,也为在金融中应用算法提供思路,大家快来学习一下吧!
[color=rgba(0, 0, 0, 0.75)]
GARCH族模型
[color=rgba(0, 0, 0, 0.75)]
GARCH(1,1)模型;EGARCH(1,1)模型;TGARCH(1,1)模型。这三个模型递进地改进了杠杆效应即对称效应,就是利空和利好消息对金融市场的冲击不同。通过Eviews对中证500指数收益率总样本的10%进行样本外预测,并根据损失函数RMSE和MAE大小,得到最小的损失模型为TGARCH,得到各参数的列估计值,具体可通过Eviews里面生成的模型残差和方差来计算得到各参数的列估计值。
[color=rgba(0, 0, 0, 0.75)]
LSTM算法
[color=rgba(0, 0, 0, 0.75)]
LSTM 神经网络属于时间递归神经网络。基于对循环神经网络的优化,LSTM神经网络能够解决循环神经网络的梯度缺陷。LSTM神经网络包括存储器块(记忆单元Cell)和三个自适应乘法门,即输入门(Input Gate)、输出门(Output Gate)和遗忘门(Forget Gate)[10]。LSTM的训练过程也是复杂的,简单来说是其输入门的输入值由三部分组成,即输入层中神经元的输出向量,前一个隐含层中的记忆单元的输出向量,前一时刻记忆单元的历史存储信息。
[color=rgba(0, 0, 0, 0.75)]
基于LSTM与GARCH族混合模型的Python代码
 
[color=rgba(0, 0, 0, 0.75)]
通过上述GARCH族模型的回归和LSTM神经网络学习算法的了解,查找相关资料进行代码编写,主要的参数维度需要根据自己的数据来.下面列出一些需要注意的地方。
[color=rgba(0, 0, 0, 0.75)]
结论
[color=rgba(0, 0, 0, 0.75)]
报告研究了金融市场中时间序列波动率预测问题,从GARCH族模型和LSTM神经网络理论出发,应用Eviews对GARCH模型进行回归,找到预测精度最优的模型,再运用得到的参数估计值作为LSTM训练集的输入,训练得到预测损失最小的GARCH和LSTM混合模型。对GARCH和LSTM模型有更深入的理解,也能用更精确的方法来预测股价波动率,也学习了很多Python知识,受益颇深。
[color=rgba(0, 0, 0, 0.75)]
参考文献
[1] 田晓丹. 基于LSTM与多GARCH型混合模型的股价波动性预测的实证分析[D].哈尔滨工业大学,2019.
[2] CSDN,人大经济论坛各种资料.
[color=rgba(0, 0, 0, 0.75)]