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 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
|
7月前
|
数据采集 编解码 监控
Go语言实战案例:使用channel实现生产者消费者模型
本文是「Go语言100个实战案例 · 网络与并发篇」第4篇,通过实战案例详解使用 Channel 实现生产者-消费者模型,涵盖并发控制、任务调度及Go语言并发哲学,助你掌握优雅的并发编程技巧。
【R语言实战】——带有高斯新息的金融时序的GARCH模型拟合预测及VAR/ES风险度量
【R语言实战】——带有高斯新息的金融时序的GARCH模型拟合预测及VAR/ES风险度量
【R语言实战】——带有新息为标准学生t分布的金融时序的GARCH模型拟合预测
【R语言实战】——带有新息为标准学生t分布的金融时序的GARCH模型拟合预测
|
机器学习/深度学习 人工智能 测试技术
扩散模型版CS: GO!世界模型+强化学习:2小时训练登顶Atari 100K
《Diffusion for World Modeling: Visual Details Matter in Atari》提出了一种名为DIAMOND的方法,将扩散模型应用于世界模型构建。该方法在Atari 100K基准测试中仅用2小时训练时间就达到了前所未有的性能水平,平均人类归一化分数达1.46,超过人类水平。DIAMOND通过条件生成、网络预条件和高效采样等设计,提升了视觉细节捕捉、模型稳定性和计算效率。未来研究方向包括连续控制领域应用和更长记忆机制的整合。
331 10
|
Go 调度 开发者
Go语言的并发编程模型
【10月更文挑战第26天】Go语言的并发编程模型
192 1
|
安全 测试技术 Go
Go语言中的并发编程模型解析####
在当今的软件开发领域,高效的并发处理能力是提升系统性能的关键。本文深入探讨了Go语言独特的并发编程模型——goroutines和channels,通过实例解析其工作原理、优势及最佳实践,旨在为开发者提供实用的Go语言并发编程指南。 ####
|
负载均衡 安全 物联网
探索Go语言的并发编程模型及其在现代应用中的优势
【10月更文挑战第10天】探索Go语言的并发编程模型及其在现代应用中的优势
|
缓存 编译器 Go
开发与运维线程问题之Go语言的goroutine基于线程模型实现如何解决
开发与运维线程问题之Go语言的goroutine基于线程模型实现如何解决
175 3
|
Go 开发者
探索Go语言的并发编程模型
通过实例详细介绍了Go语言中的并发编程模型,包括goroutine、channel的基本使用和最佳实践。深入剖析如何利用Go的并发特性提高程序性能和效率,适用于初学者和有一定经验的开发者。