最近我们被客户要求撰写关于GARCH的研究报告,包括一些图形和统计输出。
这个简短的演示说明了使用rmgarch软件包的DCC模型及其方法的使用,尤其是在存在MVT分布形状参数的情况下进行2级DCC估计的另一种方法。
第一阶段并将其传递给dccfit
可下载资源
cl = makePSOCKcluster(10)
multf = multifit(uspec, Dat, cluster = cl)
接下来,估计DCC模型。
普通的模型对于两个序列的波动分析一般是静态的,但是dccgarch模型可以实现他们之间动态相关的波动分析,也就是说他们之间的波动不是一个常数,而是一个随着时间的变化而变化的系数。
1.首先之所以要把序列取对数,是因为有的有关经济的时间序列不是平稳的。只有平稳的时间序列我们才能在此基础上建模,为了使不平稳的时间序列变得平稳,我们通常对序列取对数收益率,并且进行差分处理,使序列变得平稳。
2.然后建立arch模型,对残差进行arch效应检验。
3.确认有arch效应后做单变量garch模型,即garch(1,1)的模型。当然也可以用arima模型确认阶数,但是计量经济学上好像一般都是做garch(1,1),然后再做dcc模型。
4.做dcc模型,当α+β的值小于1时,模型可用。
fit1 = dccfit(spec1, data = Dat, fit.control = list(eval.se = TRUE), fit = multf, cluster = cl)
为了在实践中拟合DCC(MVT)模型,要么假定第一阶段的QML,要么必须在阶段中共同估算共同的形状参数。在下面的示例中,一种替代方法用于估计近似共同形状参数。
似然度和形状参数变化的图表明,只需几次迭代即可收敛到稳定值。
shape参数的值表示峰度为1.06。对非对称DCC(MVT)模型重复进行拟合。
xspec = ugarchspec(mean.model = list(armaOrder = c(1,1)),
variance.model = list(garchOrder = c(1,1),
model = "eGARCH"), distribution.model = "norm")
下表显示了估算模型的摘要,系数旁边的星号表示显着性水平(*** 1%,** 5%,* 10%)。
## DCC-MVN aDCC-MVN DCC-MVL aDCC-MVL DCC-MVT aDCC-MVT
## a 0.00784*** 0.00639*** 0.00618*** 0.0055*** 0.00665*** 0.00623***
## b 0.97119*** 0.96956*** 0.97624*** 0.97468*** 0.97841*** 0.97784***
## g 0.00439 0.00237 0.00134
## shape 9.63947*** 9.72587***
## LogLik 22812 22814 22858 22859 23188 23188
下图表说明了来自不同模型的一些动态相关性:
终止集群对象:
stopCluster(cl)