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

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

相关文章
|
4月前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
初识go变量,使用var和:=来声明变量,声明变量的三种方式
这篇文章介绍了Go语言中使用`var`和`:=`声明变量的三种不同方式,包括声明单个或多个变量、通过值确定数据类型以及在函数体内使用`:=`声明局部变量。
初识go变量,使用var和:=来声明变量,声明变量的三种方式
|
2月前
|
机器学习/深度学习 人工智能 测试技术
扩散模型版CS: GO!世界模型+强化学习:2小时训练登顶Atari 100K
《Diffusion for World Modeling: Visual Details Matter in Atari》提出了一种名为DIAMOND的方法,将扩散模型应用于世界模型构建。该方法在Atari 100K基准测试中仅用2小时训练时间就达到了前所未有的性能水平,平均人类归一化分数达1.46,超过人类水平。DIAMOND通过条件生成、网络预条件和高效采样等设计,提升了视觉细节捕捉、模型稳定性和计算效率。未来研究方向包括连续控制领域应用和更长记忆机制的整合。
62 10
|
8月前
|
数据可视化 数据挖掘 数据处理
R语言高级可视化技巧:使用Plotly与Shiny制作互动图表
【8月更文挑战第30天】通过使用`plotly`和`shiny`,我们可以轻松地创建高度互动的数据可视化图表。这不仅增强了图表的表现力,还提高了用户与数据的交互性,使得数据探索变得更加直观和高效。本文仅介绍了基本的使用方法,`plotly`和`shiny`还提供了更多高级功能和自定义选项,等待你去探索和发现。希望这篇文章能帮助你掌握使用`plotly`和`shiny`制作互动图表的技巧,并在你的数据分析和可视化工作中发挥更大的作用。
|
5月前
|
存储 编译器 Go
go语言中的变量、常量、数据类型
【11月更文挑战第3天】
60 9
|
5月前
|
Go 调度 开发者
Go语言的并发编程模型
【10月更文挑战第26天】Go语言的并发编程模型
35 1
|
5月前
|
安全 测试技术 Go
Go语言中的并发编程模型解析####
在当今的软件开发领域,高效的并发处理能力是提升系统性能的关键。本文深入探讨了Go语言独特的并发编程模型——goroutines和channels,通过实例解析其工作原理、优势及最佳实践,旨在为开发者提供实用的Go语言并发编程指南。 ####
|
7月前
|
数据采集
基于R语言的GD库实现地理探测器并自动将连续变量转为类别变量
【9月更文挑战第9天】在R语言中,可通过`gd`包实现地理探测器。首先,安装并加载`gd`包;其次,准备包含地理与因变量的数据框;然后,使用`cut`函数将连续变量转换为分类变量;最后,通过`gd`函数运行地理探测器,并打印结果以获取q值等统计信息。实际应用时需根据数据特点调整参数。
301 8
|
6月前
|
负载均衡 安全 物联网
探索Go语言的并发编程模型及其在现代应用中的优势
【10月更文挑战第10天】探索Go语言的并发编程模型及其在现代应用中的优势
|
8月前
|
数据可视化
R语言可视化设计原则:打造吸引力十足的数据可视化
【8月更文挑战第30天】R语言可视化设计是一个综合性的过程,需要综合运用多个设计原则来创作出吸引力十足的作品。通过明确目标、选择合适的图表类型、合理运用色彩与视觉层次、明确标注与引导视线以及引入互动性与动态效果等原则的应用,你可以显著提升你的数据可视化作品的吸引力和实用性。希望本文能为你提供一些有益的启示和帮助。

热门文章

最新文章

下一篇
oss创建bucket