在网络上看到一份很不错的garch模型matlab实现习题,还不错,顺手把答案做了一遍,分享给大家,内含数据,分析报告以及
代码。
一、数据处理
1、ascii2fts导入数据,要求数据大于100期,必须显示前五期时间序列数据;
2、利用candle函数显示前100期数据;
3、利用fts2mat转换成矩阵,并提取收盘序列;
4、利用price2ret转换成收益率序列,显示前五期收益率数据;
5、单位根检验。
二、ARMA模型分析
1、用autocorr进行自相关分析,给出运行结果图;
2、用parcor进行偏相关分析,给出运行结果图;
3、分析运行结果,进行定阶,如果不能直接定阶,利用函数armax进行估计,并利用函数fpe计算最终预报误差,选择最小fpe的阶作为ARMA模型的阶;
m = armax(series, ‘na’, na, ’nc’, nc);
dfpe = fpe(m);
4、估计ARMA模型参数,写出最终的ARMA模型
三、GARCH模型分析
1、估计ARMA(0,0)-GARCH(1,1),要求使用garchdisp,garchplot显示运行结果,并对结果进行分析;
2、估计ARMA(0,1)-GARCH(1,1),要求使用garchdisp,garchplot显示运行结果,并对结果进行分析;
3、估计ARMA(1,0)-GARCH(1,1),要求使用garchdisp,garchplot显示运行结果,并对结果进行分析;
4、估计ARMA(1,1)-GARCH(1,1),要求使用garchdisp,garchplot显示运行结果,并对结果进行分析;
5、利用
NumParams = garchcount(Coeff)
AIC = aicbic(LLF,NumParams)
计算各模型的赤池值,根据最小原则选择GARCH模型;
6、利用选择的模型(使用其估计系数)和garchsim进行仿真,得到收益序列后,以1作为初始价格转换为价格序列,绘制价格图。
7、利用前150期数据做20期预测,与实际151-170期结果进行对比。