R语言多元(多变量)GARCH :GO-GARCH、BEKK、DCC-GARCH和CCC-GARCH模型和可视化

简介: R语言多元(多变量)GARCH :GO-GARCH、BEKK、DCC-GARCH和CCC-GARCH模型和可视化

全文链接:http://tecdat.cn/?p=30647


从Engle在1982发表自回归条件异方差(ARCH)模型的论文以来,金融时间序列数据的波动性就倍受关注。同时,近几年又出现了研究股票市场的波动传递性点击文末“阅读原文”获取完整代码数据


多市场的多维广义自回归条件异方差模型及其在不同条件下的扩展与变形,它们不仅包含了单变量的波动特性,而且很好的描述了不同变量间的相互关系。所以,多维GARCH模型为分析金融市场的相互影响提供了有力的工具。

我们围绕多变量GARCH技术进行一些咨询,帮助客户解决独特的业务问题。本文涉及多变量GARCH模型的构建。为此,请考虑以下模型

  • BEKK
  • CCC-GARCH 和 DCC-GARCH
  • GO-GARCH


BEKK


BEKK(1,1)具有以下形式:

下图显示了具有上述参数的模拟序列:

BEKK 模型的调整通常计算成本很高,因为它们需要估计大量参数。在本节中,我们将使用该包来估计上一节中模拟多变量序列的参数。

对于 BEKK 模型(1,1) 的调整,我们使用以下语法

fit.bek.m<-BE(matsim)

估计数由以下公式给出:


CCC-GARCH和DCC-GARCH


c.H1<-eccc.sim(nobs=1000, c.a1, c.A1, c.B1, c.R1, d.f=5, model="diagonal")
#'h'模拟条件方差的矩阵(T × N )
#'eps'是模拟的时间序列与(E)CCC-GARCH过程的矩阵(T × N )
plot.ts(c.H1$eps, main = "Processos simulados")

对于模拟过程,我们将使用相同的包估计参数,函数 .我们有两个模拟序列,然后我们假设它们遵循 CCC-GARCH(1,1) 以下过程

估算结果为:

DCC-GARCH

DCC-GARCH 模型是 CCC-GARCH 情况的推广,也就是说,我们有 R matris 不一定是固定的,也就是说它随时间变化:

模拟示例

为了模拟 DCC-GARCH 过程,我们考虑比较性能。

obs=1000, d.a1, d.A1, d.B1, d.R1, dcc.para=c(d.alpha1,d.beta1), d.f=5, model="diagonal")

点击标题查阅往期内容


MATLAB用GARCH-EVT-Copula极值理论模型VaR预测分析股票投资组合


01

02

03

04

ccgarch


与CCC-GARCH的情况一样,我们将使用以下初始量进行迭代过程

estimation(inia=d.w0,iniA=d.A0,iniB=d.B0,ini.dcc=d.w0,model="diagonal",dvar=d.H1$eps)

结果如下:

rmgarch


拟合模型的结果如下:

DCC-GARCH模型


最初,仅实现 DCC 模型(1,1)。

模拟模型平差的结果如下所示:

CCC-GARCH和DCC-GARCH模型的结论

我们在 CCC-GARCH 和 DCC-GARCH 示例中都看到,该软件包没有对模拟模型的参数提供令人满意的估计值。


GO-GARCH


在GO-GARCH模型中,我们对构建协方差矩阵的正交分解感兴趣

模拟

给出的矩阵M由下式给出:

我们将得到:

gog.rt<-t(M%*%t(bt))

gogarch


rmgarch


让我们首先指定流程参数:rmgarch

mean.model=list(model="constant"),distribution.model="mvnorm

根据估计因子构建数据矩阵的不同序列之间的估计关系表面

相关文章
初识go变量,使用var和:=来声明变量,声明变量的三种方式
这篇文章介绍了Go语言中使用`var`和`:=`声明变量的三种不同方式,包括声明单个或多个变量、通过值确定数据类型以及在函数体内使用`:=`声明局部变量。
初识go变量,使用var和:=来声明变量,声明变量的三种方式
|
3月前
|
存储 编译器 Go
go语言中的变量、常量、数据类型
【11月更文挑战第3天】
45 9
|
5月前
|
数据采集
基于R语言的GD库实现地理探测器并自动将连续变量转为类别变量
【9月更文挑战第9天】在R语言中,可通过`gd`包实现地理探测器。首先,安装并加载`gd`包;其次,准备包含地理与因变量的数据框;然后,使用`cut`函数将连续变量转换为分类变量;最后,通过`gd`函数运行地理探测器,并打印结果以获取q值等统计信息。实际应用时需根据数据特点调整参数。
208 8
|
6月前
|
Go
Go1.22 新特性:for 循环不再共享循环变量,且支持整数范围
Go1.22 新特性:for 循环不再共享循环变量,且支持整数范围
|
6月前
|
安全 Go
|
6月前
|
自然语言处理 Go 开发者
深入理解Go语言中的变量作用域
【8月更文挑战第31天】
42 0
|
8月前
|
存储 安全 Go
【Go语言精进之路】构建高效Go程序:掌握变量、常量声明法则与iota在枚举中的奥秘
【Go语言精进之路】构建高效Go程序:掌握变量、常量声明法则与iota在枚举中的奥秘
90 2
|
8月前
|
算法 编译器 Go
Go语言中,常量和变量的定义和使用
Go语言中,常量和变量的定义和使用
|
9月前
|
Go CDN
Go 语言变量作用域
Go 语言变量作用域
46 4
|
8月前
|
Go
go反射获取变量类型、值、结构体成员、结构体方法
go反射获取变量类型、值、结构体成员、结构体方法

热门文章

最新文章