上个Garch模型。
金融时间序列入门(四)--- ARCH、GARCH 作者:fyiqi
GARCH模型与波动率预测
虽然ARCH模型简单,但为了充分刻画收益率的波动率过程,往往需要很多参数,例如上面用到ARCH(4)模型,有时会有更高的ARCH(m)模型。因此,Bollerslev(1986)年提出了一个推广形式,称为广义的ARCH模型(GARCH)
另:
at=rtμt
为t时刻的新息。若at满足下式:
\large a_t = \sigma_t\varepsilon_t \ \large \sigma_t^2 = \alpha_0 + \sum_{i=1}^m \alpha_i a_{t-i}^2 + \sum_{j=1}^s \beta_j \sigma_{t-j}^2 \ \large \alpha_0 > 0; \forall i > 0, \alpha_i \geqslant 0 ,\beta_i \geqslant 0, (\alpha_i + \beta_i) < 1
其中,
εt
为 均值为0,方差为1的独立同分布(iid)随机变量序列。通常假定其服从标准正态分布或标准化学生-t分布。
σ2t
为条件异方差。
则称at服从GARCH(m,s)模型。仔细观察公式,发现与ARMA模型很相似!
GARCH模型建立
与之前的ARCH模型建立过程类似,不过GARCH(m,s)的定阶较难,一般使用低阶模型如GARCH(1,1),GARCH(2,1),GARCH(1,2)等。
下面我们以之前的数据为例,构建GARCH模型,均值方程为AR(8)模型,波动率模型为GARCH(1,1)
我们得到波动率模型:
观察上图,第一张图为标准化残差,近似平稳序列,说明模型在一定程度上是正确的;
第二张图,绿色为原始收益率序列、蓝色为条件异方差序列,可以发现条件异方差很好得表现出了波动率。
观察拟合图发现,在方差的还原上还是不错的。
波动率预测
上一章的预测直接预测了收益率,然而直接预测收益率准确度并不是很高,因此很多时候我们主要用来预测波动率,根据上面建立的波动率模型:
我们可以按照我们建立好的模型一步步计算。
根据模型:
先计算at的预测值
接着根据波动率模型预测波动率:
我们将原始数据、条件异方差拟合数据及预测数据一起画出来,分析波动率预测情况
可以看出,对于接下来的1、2天的波动率预测较为接近,然后后面几天的预测逐渐偏小。
可惜的是arch库中没有找到直接调用的方法,只好自己来计算。
小结
本篇是时间序列入门系列的最后一篇,重点还是在基础的概念和python实现上。事实上要真学好这些模型,少不了更多的参考和实验。
另外,还有很多扩展的或改进的模型如求和GARCH、GARCH-M模型、指数GARCH、EGARCH模型等等。 对于波动率模型,还有比较常用的有随机波动率模型等, 有兴趣可以去研究下。
[h1]参考文献[/h1]1.《金融时间序列分析》 第2版 Ruey S.Tsay著 王辉、潘家柱 译
2.Time Series analysis tsa http://nipy.bic.berkeley.edu/nightly/statsmodels/doc/html/tsa.html
3.Python arch 3.2 https://pypi.python.org/pypi/arch
|