R语言多元动态条件相关DCC-MVGARCH、常相关CCC-MVGARCH模型进行多变量波动率预测...

news2024/9/20 14:27:57

全文下载链接:http://tecdat.cn/?p=23287

在本文中,当从单变量波动率预测跳到多变量波动率预测时,我们需要明白,现在我们不仅要预测单变量波动率元素,还要预测协方差元素点击文末“阅读原文”获取完整代码数据

相关视频

引言

假设你有两个序列,那么这个协方差元素就是2乘2方差-协方差矩阵的对角线。我们应该使用的准确术语是 "方差-协方差矩阵",因为该矩阵由对角线上的方差元素和非对角线上的协方差元素组成。但是由于读 "方差-协方差矩阵 "非常累人,所以通常被称为协方差矩阵,或者有时不太正式地称为var-covar矩阵。

如果你还在读这篇文章,说明你在建立相关关系模型方面有一些经验。鉴于你知道各个序列的方差c0b3ea4c4650a562f30525f2411aaa83.png,相关和协方差之间的联系是直接的。 

0c8c0dd0c3ac43ee45a923a45d081b98.png

所以当我第一次研究这个问题时,我不明白为什么我们不单独建立所有非对角线的模型,例如使用样本成对相关的滚动窗口呢?你想有一个有效的相关矩阵,这意味着对称(很容易施加)和正负无限。

首先,为什么非负定属性很重要,其次,为什么它不容易施加。把非负定属性看作是多变量的,相当于单变量情况下对波动率的正向施加。你不会想让你的模型生成负的波动率吧?在单变量的情况下,b57415be034882a5c92cf3c42e9165e0.png乘以任何平方数,我们都可以保持在正数的范围内。在更高的维度上,确保协方差的 "正性 "涉及到乘法,不是乘以一个平方的标量,而是乘以一个 "平方 "的矢量。

将XC表示为居中的随机变量X,所以abebba3e8bc6585876118a764a70b3d4.png 。现在根据定义83f06410a94c97565a15b629780ff85b.png是一个协方差矩阵,显然是非负定的。现在,如果我们用矩阵乘以一个 "平方 "向量,fe3056272dfbc5f5679f2ab63b4e7d12.png我们可以将向量 "插入 "期望值中(因为(1)向量不是随机变量,以及(2)期望算子的线性)。我们(应该)仍然得到非负定矩阵92f247fb017e7a0ca21eb937b235c741.png。  你用哪个向量2488f61f443fec985935fbb1dcbffaac.png并不重要,因为它是 "平方 "的。

如果我们对协方差条目进行单独建模,并将它们 "修补 "成一个矩阵,将每个成对的协方差放在正确的位置(例如,变量1和变量3之间的协方差在条目69132de18fab858926543b08eb968db5.png和 d5eca7a72d202d0b9b69f542a623d6ef.png,不能保证我们最终得到一个非负定的矩阵。由于不存在非负定的协方差矩阵,那么我们就有可能得到一个无效的协方差矩阵。

从业人员由于摆脱了繁琐的学术判断过程,可能会摆脱这个理论上的失误。然而,还有其他问题,在本质上是计算上的问题。一个非负的无限矩阵可以有零或负的行列式。在许多贝叶斯的应用中,我们希望使用精确矩阵而不是协方差矩阵。为了计算精确矩阵,我们简单地反转协方差矩阵,但这意味着我们要除以行列式,因此,行列式为零就会产生问题。

文献中的主要构建模块是GARCH过程。假设我们有一个随机变量c1220d43ad1858d0795aa9ef72944d9b.png,我们可以用它的波动率来建模。 

(1) 9ecdff5b80566271b6976c54f9846477.png

很容易理解。对于今天的波动率来说,重要的是昨天的波动率358053c5ab9f4f076a8c9969df920ba7.png,特别强调的是昨天的冲击,c732954fa04b1b7576a6938149b332d1.png。请记住,如果dfeac007e87148f7df1c2a8ebba496be.png,那么8d1bdec7ab6e5b95cdfe0b0e32c0a3dd.png仅仅是对方差8ed4a82c1552a07fb337d565b1991725.png的估计,而没有考虑到t-1以前的任何情况。

提高维度

现在,添加另一个随机变量0949a33dc517591776eecdeba4efdc20.png 。你现在有两个波动率和一个协方差项。但是,为什么不以向量自动回归(VAR)扩展自动回归的同样方式来扩展这个过程?进入VEC模型。

(2) 106d10405e9a7bee1f420a509a1dbeda.png

这里453b50cc8830547d7a8f196670e97662.png是一个矢量化运算符,将一个矩阵作为一个矢量进行堆叠。由于矩阵的对称性,我们不需要所有的系数,所以更好的表述:

(3) 76353f3e279515c54d67f5ca871d2bbf.png

这个模型背后的直觉与VAR的基础是一样的。也许当股票的波动率高时,债券的波动率就低,也许当债券的波动率高时,与股票的协方差就高,等等。

这个模型的一个潜在问题,也是与VAR相似的,就是波动率是独立的过程,这意味着只有A和B的对角线是重要的,在这种情况下,我们只是用不必要的估计噪音来干扰这个模型。之前提到的另一个计算问题是,由于我们没有对矩阵过程本身进行建模,而是对三个项逐一进行建模,所以我们不能确保结果是一个有效的协方差矩阵,特别是没有施加非负-无限约束。BEKK模型(Baba, Engle, Kraft and Kroner, 1990)取得了这一进展。有一个很好的理由不详细讨论这些 "第一代 "模型。它们对于少数几个变量来说是非常难以估计的。我没有亲自尝试过那些模型。对于这些模型,即使人们成功地进行了估计,就实践者而言,估计的复杂性给结果带来了很大问题。

CCC 和DCC

恩格尔(2002)在其开创性的论文中提出了下一个重要的步骤,随后文献中出现了一个高潮。"Dynamic Conditional Correlation: 一类简单的多变量广义自回归条件异方差模型"。从摘要中可以看出:"这些(模型)具有单变量GARCH模型的灵活性,加上参数化的相关模型"。这类条件相关模型的关键切入点是要认识到 

(4) abbef12730398964456c50886c1f3334.png

2ba35912aa1a7a8d6e1d21d6868998af.png是一个矩阵,对角线上是各个序列的波动率(现在单独估计),对角线外是零。这只是以矩阵形式对我们开始时的常规方程进行了处理。2e35d4e1a11702dbd1cf2726214856d9.png ,因为67be9a67bf2b2ba4ec4b99ed1ff0e9ab.png。现在具备几个条件:

  • 7ad7af5057242667c009cbc74d948933.png对角线和非对角线分开,你可以用通常的单变量GARCH估计值来 "填补 "这个对角线。非对角线是由相关矩阵给出的,我们现在可以对其进行决定。当我们假设一个恒定的相关矩阵(CCC),也就是说30c6a8af6733af0ace44bc200a990d6b.png,我们可以自然地使用样本相关矩阵。我们可以假设该矩阵894c0c68aff779e6cc079fa5ac322919.png是时变的,并使用滚动窗口或指数衰减权重或其他方式来估计它。

  • 由于二次形式2bbf3acdbe266887be9390bb7a3f1a7e.png,并且因为8629e282e8a286c45573b8eba5ac91fb.png是相关矩阵,我们肯定会得到一个有效的协方差矩阵,即使我们使用恒定的相关矩阵,它也是时间变化的。

  • 由于这种对角线与非对角线的分离,我们实际上可以处理许多变量,与 "第一代 "类模型非常不同。我认为,这是该模型被接受和流行的主要原因。

现在我们进行估计。

使用R进行估算

让我们得到一些数据。我们提取三个ETF的过去几年的数据。SPY(追踪标准普尔500指数),TLT和IEF(分别追踪长期和中期债券)。

k <- 3 # 多少年数据
sym = c('SPY', 'TLT', "IEF") #  标准普尔500指数,长期和中期债券,所有ETFs
for (i in 1:l)getSymbols(sym\[i\], src="yahoo", from=start, to=end)
ret <- na.omit(ret)#  删除第一个观察值

现在来演示如何使用CCC和DCC模型构建协方差矩阵。我们首先得到单变量波动率。我们需要它们,它们位于对角线矩阵0a723ce4bc695cc3e8cd43e803f97c18.png的对角线上。我们用重尾的不对称GARCH来估计它们。

garch(distribution="std") #std是学生t分布

volatilityfit # 用一个矩阵来保存三种资产的波动率

for (i in 1:l) model = ugarchfit(spec,ret\[,i\])

现在,一旦我们有了2f95511305871d94391d36aced2c8e4e.png,我们就能够创建基于CCC和DCC的协方差矩阵。对于CCC(恒定条件相关),我们使用样本相关矩阵,而对于DCC(动态),我们使用基于例如3个月的移动窗口估计的相关矩阵。

# 创建一个CCC模型的协方差

nassets <- l #  为了提高可读性,l看起来太像1了。

# 为不同时期的矩阵制作容器。

array(dim=c(n, nassets, TT))

# 计算样本无条件的相关矩阵。

samp_cor <- cor(ret) # 在整个循环过程中会保持不变

wind <- 60 # 大概三个月的时间

for (i in (w+1):TT)
(volatilitfit\[i,\])*diag(assets)
cov_ccc
cor_tv 
cov\_dcc<- dt %*% cor\_tv\[,,i\] %*% dt

结果

结果按年计算,并乘以100,转为百分比,以提高可读性。绘制它。

par()$mar # 边距

plot(ann*cov_ccc\[1,1,\]~time

plot(ann*cov_ccc\[1,2,\]~time)

8b3792c52141c9c194fae7fb4d0c2a08.png


点击标题查阅往期内容

809eb318354f6b04b1c1abcf393bf0af.jpeg

GARCH-DCC模型和DCC(MVT)建模估计

outside_default.png

左右滑动查看更多

outside_default.png

01

8df3adf9c7b02791ebf6afaa3f90605c.png

02

1c8efb4d58a52a8d6e791b81fdef31c5.png

03

bfebc52cdbd9c10e349c01edc5ed2539.png

04

12d6d3406ff9d36efe7e48e2c06122e3.png

在上图中,我们有协方差矩阵的对角线。我们看到(1)中期债券的波动性最低,正如预期的那样,(2)SPY的波动性很大,方差也很高。(3) 曲线长端的方差高于中期的方差,这是收益率曲线文献中一个典型的事实。(4) 有趣的是,长期债券的波动性一直在上升,这可能是对即将提高政策利率的高度警觉。

在下图中,我们有三个协方差项,一次是假设CCC的估计(实线),一次是假设DCC的估计(虚线)。对于中期和长期债券之间的协方差,如果你假设恒定或动态相关矩阵,并不重要。然而,这对SPY与债券的协方差项确实很重要。例如,基于DCC的协方差矩阵认为在2013年中期股票和债券之间的协方差几乎为零,而基于CCC的协方差则表明在此期间的协方差为负。究竟是恒定的还是动态的,对跨资产投资组合的构建可能有很大的影响。


2f1a01ed4706b2a0d67b0968dcbfe0dd.png

本文摘选R语言多元动态条件相关DCC-MVGARCH、常相关CCC-MVGARCH模型进行多变量波动率预测,点击“阅读原文”获取全文完整资料。


点击标题查阅往期内容

R语言用Garch模型和回归模型对股票价格分析

R语言对S&P500股票指数进行ARIMA + GARCH交易策略

R语言ARMA GARCH COPULA模型拟合股票收益率时间序列和模拟可视化

ARMA-GARCH-COPULA模型和金融时间序列案例

时间序列分析:ARIMA GARCH模型分析股票价格数据

GJR-GARCH和GARCH波动率预测普尔指数时间序列和Mincer Zarnowitz回归、DM检验、JB检验

【视频】时间序列分析:ARIMA-ARCH / GARCH模型分析股票价格

时间序列GARCH模型分析股市波动率

PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化

极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析

Garch波动率预测的区制转移交易策略

金融时间序列模型ARIMA 和GARCH 在股票市场预测应用

时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格

R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据

R语言GARCH建模常用软件包比较、拟合标准普尔SP 500指数波动率时间序列和预测可视化

Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用

MATLAB用GARCH模型对股票市场收益率时间序列波动的拟合与预测

R语言GARCH-DCC模型和DCC(MVT)建模估计

Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列

R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格

R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列

Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测

R语言时间序列GARCH模型分析股市波动率

R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测

matlab实现MCMC的马尔可夫转换ARMA - GARCH模型估计

Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测

使用R语言对S&P500股票指数进行ARIMA + GARCH交易策略

R语言用多元ARMA,GARCH ,EWMA, ETS,随机波动率SV模型对金融时间序列数据建模

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析

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

R语言使用多元AR-GARCH模型衡量市场风险

R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格

R语言用Garch模型和回归模型对股票价格分析

GARCH(1,1),MA以及历史模拟法的VaR比较

matlab估计arma garch 条件均值和方差模型

R语言POT超阈值模型和极值理论EVT分析

欲获取全文文件,请点击左下角“阅读原文”。

3684c36b57ca55034f3d48320fe7b85a.gif

d11dbc81e34f003ba7f4b519cc9c0b4f.png

69c6d9bdb7a60787b6d427c673ec3cc1.jpeg

c95b914cff02b93c2638445954cb344e.png

欲获取全文文件,请点击左下角“阅读原文”。

da19f70bccb45561ff2240839b97d63a.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/68482.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

web安全之通过sqlmap工具进行靶场练习

目录 基础语法 get类型的注入 post类型的注入 基础语法 -u:用于get提交方式&#xff0c;后面跟注入的url网址 --dbs&#xff1a;获取所有数据库 --tables&#xff1a;获取所有数据表 --columns&#xff1a;获取所有字段 --dump&#xff1a;打印数据 -D&#xff1a;查询选择某…

火到爆的扩散模型(Diffusion Model)帮你具象化幻想世界

Diffusion Model 如果你对人工智能有所了解&#xff0c;想必已经听说过Diffusion Model了。如果还没有&#xff0c;那就一起来了解一下吧—— 扩散&#xff08;Diffusion&#xff09;对于人能智能而言&#xff0c;是一个借用的概念。在热力学中&#xff0c;它指细小颗粒从高密度…

调节盘的三维建模及加工工艺规程设计

目录 1 调节盘分析 - 1 - 1.1 调节盘结构特点 - 1 - 1.2 调节盘的工艺分析 - 2 - 1.3 调节盘的技术要求 - 3 - 2 毛坯的选择 - 4 - 2.1 毛坯的类型 - 4 - 2.2 毛坯余量的确定 - 4 - 2.3 毛坯草图 - 5 - 3 工艺规程设计 - 6 - 3.1 定位基准的选择 - 6 - 3.1.1 粗基准的选择 - 6 …

2022系统分析师下午卷(案例分析)

试题一&#xff08;共 25 分&#xff09; 阅读以下关于软件系统分析与建模的叙述&#xff0c;在答题纸上回答问题 1 至问题 3。 【说明】 某软件公司拟开发一套博客系统&#xff0c;要求能够向用户提供一个便捷发布自已心得&#xff0c;及时有效的与他人进行交流的平台。新用户…

新手学习3D建模,弯道超车攻略!

你做三四月的事&#xff0c;在八九月自有答案。​ – 余世存 &#x1f4dd;学建模最重要的是每天抽时间练习 &#x1f33b;给大家准备了200天建模打卡攻略练习素材 &#x1f4d4;人体解剖雕塑学&#xff08;骨骼、肌肉等电子版&#x1f4af;&#xff09; &#x1f4d2;3dmax…

第4季6:图像sensor的寄存器操作

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 一、sensor_write_register函数的解析 在第4季4&#xff1a;图像sensor的驱动源码解析中写到&#xff0c;sensor_register_callback函数的调用关系如下&#xff1a; sensor_register_callback …

英文Paper写作怎么确实合适的介词?

Paper写作中&#xff0c;介词是非常常见的&#xff0c;介词虽是小词&#xff0c;数量也不多&#xff0c;但灵活多变&#xff0c;随处可见&#xff0c;功能强大而且难于掌握。我们不可小看这个角色&#xff0c;不可忽视它在不同句子中的作用&#xff0c;Paper写作过程中应该如何…

读取HDFS数据写入MySQL_大数据培训

读取HDFS数据写入MySQL 1&#xff09;将上个案例上传的文件改名 [atguiguhadoop102 datax]$ hadoop fs -mv /student.txt* /student.txt 2&#xff09;查看官方模板 [atguiguhadoop102 datax]$ python bin/datax.py -r hdfsreader -w mysqlwriter { “job”: { “content”…

高阶测试开发必备技能: k8s入门

现在稍微有点规模公司都是基于docker容器化部署技巧&#xff0c;K8s现在主流&#xff0c;应用最广的容器集群管理技术。 k8s全称kubernetes&#xff08;首字母为 k、首字母与尾字母之间有 8 个字符、尾字母为 s&#xff0c;所以简称 k8s&#xff09;&#xff0c;基于Docker容器…

微服务架构10个最重要的设计模式,带你了解,完全熟悉

自从软件开发的早期(1960年代)以来&#xff0c;解决大型软件系统中的复杂性一直是一项艰巨的任务。多年来&#xff0c;软件工程师和架构师为解决软件系统的复杂性进行了许多尝试&#xff1a;David Parnas的模块化和信息隐藏(1972)&#xff0c;Edsger W. Dijkstra的关注分离(197…

关于ElasticSearch日期格式不一致的异常,可以这么解决

最近壹哥的一个学生&#xff0c;在利用spring-data-elasticsearch访问ElasticSearch(ES)时&#xff0c;遇到了一个关于日期类型的BUG&#xff0c;困扰了很久。然后他就找壹哥给他解决&#xff0c;接下来壹哥就把解决的过程给大家复现一下&#xff0c;希望本文可以给遇到同样问题…

构建灵活订单系统,B2B撮合管理系统提升光伏企业订单管理效率

光伏系统是利用半导体光生伏特效应将太阳能转化为电能的发电系统。过去20年&#xff0c;我国光伏制造业快速发展&#xff0c;由弱变强。经过20年高速发展&#xff0c;我国在硅片、电池片、组件制造等多领域处于世界领先水平&#xff0c;我国已经成为全球第一大光伏生产国、消费…

深度学习Week9-YOLOv5-C3模块实现(Pytorch)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f366; 参考文章&#xff1a;Pytorch实战 | 第P8天&#xff1a;YOLOv5-C3模块实现(训练营内部成员可读)&#x1f356; 原作者&#xff1a;K同学啊|接辅导、项目定制了解C3的结构&#xff0c;方便…

前端Gitee + Jenkins自动化实战(转)

# 前端Gitee Jenkins自动化实战 当我们熟悉了Jenkins 的使用后&#xff0c;接下来我们来配置一个基于 vue-element-admin 的实战项目&#xff0c;来感受一下自动化流程带给我们的优势。 首先我们需要创建一个 git 项目&#xff0c;至于代码仓库可以自选&#xff0c;这里为了…

RocketMq: Windows环境-单机部署和多种主从集群场景部署

关于默认端口 broker的默认端口有3个,10911, 10912, 10909。 10911是remotingServer使用的监听端口,remotingServer主要处理以下三类消息: producer发送的消息 conumser在消费失败或者消费超时发送的消息 consumer拉取消息10912是主broker用于监听从broker请求…

HTML学生个人网站作业设计:公益专题扫黑除恶(HTML+CSS)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

扩散模型Diffusion轻松入门

如果要问最近模型领域什么东西最火&#xff0c;应该非扩散模型莫属&#xff0c;火得我觉得不系统学习一下都不行&#xff01; 本文是我的学习笔记&#xff0c;只能叫入门文章&#xff0c;因为扩散模型的严谨数学推导公式很多&#xff0c;还没有研究透彻&#xff0c;不敢说一文…

c语言:关键字(二)

关键字一.声明的关键词—extern二.最名不符实的关键字—static一.声明的关键词—extern 首先这里问两个问题 1.变量可以跨文件访问吗&#xff1f; 2.函数可以跨文件访问吗&#xff1f; 答案是都可以 那么什么是跨文件呢&#xff1f; 我在game.c里定义show函数&#xff0c;但…

Vue2基础篇-01-Vue2 入门概述

1. 概述 该教程站在小白的角度&#xff0c;去帮助理解和使用&#xff0c;达到入门的效果&#xff1b;该教程覆盖面比较浅&#xff0c;更多详情请查阅 Vue2文档 &#xff0c;目前最新是Vue3文档&#xff0c;但是Vue2是公司目前大多数使用的&#xff1b;欢迎大家一起指正并下方留…

Unity 符号表

目录 前言 关于Unity符号表 正文 程序crash日志&#xff1a; 解析 后记 记一次 Bugly 崩溃查找过程 unity-il2cpp&#xff1a; 前言 关于Unity符号表 关于项目真机调试时的崩溃问题&#xff0c;一般可以 logcat 或 xcode 看到相关的crash日志&#xff0c;拿到崩溃时的堆…