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

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

相关文章
|
数据可视化 数据挖掘 图形学
R语言基础可视化:使用ggplot2构建精美图形的探索
【8月更文挑战第29天】 `ggplot2`是R语言中一个非常强大的图形构建工具,它基于图形语法提供了一种灵活且直观的方式来创建各种统计图形。通过掌握`ggplot2`的基本用法和美化技巧,你可以轻松地将复杂的数据转化为直观易懂的图形,从而更好地理解和展示你的数据分析结果。希望本文能够为你探索`ggplot2`的世界提供一些帮助和启发。
|
数据可视化 数据挖掘 数据处理
R语言高级可视化技巧:使用Plotly与Shiny制作互动图表
【8月更文挑战第30天】通过使用`plotly`和`shiny`,我们可以轻松地创建高度互动的数据可视化图表。这不仅增强了图表的表现力,还提高了用户与数据的交互性,使得数据探索变得更加直观和高效。本文仅介绍了基本的使用方法,`plotly`和`shiny`还提供了更多高级功能和自定义选项,等待你去探索和发现。希望这篇文章能帮助你掌握使用`plotly`和`shiny`制作互动图表的技巧,并在你的数据分析和可视化工作中发挥更大的作用。
1022 4
|
机器学习/深度学习 算法 前端开发
R语言基础机器学习模型:深入探索决策树与随机森林
【9月更文挑战第2天】决策树和随机森林作为R语言中基础且强大的机器学习模型,各有其独特的优势和适用范围。了解并熟练掌握这两种模型,对于数据科学家和机器学习爱好者来说,无疑是一个重要的里程碑。希望本文能够帮助您更好地理解这两种模型,并在实际项目中灵活应用。
|
数据可视化
R语言可视化设计原则:打造吸引力十足的数据可视化
【8月更文挑战第30天】R语言可视化设计是一个综合性的过程,需要综合运用多个设计原则来创作出吸引力十足的作品。通过明确目标、选择合适的图表类型、合理运用色彩与视觉层次、明确标注与引导视线以及引入互动性与动态效果等原则的应用,你可以显著提升你的数据可视化作品的吸引力和实用性。希望本文能为你提供一些有益的启示和帮助。
|
资源调度 数据挖掘
R语言回归分析:线性回归模型的构建与评估
【8月更文挑战第31天】线性回归模型是统计分析中一种重要且实用的工具,能够帮助我们理解和预测自变量与因变量之间的线性关系。在R语言中,我们可以轻松地构建和评估线性回归模型,从而对数据背后的关系进行深入的探索和分析。
1546 1
|
存储 安全 Java
【Golang】(4)Go里面的指针如何?函数与方法怎么不一样?带你了解Go不同于其他高级语言的语法
结构体可以存储一组不同类型的数据,是一种符合类型。Go抛弃了类与继承,同时也抛弃了构造方法,刻意弱化了面向对象的功能,Go并非是一个传统OOP的语言,但是Go依旧有着OOP的影子,通过结构体和方法也可以模拟出一个类。
615 2
|
Cloud Native 安全 Java
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
895 1
|
开发框架 JSON 中间件
Go语言Web开发框架实践:路由、中间件、参数校验
Gin框架以其极简风格、强大路由管理、灵活中间件机制及参数绑定校验系统著称。本文详解其核心功能:1) 路由管理,支持分组与路径参数;2) 中间件机制,实现全局与局部控制;3) 参数绑定,涵盖多种来源;4) 结构体绑定与字段校验,确保数据合法性;5) 自定义校验器扩展功能;6) 统一错误处理提升用户体验。Gin以清晰模块化、流程可控及自动化校验等优势,成为开发者的优选工具。
|
JSON 编解码 API
Go语言网络编程:使用 net/http 构建 RESTful API
本章介绍如何使用 Go 语言的 `net/http` 标准库构建 RESTful API。内容涵盖 RESTful API 的基本概念及规范,包括 GET、POST、PUT 和 DELETE 方法的实现。通过定义用户数据结构和模拟数据库,逐步实现获取用户列表、创建用户、更新用户、删除用户的 HTTP 路由处理函数。同时提供辅助函数用于路径参数解析,并展示如何设置路由器启动服务。最后通过 curl 或 Postman 测试接口功能。章节总结了路由分发、JSON 编解码、方法区分、并发安全管理和路径参数解析等关键点,为更复杂需求推荐第三方框架如 Gin、Echo 和 Chi。