R语言多元CopulaGARCH模型时间序列预测

原文链接  http://tecdat.cn/?p=2623

和宏观经济数据不同,金融市场上多为高频数据,比如股票收益率序列。直观的来说:后者要比前者“抖动”多了。有漂移且随机波动的序列,在一元或多元的情况下,构建Copula模型和GARCH模型是最好的选择。

多元GARCH家族中,种类非常多,需要自己多推导理解,选择最优模型。本文使用R软件对3家上市公司近十年的每周回报率为例建立模型。

首先我们可以绘制这三个时间序列。

在这里使用多变量的ARMA-GARCH模型。

本文考虑了两种模型

1 ARMA 模型残差的多变量GARCH过程

2 ARMA-GARCH过程残差的多变量模型(基于Copula )

1 ARMA-GARCH模型

> fit1=garchFit(formula = ~ arma(2,1)+garch(1,1),data=dat[,1],cond.dist ="std")

可视化波动

隐含的相关性

>emwa_series_cor=function(i=1,j=2){+ if((min(i,j)==1)&(max(i,j)==2)){+ a=1; b=5; ab=2}

+}

2 BEKK(1,1)模型 :

>library(MTS)>

bekk=BEKK11(dat_arma)

隐含的相关性

对单变量GARCH模型残差建模

第一步可能是考虑残差的静态(联合)分布。单变量边际分布是

而联合密度为

可视化Copula密度

查看相关性是否随着时间的推移而稳定。

斯皮尔曼相关性

Kendall的tau相关性

对相关性建模,考虑DCC模型

对数据进行预测

> library(rmgarch)

> fcst=dccforecast(dcc.fit,n.ahead=200)

plot(fcst)

你可能感兴趣的:(r语言)