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

Python09

dcc-garch原理简介和模型实现,第1张

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

量化交易是指以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种“大概率”事件以制定策略,极大地减少了投资者情绪波动的影响,避免在市场极度狂热或悲观的情况下作出非理性的投资决策。

在当前图形区域的四个边缘之一,显示文本。

mtext(text, side = 3, line = 0, outer = FALSE, at = NA,

adj = NA, padj = NA, cex = NA, col = NA, font = NA, ...)

text是文本内容。side指定是哪个页边空白(1=下面,2=左边,3=上边,4=右边)。line指定文字出现的位置,文字和对应坐标轴平行。从坐标轴开始向外从0开始计数。具体设为多少合适需要自己尝试。at,以用户坐标指定字符串位置。adj 调整阅读方向。为使字符串平行坐标轴,adj=0,意味着左对齐或下对齐,而adj=1表示右对齐或上对齐。padj 调整每个字符串垂直阅读的方向(它通过adj控制)。对于平行轴的字符串, padj=0表示右或上对齐,padj=1表示左或下对齐。cex字体大小因子,默认为1,实际输出字体相对于默认字体的大小比例,得尝试才知道设为多少合适。font文字字体。 col是色彩。