dcc-garch原理简介和模型实现

2024-05-16

1. dcc-garch原理简介和模型实现

DCC-GARCH(DynamicConditional Corelational Autoregressive Conditional Heteroscedasticity Model)用于研究市场间 波动率 的关系。
  
 接下来我们按照GARCH族模型的发展历程来梳理一遍
  
 研究对象:波动率的时间序列,即研究当期波动率与上一期波动率之间的关系。常用于存在波动急剧现象的时间序列,最简单关系的就是线性方程,即:
                                                                                  
 ARCH和GARCH的含义一样,第一个方程称为均值方程,表示均值和以往均值的关系,第二个方程是条件方差方程,称为ARCH方程,一个表示方差和以往方差的关系。GARCH可以减少待估参数,即AR(q)等价于GARCH(1,1),实际应用中GARCH(1,1)一般可以满足要求。
  
  两个模型要求(1)xt平稳;(2)ut存在arch效应 
  
 (1)只有xt平稳,我们才可以从当前状态推导出未来的趋势,如果不平稳,根据当前数据计算出来的东西对未来没有任何意义,两个变量间的相关性不一定真实(伪回归问题)。平稳性展开可以讲很多东西( 如何深入理解时间序列分析中的平稳性?—知乎 ),这里先大致说一下平稳性的数学推导和软件实现。
                                          
 第二个方程除了要求平稳,还要求系数均大于0(这样才能保证方差的非负性)
  
 (2)ARCH效应的检验有两种方法:Ljung-Box Q检验和arch-LM检验
  
 所谓ARCH效应即残差的异方差性,表现为残差平方项(ut^2)存在自相关,Q检验是直接看自相关系数(p=0存在arch效应),LM检验是看方差方程的系数是否全部为零(p=0存在arch效应)。
  
 Eviews中,做完xt的自回归后,在view下的residual test 可以找到 Qstatistic 和 serial correlation LM test;stata中,Q检验要先搞出来残差序列,命令为:predict r, residual, 然后做自相关Q检验:corrgram r^2,LM检验是做完xt的自回归后,输入命令:estat archlm, lags(p)
  
 (3)有的文献会检验残差的自相关性,看看均值方程是否已经消除了xt的自相关性。
  
  ARCH和GARCH的软件实现 
  
 stata: (GARCH(1, 1)): arch xt, arch(1) garch(1)
  
 个人而言,我比较喜欢用stata做ARCH和GARCH
  
 (1)TGARCH称为门限ARCH模型,表示利好消息和利空消息对条件方差的影响不同。
  
 EGARCH,GJR-GARCH,APARCH也是考虑杠杆效应的GARCH衍生模型.
  
 (2)ABSGARCH称为绝对值ARCH模型,把ut^2换成ut的绝对值,减小了ut的幅度
  
 (3)IGARCH称为方差无穷GARCH模型,把GARCH的两个参数合为一个参数,简化了计算
  
 (4)GARCH-M称为均值GARCH模型,在均值方程中加入了一个方差变量,主要是因为风险越大投资回报率越大
  
 ……
  
 单变量的GARCH用来分析序列的波动集聚特征,多变量的GARCH用来分析不同序列间的波动是否相关,有多么相关。
  
 所谓多元。就是把原来的一个序列拓展成为包括多个序列的矩阵,于是方差序列也随着拓展成为协方差矩阵(Ht),如何算出矩阵方程的参数这种高深的数学问题不是我等学术菜鸟目前可以解决的问题,我们比较关心怎么用。
  
 按照多元GARCH模型的提出时间,依次是:CCC(1990)、BEKK(1995)、DCC(2001)。DCC的估计包括两个步骤:
  
 DCC的结果中,系数a+β<1说明模型稳定,即动态相关关系有效。a表示残差对不同序列方差相关系数的影响程度,用经济语言来说就是新信息对市场波动相关性的影响程度;β表示以往市场波动相关对现在市场波动相关的影响程度,即市场波动相关性的持续程度。
  
 另外就是看条件动态相关系数图,结合实际情况做出合乎经济学理论的解释。
  
 DCC模型估计完参数后,还要进行假设检验,检验动态相关系数和常相关系数是否有显著差异。(stata的命令为:test _b[Adjustment:lambda1]=_b[Adjustment:lambda2])可以参考论文: DCC-MVGARCH模型计算方法研究及在金融市场中的应用 
  
 GARCH常常和Copula函数结合,Copula-GARCH和DCC-GARCH的功能类似,都是看不同市场间的相关性。
  
 1.  R程序包 有几个DCC的实现,需要研究一下文档。
  
 2. Matlab可以用Kevin Sheppard的Matlab  MFE toolbox ;
  
 3. Eviews是菜单式操作,可以实现单序列的garch,不知道能否做多元arch;
  
 4. stata

dcc-garch原理简介和模型实现

2. 怎么求解非对称的GARCH(1,1)模型,用stata或者其他的计量经济软件??

用stata就可以啦
里面有很多garch模型可以选择

3. 什么是arch模型和garch模型?

1、ARCH模型(Autoregressive conditional heteroskedasticity model)全称“自回归条件异方差模型”,解决了传统的计量经济学对时间序列变量的第二个假设(方差恒定)所引起的问题。
2、GARCH模型称为广义ARCH模型,是ARCH模型的拓展,由Bollerslev(1986)发展起来的。
(1)GARCH模型(波勒斯勒夫(Bollerslev),1986年)。GARCH(p,q)模型为:



(2)GARCH-M模型把异方差项引入平均数方程式。一个简单的GARCH-M(1,1)模型可以表示为:







扩展资料:
GARCH的发展:
传统的计量经济学对时间序列变量的第二个假设:假定时间序列变量的波动幅度(方差)是固定的,不符合实际,比如,人们早就发现股票收益的波动幅度是随时间而变化的,并非常数。这使得传统的时间序列分析对实际问题并不有效。
罗伯特·恩格尔在1982年发表在《计量经济学》杂志(Econometrica)的一篇论文中提出了ARCH模型解决了时间序列的波动性(volatility)问题,当时他研究的是英国通货膨胀率的波动性。
参考资料来源:百度百科-GARCH模型
参考资料来源:百度百科-ARCH模型

什么是arch模型和garch模型?

4. 金融风险管理:风险价值VaR和局部均值ES的度量

 风险是与收益相对应的概念,正是因为市场具有波动性,既有获得收益的可能,也有可能造成损失的可能,造成损失的可能就是风险。在风险管理当中我们看重的是风险,而风险的来源是 不确定性 ,也即是 波动 。虽然是不确定性,但是假如我们给定一定的假设,建立一套模型,可以在某种程度上理解风险出现的可能性以及对我们造成的影响,不一定能避免风险,但是能够增加对它的理性认识。有三个问题是我们要思考的:
   关于第一个问题在上小节已经说过,那么说一下如何测度风险。风险度量工具常用有:
   VaR指的是在一定置信区间内和一定时间内的 最大损失金额 。   举个例子。某个银行发行某一种基金或者资产组合,它在1天期限内的99%的风险度量VaR为6000万元。   关于这点可以有以下三种理解:
    绘制概率密度图 
                                           上图画的是一个标准正态分布分布,从-3到3.   其中95%的置信区间对应的分位点即是VaR值,所以VaR值是相对于没有损失风险的一个分位数。   绘制累积分布函数
                                           VaR有自身的缺点,不满足次可加性原则(关于次可加性我还是不是很理解),所以没有办法计算资产组合的VaR值。同时对于尾部的刻画,我们一无所知,也就是我们关心的是置信区间里面的事,但是对于万一我们确实损失值出现在了置信区间以外的话,这个损失的尾部分布是如何的呢?期望又是如何?这点VaR没有办法告诉我们,但是ES可以弥补以上两个缺点。
   ES是指损失超过了VaR以后,尾部损失的一个 期望值 。计算公式如下:   
                                           
   照理来说,给定一定的置信区间和时间T,对照着正态分布的表格应该可以查找出对应的VaR值。但实际上收益率的分布并不满足正态分布,但是模型的作用并不是反映出细枝末节,而是给定一定的前提假设,这个模型能够有多大程度能够接近现实?
   对于一个投资组合,Delta-normal方法的前提假设有两个:
   从以上这个假设我们知道了 资产的收益率组合是满足正态分布的 ,而我们要求VaR,根据概念就是把这个 正态分布的分位数 找出来。我们知道,正态分布最重要的两个参数是均值还有标准差(或者方差),分别决定了分布的平移和拉伸压缩。在这里我们用标准差,不用方差,原因是标准差与均值具有相同的单位。在经济学或者风险管理当中,统计学当中的sigma通常叫做 波动率 ,实际上是一个意思。   假设我们有价值为1的资产组合,给定置信区间为c,收益率的均值为0(标准正态分布的收益率为0)那么计算未来一天的
                                                                                   
   在这里alpha是可以通过置信水平找出来的,关键在于波动率sigma怎么求?所以接下来的重点在如何通过历史估算投资资产收益率的波动率。
   建模之前,我们需要了解的是,我们是根据历史来建模的,也就是认为过去历史是包含着一定的趋势的,并且这个趋势是会延续下去的(但我们知道随时可能会有新的冲击),并且我们要理解模型是为了刻画出数据的趋势的,真实数据与预测值之间会有残差,但真实数据扣除掉预测值之后留下的残差应该是随机波动的,也就是它们不会有相关性,这样才能说我们这个模型把数据的趋势挖掘得够彻底了。   假如收益率序列为rt,rt是由两部分组成的:本身的均值ut以及随机扰动项at。表示如下:
                                           ,其中ut是满足ARMA(p, q)模型的,也就是前面一项是p个滞后项的历史收益率的自回归项,后面一项是q个滞后项的移动平均项。如下表示:
                                           ARCH(p)模型假设:   t时刻的扰动项
                                                                                   
   
                                           
                                           与ARCH模型不同的是,除了有扰动项的线性组合外,还有q项历史滞后项sigma的移动平均项。   GARCH(p, q)模型假设:
                                                                                   其中扰动项的因子varepsilon t范围是(0, 1),
                                                                                                                                                                   
   RiskMetrics是JP Morgan提出的风险度量技术,这里只涉及简单形式。这个方法认为的是,对于t时刻的扰动项  ,给定t-1时刻的信息,那么  是满足正态分布的。其中,sigma的表示方法如下:   
                                           
                                           
   
                                           接下来我们要通过谷歌五年的历史数据预测未来一周内可能遭受的最大损失和损失的平均值。   首先获取数据:
   然后我们接下来要用到rugarch这个工具包,可以通过install.packages()这个方法来安装。
   接下来我们将损失变量求出来,把负对数收益率百分比化后作为损失变量
   建模包括两部分:均值方程和波动方程。均值方程是满足ARMA(p, q)模型,因此要进行建立ARMA(p, q)模型一般的步骤:
                                           对于波动方程则首先要检验ARCH效应,也即是检验残差项是否二次相关。
                                           在这里说明一下,其实我们做了这么多,都是在提纯 相关性 ,ARMA刻画的是线性相关,而GARCH刻画的是非线性相关性。我们在 不断地剔除掉相关性 ,这样当相关性被完全剔除掉之后,剩下的就是随机波动的白噪声,比如在这里最后的ARCH模型建立完之后最后一个要做的就是扣除掉残差的残差后,是否剩下来的白噪声是满足一定的分布(比如GARCH就要求满足正态分布,只有这样,我们才能相信这样的白噪声是天然就存在的噪音,没有包含主要信息)。我们在前面建立了ARMA模型之后,剔除的是线性相关性,但是剩下来跟均值的差(也就是差异)是一个波动,根据我们上面提到的GARCH模型,它是可能存在着二次序列相关的,所以我们在GARCH模型建模的时候,相当于对这部分波动进行二次相关性的拟合(跟ARMA建模是一样的操作),然后再检验上一步ARMA的'残差'的残差是否还具有相关性,如果没有了,就说明相关性刻画完全了,否则还得重新选择参数,建立更好的GARCH模型去拟合这部分残差。然后最后扣除所有相关性到最后,就是白噪声了,要看这个白噪声是否真的那么无辜,所以就看它是否满足正态分布。   在这里的话,其实收益率的自相关性是十分微弱的(否则人人都可以轻松预测套利),所以就不必建立ARMA模型,直接以算术平均值来代替均值方程,接下来会重点建立GARCH模型。
   我们直接运用GARCH(1, 1)模型,关于模型的选择一般p,q不超过2,关于模型选择和检验这里不做探讨。
   我们可以看到我们的ugarch模型当中的均值方程的参数mean.model设置的阶次p,q为(0, 0),并且包含了均值项,说明我们这里以简单的算术平均值作为均值方程。variance.model的波动方程的阶次p, q设为(1, 1),然后根据历史损失率来建模,向前5步预测一周的情况,设置n.ahead=5。
   输出结果
   
   
                                           ,然后我们就可以计算VaR还有ES。
                                           输出结果
   这就说明在95%的置信水平下,5天里面最大可能损失不超过¥1000000 x 4.755209% =¥4755209,发生损失的均值为¥1000000 x 5.963223% =¥5963223   在这里我多补充一下,原本有点不太理解ES的计算,我们在这里仔细看一下其实qnorm(0.95)就是返回95%置信水平下的分位数,dnorm函数则是返回这个分位数下的密度概率,0.05则是尾部的累积概率(可以理解为95%置信水平之后所有可能发生的损失值,也就是左边的那块面积),所以人如其名,尾部均值就是求在0.95对应的分位点下的概率与对应的损失大小占总的左边的那块面积的大小(可以理解为最终发生的损失既跟发生的概率有关也跟该概率下发生损失的大小有关)。
                                           
   
                                           作为一个整体,其实我们也可以先预测1天的sigma,然后乘以sqrt(5),结果稍微有些不同。
   在这里RiskMetrics的建模方式和GARCH的建模方式是相同的,不同的在于要选择参数(p, q)为(1, 1),并且没有漂移项alpha0,在模型的参数model选择'igarch'即可。
   输出结果
   这就说明在95%的置信水平下,5天里面最大可能损失不超过¥1000000 x 3.828855% =¥ 3828855,发生损失的均值为¥1000000 x 4.801539% =¥4801539   在这里的计算结果与GARCH模型预测的结果是有差异的,说明模型和参数(p, q)的选择对计算结果是有影响的。
   在这篇文章当中,我们介绍了VaR和ES的概念,GARCH模型,ARCH模型以及RiskMetrics方法计算VaR和ES的方法和流程,关键点在于对波动率的拟合,除了要知道怎么计算,还要知道什么时候能用这个模型。

5. Eviews中怎么操作AR-GARCH模型

以AR(3)-GARCH(2,1)模型为例:

首先在主窗口输入
LS RR RR(-1) (-2) (-3)
得出
Variable Coefficient Std. Error t-Statistic Prob. 
RR(-1) 0.007606 0.059014 0.128883 0.8975
RR(-2) 0.058005 0.058549 0.990707 0.3227
RR(-3) 0.121110 0.058985 2.053245 0.0410

然后在点estimate 在下拉选项中选择ARCH
在命令窗口中再次输入
LS RR RR(-1) (-2) (-3)
并在ARCH出填入2,GARCH处为1,得出结果

Variance backcast: ON 
GARCH = C(4) + C(5)*RESID(-1)^2 + C(6)*RESID(-2)^2 + C(7) 
*GARCH(-1) 

Coefficient Std. Error z-Statistic Prob. 

RR(-1) 0.013392 0.056863 0.235514 0.8138
RR(-2) 0.120481 0.062146 1.938671 0.0525
RR(-3) 0.095921 0.056070 1.710743 0.0871

Variance Equation 

C 0.000127 3.59E-05 3.553327 0.0004
RESID(-1)^2 -0.043907 0.029463 -1.490253 0.1362
RESID(-2)^2 0.248625 0.078855 3.152960 0.0016
GARCH(-1) 0.079769 0.211942 0.376372 0.7066

R-squared 0.003674 Mean dependent var 0.001397
Adjusted R-squared -0.017908 S.D. dependent var 0.013305
S.E. of regression 0.013423 Akaike info criterion -5.819411
Sum squared resid 0.049910 Schwarz criterion -5.729472
Log likelihood 833.3564 Durbin-Watson stat 1.974819

RR是上证综合指数的周收益,用此AR(3)-GARCH(2,1)是用残差来检验超额收益的。

Eviews中怎么操作AR-GARCH模型

6. GARCH(1,1)建模的波动方程中,加入一个虚拟变量,和另外一个时间序列变量,怎么用matlab估计参数

首先添加一个虚拟变量序列,操作时也增加了虚拟变量GARCH估计命令。如果你有两个虚拟变量的估计命令D1,D2,增加,或高的铁梅或保存街头的书,里面有详细的步骤可以参考,我这里有电子版的张小桐可能发行,需要你。

7. egarch模型和tarch模型的区别

模型估计股指期货推出对中国股市波动率的影响,加入虚拟变量,不显著但是用egarch(1,1)模型估计其杠杆性时,虚拟变量的p=0.0267

egarch模型和tarch模型的区别

8. var模型和garch模型的区别

先弄清楚VaR公式关键变量差项TGARCH(2,1)-GED模型条件差带入VaR计算即
最新文章
热门文章
推荐阅读