在上一期中,我们探讨了当时间序列的数据不再满足方差齐性的基本假设时,自回归条件异方差模型ARCH能够客观准确地描述变动的集群性和方差的时变性。但由于ARCH模型具有自相关函数q阶截尾的局限性,因此其只适用于异方差函数的短期自相关过程。然而在我们实际生活中有些残差序列的异方差函数显示出长期的自相关性,为此,本期我们介绍由Bollerslov研究的GARCH模型。
一、GARCH模型的结构
由于该模型不仅考虑了异方差函数的q阶自相关性,还同时考虑了异方差函数的p阶自相关。因此其模型只是在ARCH模型的基础上进行修正,如:
其中当p=0时,GARCH模型实际上就是我们在上期提到的ARCH模型。
二、GARCH模型的局限性
(1)它对参数的要求过于严格,该模型要求无条件方差必须满足非负的要求,同时有条件方差需要满足平稳的要求,这在一定的程度上就限制了GARCH模型的适用范围。
(2)该模型对正负扰动的反应为对称的,而实际生活中,例如投资人在面对收益和亏损时信息通常为不对称的,忽略了这种信息的不对称性,往往会影响时间序列预测的精度。
三、GARCH模型的改进
(1)指数GARCH模型
该模型相对于GARCH模型有两个改进条件。其一是放松了对GARCH模型的参数非负的要求,其二是引入了加权扰动函数,通过特殊的函数构造,可以对正负扰动项进行非对称信息处理。该模型的结构为:
(2)方差无穷GARCH模型
该模型适用于描述具有单位特征根(随机游走)的条件异方差,即从理论角度来说就是由波动率常有的水平移动引起的。其只需要将GARCH模型中的无条件异方差:
将其约束条件修改为:
(3)依均值GARCH模型
该模型的构造思想是当序列均值与条件方差之间具有某种相关关系时,将条件的标准差作为附加回归因子建模,即允许时间序列的均值依赖于它的波动性。其模型结构为:
四、GARCH模型案例分析
以1979年12月31日至1991年12月31日外币对美元的日兑换率序列为研究对象,进行分析。由序列时序图显示,该时间序列为非平稳序列,且有明显的趋势特征。
首先通过差分,发现差分后时间序列的时序图显示趋势消除,但是依旧存在明显的集群效应。因此在分析该时间序列时要考虑水平的相关信息和波动的相关信息。
关于水平信息的提取可以通过自相关图和偏自相关图进行分析,而波动信息的提取则用我们上期提到的Portmanteau Q 检验.通过检验可以发现残差序列显著方差非齐性,且具有长期的相关性,所以可以构造GARCH模型。接着我们根据此模型的拟合结果绘制95%的置信图。
结合水平模型和波动模型,我们可以得到拟合模型为:
附R软件代码:
w=read.table("C:/Users/dell/Desktop/file23.csv",sep=",",header=T)
x=ts(w$exchange_rates,start=c(1979,12,31),frequency=365)
plot(x,col="blue") #时序图
#对差分序列性质进行考察
plot(diff(x),col="blue")
acf(diff(x))
pacf(diff(x))
for(i in 1:2) print(Box.test(diff(x),lag=6*i))
#提取水平的相关信息,拟合ARIMA(0,1,1)模型
x.fit=arima(x,order=c(0,1,1))
x.fit
#对残差序列进行白噪声检验
for(i in 1:6) print(Box.test(x.fit$residual,type="Ljung-Box",lag=i))
x.fore=forecast(x.fit,h=365)
plot(x.fore)
#条件异方差检验
for(i in 1:6) print(Box.test(x.fit$residual^2,type="Ljung-Box",lag=i))
#拟合GARCH(1,1)模型
r.fit=garch(x.fit$residual,order=c(1,1))
summary(r.fit)
#绘制波动序列95%的置信区间
r.pred=(predict(r.fit))
plot(r.pred, col="blue")