邮箱:

温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:

目录

1. CCC- 基本原理

当研究资产组合或风险管理时,往往会面对面两种及以上的资产,所以我们需要建立多个变量的 GARCH 模型,对方差协方差阵进行建模。多元 GARCH 的建模步骤chi2,大致可以分为三步:

多元 GARCH 均值方程的设定主要有两种方法:

VAR 的优势在于抛开了经济学意义的因果关系,单纯从统计学的角度寻找变量之间的因果关系,此外还可以根据 VAR 模型估计参数的显著性水平分析资产与资产之间是否存在均值溢出效应。通过以上两种方法得到残差序列后,我们要检验残差序列是否存在 ARCH 效应,这是建立多元 GARCH 模型的依据。

接下来,先简要介绍一下多元 GARCH 模型中的 CCC- 模型。

(1990) 提出了 CCC ( ) 模型chi2,认为在某些场合条件相关系数并不随时间的变化而变化,并对时变的协方差矩阵 的形式做了如下设定:

上式中的 是由各个资产的条件标准差构成的对角阵, 是 (1990) 所设定的不变的条件相关系数矩阵。将相关系数矩阵设为常数,有两方面的好处:第一,这样做简化了模型,降低了 CCC- 模型估计上的难度;第二,常系数矩阵的设定保证了条件协方差矩阵正定性的要求。具体地, (1990) 的处理过程如下:

记 为 维资产对数收益率时间序列,满足:

上半部分为均值方程,下半部分为方差方程。原本, 表示其中两个资产对数收益率序列 与 之间波动的关联关系。但 (1990) 对条件方差做了以下两个改动:

其中, 为不随时间变化的正标量 。由此得到了 。

接下来,为大家展示一下如何在 R 语言和 Stata 中估计 DCC 模型。

2. R 语言命令

library(xts)  ###调用xts包

#数据下载地址:https://gitee.com/arlionn/data/blob/master/data01/RDJI.csv
RDJI=read.csv("D:/R/RDJI.csv",header=T)  ###读取美国道琼斯指数残差的时间序列,记为RDJI。csv表格中共有两列数据,第一列为时间,第二列为美国道琼斯指数的残差。后表类似
head(RDJI)
tail(RDJI)
RDJI=xts(RDJI[,2],as.Date(RDJI[,1]))
head(RDJI)
tail(RDJI)

#数据下载地址:https://gitee.com/arlionn/data/blob/master/data01/RSH.csv
RSH=read.csv("D:/R/RSH.csv",header=T)  ###读取上证综合指数残差的时间序列,记为RSH
head(RSH)
tail(RSH)
RSH=xts(RSH[,2],as.Date(RSH[,1]))
head(RSH)
tail(RSH)

#数据下载地址:https://gitee.com/arlionn/data/blob/master/data01/RHIS.csv
RHIS=read.csv("D:/R/RHIS.csv",header=T)  ###读取香港恒生指数残差的时间序列,记为RHIS
head(RHIS)
tail(RHIS)
RHIS=xts(RHIS[,2],as.Date(RHIS[,1]))
head(RHIS)
tail(RHIS)

r.data3 <- merge(RDJI, RSH, join='inner')  ###将RDJI和RSH的残差序列根据时间轴合并在一起,记为r.data3
head(r.data3)
tail(r.data3)

r.data3 <- merge(r.data3, RHIS, join='inner')  ###在r.data3的基础上,根据时间轴再加入RHIS残差序列,同样命名为r.data3
head(r.data3)
tail(r.data3)

R3 <- r.data3[!apply(is.na(r.data3), 1, any), ]
head(R3)
tail(R3)

colnames(R3) <- c('RDJI''RSH''RHIS')
head(R3)
tail(R3)

R3=as.matrix(R3)  ###将读入的数据转化为矩阵
head(R3)
tail(R3)

a <- c(0.0030.0050.001)  ###赋初始值,初始值可以随意设定,不大于1即可
A <- diag(c(0.50.50.5))  ###赋初始值
B <- diag(c(0.750.60.8)) ###赋初始值
R <- diag(c(0.80.80.8))  ###输入常系数矩阵的初始值,因为有例子里有三个时间序列,所以这里需要输入三个大于-1小于1的数字,初始值不影响最后的估计结果

library(ccgarch)   ###调用ccgarch包
results=eccc.estimation(a, A, B, R, dvar=R3, model="diagonal", method="BFGS")
results  ###输出我们想要的CCC估计结果

$para.mat$R
           [,1]       [,2]      [,3]
[1,] 1.00000000 0.09382785 0.2622413
[2,] 0.09382785 1.00000000 0.4246825
[3,] 0.26224126 0.42468251 1.0000000

3. Stata 实操

*数据下载地址
*https://gitee.com/arlionn/data/blob/master/data01/MGARCH_Lianxh.dta
use MGARCH_Lianxh.dta, clear
tsset date
mgarch ccc (rdji rsh rhis), arch(1) garch(1)

Number of gaps in sample:  1115
(note: conditioning reset at each gap)

Calculating starting values....

Optimizing concentrated log likelihood

(setting technique to bhhh)
Iteration 0: log likelihood = -18433.837
Iteration 1: log likelihood = -18119.917
Iteration 2: log likelihood = -18061.677
Iteration 3: log likelihood = -18050.709
Iteration 4: log likelihood = -18047.084
Iteration 5: log likelihood = -18046.032
Iteration 6: log likelihood = -18045.693
Iteration 7: log likelihood = -18045.581
Iteration 8: log likelihood = -18045.549
Iteration 9: log likelihood = -18045.537
(switching technique to nr)
Iteration 10: log likelihood = -18045.533
Iteration 11: log likelihood = -18045.533

Optimizing unconcentrated log likelihood

Iteration 0: log likelihood = -18045.527
Iteration 1: log likelihood = -18042.509
Iteration 2: log likelihood = -18042.5
Iteration 3: log likelihood = -18042.5

Constant conditional correlation MGARCH model

Sample: 36536 - 44014, but with gaps Number of obs = 4,678
Distribution: Gaussian Wald chi2(.) = .
Log likelihood = -18042.5 Prob > chi2 = .

---------------------------------------------------------------------------------
| Coef. Std. Err. z P>|z| [95% Conf. Interval]
----------------+----------------------------------------------------------------
rdji |
_cons | .0328701 .0112509 2.92 0.003 .0108188 .0549215
----------------+----------------------------------------------------------------
ARCH_rdji |
arch |
L1. | .3533888 .0284769 12.41 0.000 .297575 .4092026
|
garch |
L1. | .6498807 .0427748 15.19 0.000 .5660435 .7337178
|
_cons | -.0054311 .025394 -0.21 0.831 -.0552025 .0443403
----------------+----------------------------------------------------------------
rsh |
_cons | -.0106582 .0123229 -0.86 0.387 -.0348106 .0134942
----------------+----------------------------------------------------------------
ARCH_rsh |
arch |
L1. | .1787032 .0211766 8.44 0.000 .1371979 .2202086
|
garch |
L1. | .8873243 .0555885 15.96 0.000 .7783727 .9962758
|
_cons | -.1093372 .0375975 -2.91 0.004 -.183027 -.0356475
----------------+----------------------------------------------------------------
rhis |
_cons | .0089693 .0125286 0.72 0.474 -.0155864 .033525
----------------+----------------------------------------------------------------
ARCH_rhis |
arch |
L1. | .1483692 .018074 8.21 0.000 .1129449 .1837935
|
garch |
L1. | .8654715 .0559978 15.46 0.000 .7557178 .9752253
|
_cons | -.075785 .0386736 -1.96 0.050 -.1515839 .0000138
----------------+----------------------------------------------------------------
corr(rdji,rsh)| .0725329 .0137626 5.27 0.000 .0455588 .0995071
corr(rdji,rhis)| .2683242 .0129857 20.66 0.000 .2428726 .2937758
corr(rsh,rhis)| .405243 .0113099 35.83 0.000 .383076 .42741
---------------------------------------------------------------------------------

4. CCC- 模型的应用

我们收集了 2000 年 1 月 11 日至 2020 年 7 月 2 日美国道琼斯指数、上证综合指数和香港恒生指数的日度数据,之所以选取日度的时间序列,是因为利用高频的金融时间序列 (日度) 建模得到的残差序列,比低频的金融时间序列 (月度) 更容易出现 ARCH 效应。

经平稳性检验可知,三个时间序列均为一阶单整,记为 I (1),因此利用对数收益率序列建模;经 VAR 判断滞后阶数为 4 阶,提取 VAR 模型的残差,经检验具有显著的 ARCH 效应;接下来利用残差时间序列建立 CCC 模型,常相关系数的估计结果见表 1。由表 1 可知,美国道琼斯指数和上证综合指数波动的常相关系数为 0.094,美国道琼斯指数和香港恒生指数波动的常相关系数为 0.262,上证综合指数和香港恒生指数波动的常相关系数为 0.425。说明从选取的三个股票指数看,上证综指和恒生指数波动的相关性最高,美国道琼斯指数和恒生指数波动的相关性次之,上证综指和美国道琼斯指数波动的相关性相对最低,较为符合经济现实。

pearsonchi2_chi2_chi2是什么意思

4. 参考文献

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注