首页 > 其他分享 >R语言多元动态条件相关DCC-MVGARCH、常相关CCC-MVGARCH模型进行多变量波动率预测

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

时间:2022-12-06 20:55:47浏览次数:68  
标签:波动 模型 MVGARCH 矩阵 DCC 协方差 GARCH 序列 CCC

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

最近我们被客户要求撰写关于MVGARCH的研究报告,包括一些图形和统计输出。在本文中,当从单变量波动率预测跳到多变量波动率预测时,我们需要明白,现在我们不仅要预测单变量波动率元素,还要预测协方差元素

引言

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

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

图片

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

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

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

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

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

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

(1) 图片

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

提高维度

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

(2) 图片

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

(3) 图片

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

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

CCC 和DCC

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

(4) 图片

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

  • 图片对角线和非对角线分开,你可以用通常的单变量GARCH估计值来 "填补 "这个对角线。非对角线是由相关矩阵给出的,我们现在可以对其进行决定。当我们假设一个恒定的相关矩阵(CCC),也就是说图片,我们可以自然地使用样本相关矩阵。我们可以假设该矩阵图片是时变的,并使用滚动窗口或指数衰减权重或其他方式来估计它。
  • 由于二次形式图片,并且因为图片是相关矩阵,我们肯定会得到一个有效的协方差矩阵,即使我们使用恒定的相关矩阵,它也是时间变化的。
  • 由于这种对角线与非对角线的分离,我们实际上可以处理许多变量,与 "第一代 "类模型非常不同。我认为,这是该模型被接受和流行的主要原因。

现在我们进行估计。

使用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模型构建协方差矩阵。我们首先得到单变量波动率。我们需要它们,它们位于对角线矩阵图片的对角线上。我们用重尾的不对称GARCH来估计它们。

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

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

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

现在,一旦我们有了图片,我们就能够创建基于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)

图片


点击标题查阅往期内容

图片

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

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

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

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


图片

本文摘选 《 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分析

标签:波动,模型,MVGARCH,矩阵,DCC,协方差,GARCH,序列,CCC
From: https://www.cnblogs.com/tecdat/p/16960499.html

相关文章

  • DigitalKey CCC3.0 URSK
    URSK有什么用,如何用URSK用于安全测距时测距数据的加解密车辆使用安全测距SetupFlow去激活一个pre-derivedURSK。每个车钥匙最多有一个pre-derivedURSK。当另一个激活......
  • DCC从编译到运行
    DistributedConfigurationCenter分布式配置中心,基于DCF实现的一个状态机,用于实现集群中配置信息管理;openGaussCM依赖DCC组件对配置数据分布式存取,实现集群配置管理高......
  • Fibonaccci数列
         这是一个古典数学问题:有一对兔子,从出生后第三个月起每个月都生一对兔子。小兔子长到第三个月后每个月又生一对兔子。假设所有兔子都不死,问每个月的兔子总数为多......
  • [ccc3.0][数字钥匙] BLE配置和使用
    业主广播对于拥有者配对,只有传统(4.x)的LE1MPHY应使用。业主配对广告(ADV_IND)应遵循[30]第6卷B部分的2.3.1.1节。事件类型:可连接和可扫描ADV_IND由广告地址和广告数据组......
  • CCCC L3-032 关于深度优先搜索和逆序对的题应该不会很难吧这件事 【树状数组】
    https://pintia.cn/problem-sets/994805046380707840/exam/problems/1518582895035215872题意给你一棵树,给定树根,要求树的所有结点编号的dfs序中逆序对的数量总和,对结果......
  • R语言单变量和多变量(多元)动态条件相关系数DCC-GARCH模型分析股票收益率金融时间序列数
    全文下载链接:http://tecdat.cn/?p=25957当您处理金融时间序列时,我们通常可以获得相对高频的观察结果。例如,每天进行观察是很常见的。事实上,现在可以获得每小时、分钟、秒......
  • SDCC+XMAKE 51内核单片机排坑
    xmake是一款很方便的构建工具,只要在工程文件写入一个xmake.lua文件即可,以51单片机为例:target("test_xmake")--目标set_kind("binary")--生成二进制add_......
  • 下行物理信道和物理信号(PDCCH,PDSCH)
    Overview与LTE相比,NR的下行物理信道缩减为3类:   物理下行共享信道,PDSCH   物理广播信道,PBCH   物理下行控制信道,PDCCHNR的下行物理信号有以下几种:   解......
  • CCC3.0 Control Flow和Exchange
    控制流:  通知某个事件结束,进入到下一个事件;通知某个事件开启(删除attestation包,写数据);通知某个事件的结果和原因  Exchange:  在Auth0或者Auth1之后才能使用,依......
  • CCC3.0 SPAKE2+ SCP03
    SPAKE2手机端和车辆端在使用SPAKE2+存在的操作双端password、salt根据计算z0、z1。双端根据z0、z1计算w0、w1车辆端根据w1计算L手机端根据w0计算x,之后在ver......