大家好,我是带我去滑雪!
中美两国是全球最大的经济体,其经济活动对全球产业链和贸易体系都具有巨大影响。中美之间的经济互动包括大规模的贸易、投资和金融往来。这些互动不仅仅反映在经济数据上,还体现在股市上。中美股市的联动关系反映了全球化时代的现实。它们的表现不仅关乎两国自身经济,还对全球经济和金融市场有着深远的影响。因此,了解和关注这种联动关系对投资者、政策制定者和全球市场观察者来说都至关重要。本期使用DCC-GARCH模型研究近20年中美股市的动态相关性。
目录
[(2) 绘制DCC估计后的条件均值图、条件方差图、条件协方差图 、动态条件相关系数图](#(2) 绘制DCC估计后的条件均值图、条件方差图、条件协方差图 、动态条件相关系数图)
一、数据搜集与预处理
目标是选用S&P综合指数(GSPC)的周对数收益率作为美国股市的市场收益率,选用上证综合指数(SSEC)的周对数收益率作为中国股市的市场收益率。数据样本区间为1997年7月到2017年7月,共计1048例收盘价,数据均来源于雅虎财经。由于获取的原始数据是指数的收盘价,因此可以先求得指数的收益率,并放大100倍。下面对收益率进行时间序列数据建模前的各自准备工作,包括收益率的描述统计、平稳性检验、ARCH效应检验,下面分别一一进行。
install.packages("fBasics",repos="http://mirrors.tuna.tsinghua.edu.cn/CRAN/")
install.packages("FinTS",repos="http://mirrors.tuna.tsinghua.edu.cn/CRAN/")
install.packages("rmgarch",repos="http://mirrors.tuna.tsinghua.edu.cn/CRAN/")
install.packages("MTS",repos="http://mirrors.tuna.tsinghua.edu.cn/CRAN/")
library(fBasics);library(FinTS);library(tseries)
library(rmgarch);library(MTS)#安装并调用包
dat1.tmp <- read.csv("E:/GSPC.csv"); head(dat1.tmp)
dat2.tmp <- read.csv("E:/SSEC.csv"); head(dat2.tmp)#导入数据
dat1=xts::as.xts(dat1.tmp,2,as.Date(dat1.tmp,1))
dat2=xts::as.xts(dat2.tmp,2,as.Date(dat2.tmp,1))
head(dat1);head(dat2)#将导入的数据转换为时间序列格式
R1=diff(log(dat1))*100;R1=R1-1 #Compute Returns
names(R1)="GSPC";head(R1)R2=diff(log(dat2))*100;R2=R2-1 #Compute Returns
names(R2)="SSEC" ;head(R2)#求得指数的收益率,并放大100倍
输出结果:
SSEC
1997-07-13 4.658029
1997-07-20 -3.276194
1997-07-27 1.858668
1997-08-03 1.102607
1997-08-10 -5.364068
1997-08-17 2.485685
GSPC
1997-07-13 -0.1506572
1997-07-20 2.5339921
1997-07-27 0.8855145
1997-08-03 -1.4463145
1997-08-10 -3.5689432
1997-08-17 2.4919732
(1)收益率的描述统计
DataRet=na.omit(cbind(R1,R2));#去除缺失值
tail(DataRet);nrow(DataRet)#展示最后6行,并计算收益率长度输出结果:
GSPC SSEC
2017-06-25 -0.61254923 1.0882729
2017-07-02 0.07301175 0.7965253
2017-07-09 1.39588457 0.1385001
2017-07-16 0.53814120 0.4818579
2017-07-23 -0.01779466 0.4701144
2017-07-30 0.19115167 0.2713932
1 1047
basicStats(DataRet)输出结果:
GSPC SSEC
nobs 1047.000000 1047.000000
NAs 0.000000 0.000000
Minimum -20.083751 -14.897934
Maximum 11.355896 13.944743
Quartile -1.137209 -1.738476
Quartile 1.404862 1.904221
Mean 0.094936 0.099183
Median 0.196563 0.050927
Sum 99.397639 103.844343
SE Mean 0.076118 0.103059
LCL Mean -0.054426 -0.103043
UCL Mean 0.244297 0.301408
Variance 6.066269 11.120290
Stdev 2.462980 3.334710
Skewness -0.775533 -0.128495
Kurtosis 6.394769 2.291610
(2)ADF平稳性检验
adf.test(R1);
输出结果:
Augmented Dickey-Fuller Test
data: R1
Dickey-Fuller = -9.8464, Lag order = 10, p-value = 0.01
alternative hypothesis: stationary
adf.test(R2);
输出结果:
Augmented Dickey-Fuller Test
data: R2
Dickey-Fuller = -8.1659, Lag order = 10, p-value = 0.01
alternative hypothesis: stationary
由于 时间序列数据进行建模时,需要了解数据的平稳性,以保证模型的有效性。通过ADF检验可以发现中美股市收益率是平稳的。
(3)ARCH效应检验
ArchTest(R1,lags=15,demean=T)
输出结果:
ARCH LM-test; Null hypothesis: no ARCH effects
data: R1
Chi-squared = 158.22, df = 15, p-value < 2.2e-16
ArchTest(R2,lags=15,demean=T)
输出结果:
ARCH LM-test; Null hypothesis: no ARCH effects
data: R2
Chi-squared = 127.52, df = 15, p-value < 2.2e-16
通过ARCH检验可以发现中美股市收益率之间存在ARCH效应,说明可以运用GARCH模型。
(4)绘制指数与收益率的时序图
opar=par(no.readonly=T)
par(mfrow=c(2,2))
plot(dat1,main="GSPC",xlab="Time",ylab="Index")
plot(dat2,main="SSEC",xlab="Time",ylab="Index")
plot(R1,main="GSPC",xlab="Time",ylab="log return")
plot(R2,main="SSEC",xlab="Time",ylab="log return")
par(opar)输出结果:
通过时序图可以发现,美国收益率指数虽然在互联网泡沫和次贷危机期间大幅度下降,但大部分时期指数是上涨的。而中国指数在2007年到2008年以及2015年到2016年两个时间段显著大涨大跌,其他时期的走势相对平稳,但上行行情远没有美国的多。通过收益率的时序图可以发现,中美两国收益率都存在显著的波动聚集现象,并且中国的波动幅度大于美国的波动。
二、DCC-GARCH的估计
(1)估计结果
n=ncol(DataRet)
p=1;q=1
meanSpec=list(armaOrder=c(1,0),include.mean=TRUE,archpow=1)
varSpec=list(model="sGARCH",garchOrder = c(p,q))
distSpec=c("mvt") #c("mvnorm", "mvt", "mvlaplace")spec1=ugarchspec(mean.model=meanSpec,variance.model=varSpec)
mySpec=multispec(replicate(n, spec1))mySpec=dccspec(mySpec, VAR=F, robust=F, lag=1, lag.max=NULL,lag.criterion=c("AIC"), external.regressors = NULL, robust.control = list(gamma = 0.25, delta = 0.01, nc = 10, ns = 500), dccOrder = c(1, 1), distribution = distSpec, start.pars = list(), fixed.pars = list())
fit_dcc=dccfit(data=DataRet, mySpec, out.sample=10, solver="solnp", solver.control = list(), fit.control = list(eval.se = TRUE, stationarity = TRUE, scale = FALSE), parallel = TRUE, parallel.control = list(pkg = c("multicore"), cores = 2), fit = NULL, VAR.fit = NULL)
RSD=residuals(fit_dcc);
show(fit_dcc)输出结果:
*---------------------------------*
* DCC GARCH Fit *
*---------------------------------*
Distribution : mvt
Model : DCC(1,1)
No. Parameters : 14
VAR GARCH DCC UncQ\] : \[0+10+3+1
No. Series : 2
No. Obs. : 1037
Log-Likelihood : -4863.167
Av.Log-Likelihood : -4.69
Optimal Parameters
Estimate Std. Error t value Pr(>|t|)
GSPC.mu 0.215241 0.055014 3.9125 0.000091
GSPC.ar1 -0.112713 0.034833 -3.2359 0.001213
GSPC.omega 0.302235 0.131215 2.3034 0.021259
GSPC.alpha1 0.196408 0.060734 3.2339 0.001221
GSPC.beta1 0.762232 0.064558 11.8069 0.000000
SSEC.mu 0.078023 0.096492 0.8086 0.418748
SSEC.ar1 0.053512 0.034308 1.5598 0.118816
SSEC.omega 0.388848 0.206514 1.8829 0.059712
SSEC.alpha1 0.117551 0.036551 3.2161 0.001300
SSEC.beta1 0.848819 0.047688 17.7993 0.000000
Jointdcca1 0.013581 0.007305 1.8591 0.063013
Jointdccb1 0.971799 0.011366 85.5008 0.000000
Jointmshape 8.290728 1.110120 7.4683 0.000000
Information Criteria
Akaike 9.4063
Bayes 9.4730
Shibata 9.4059
Hannan-Quinn 9.4316
Elapsed time : 3.121074
(2) 绘制DCC估计后的条件均值图、条件方差图、条件协方差图 、动态条件相关系数图
plot(fit_dcc)
需要数据集的家人们可以去百度网盘(永久有效)获取:
链接:https://pan.baidu.com/s/1E59qYZuGhwlrx6gn4JJZTg?pwd=2138
提取码:2138
更多优质内容持续发布中,请移步主页查看。
点赞+关注,下次不迷路!




