楼主: 719812133
3847 6

[问答] 关于Billio(2005)版本的MRS-DCC-GARCH模型的理论推导与R语言编程计算问题 [推广有奖]

  • 0关注
  • 7粉丝

副教授

67%

还不是VIP/贵宾

-

威望
0
论坛币
7302 个
通用积分
753.6408
学术水平
41 点
热心指数
38 点
信用等级
33 点
经验
133462 点
帖子
90
精华
0
在线时间
1844 小时
注册时间
2016-1-20
最后登录
2025-12-17

楼主
719812133 学生认证  发表于 2020-4-17 05:26:21 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
       各位老师好,最近我在做一个金融时间序列模型的实证研究,模型是Markov regime switching dynamic conditional correlation model,我是按照Billio and Caporin (2005)这一篇论文进行模型学习与参考的,我把它放在了附件里,因为网上现在找不到现成的可用源代码或者二进制程序包能对这个模型顺利进行计算,所以我自己尝试用R语言对这个模型进行编程。我写的是两个状态的MRS-DCC-GARCH,现在debug结束以后,能计算出来结果,而且每一个时刻上的状态概率不会出现超过(0,1)的情况,一共有六个参数估计值,分别是α1,β1,α2,β2,p11,p22,但是参数很不显著,最好的时候只能有两个参数显著,经常有几个值会出现标准误(se)、t-value为NaN(非值)的情况,因为Hessian matrix(黑塞矩阵)不能顺利求逆,导致出现有的参数的se和t-value为NaN。
       所以我想请问下,出现上述这种NaN的情况会和什么因素有关?希望能听听大家的见解和想法,谢谢!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MRS-DCC-GARCH 马尔可夫机制转换模型

Vech函数操作.jpg (2.24 KB)

Vech函数的操作

Vech函数的操作

ms dcc.pdf
下载链接: https://bbs.pinggu.org/a-3132170.html

289.06 KB

MS-DCC-GARCH

已有 1 人评分论坛币 收起 理由
cheetahfly + 50 精彩帖子

总评分: 论坛币 + 50   查看全部评分

沙发
719812133 学生认证  发表于 2020-5-2 04:53:02
       我更正一下上述的问题,之所以出现se(标准误)为NaN,是因为在采用hessian matrix的逆矩阵的主对角线元素开方去计算得到se(标准误)这样的一个方法时,逆矩阵主对角线出现了负数的元素,所以在R里一开根号就变成了NaN,这个问题我经过多次尝试,发现和数据有较大的关系,目前尝试到最好的情况是所有数据的se(标准误),tvalue,pvalue都能正常计算,只是4-5个参数都不显著(一共六个参数)。
       程序我检查了,论文里的模型我也确认了,但还是没有什么进展,我知道在: https://bbs.pinggu.org/thread-1122846-1-1.html。这个2011年的帖子里有不少人讨论了这个MRS-DCC-GARCH的模型代码,但那时候大家讨论的那份代码是MATLAB写的,而且代码不能正常计算,还有很大的问题。后来我发现帖子里大家似乎对参数估计的方法各持己见,实际上按照Billio(2005)这篇论文,他们是用两步法去做参数估计的,也就是garch模型先进行参数估计,得到标准化残差,然后再用这些标准化残差作为数据去估计MRS-DCC,其他与MRS-DCC-GARCH相关的论文并未在参数估计与模型细节上讲述得太多,但根据我看过的几篇论文,有很多不是采用两步法,而是将garch(或者说条件方差模型)与MRS-DCC模型一起进行了参数估计。还有一个很关键的点,Billio(2005)这篇论文当中的Markov机制转移效应是加在了相关性系数上的,也就是DCC的部分,而不是加在条件方差上(即garch模型),所以如果上面这个2011年链接中帖子里的代码是按照Billio(2005)的论文去写MRS-DCC-GARCH的话,garch部分是不需要加Markov效应的。关于Markov机制转移效应的DCC模型的Markov效应要加在方差(garch)还是加在相关性系数(DCC)的这个问题,在Pelletier(2006)这一篇论文当中讲到了,他认为要加在相关性系数上。相关文献和我的笔记放在附件里,有兴趣的可以自己看。

pelletier2006.pdf

445.52 KB

Pelletie2006关于RSDC模型的论文

DCC-GARCH和MS-DCC-GARCH.pdf

12.87 MB

我自己写的BIllio2005版本的MRS-DCC-GARCH的笔记

藤椅
719812133 学生认证  发表于 2020-5-2 05:47:13
     .

板书.jpg (1.56 MB)

板书.jpg

板凳
719812133 学生认证  发表于 2020-7-2 23:06:05
这一楼的帖子我修改下,之所以修改是因为,关于这个MRS-DCC-GARCH模型后来的计算问题全部都解决了,问题不是出在原来帖子里讲到的GARCH上,和这些都没有关系。而是MRS-DCC模型设计本身。但是这个模型我并没有拿来用,因为它实证的结果并不那么好,不好体现在三点: 一是模型太难计算,参数估计很困难,甚至有时候会算不出来,一步参数估计和两步参数估计都很困难。二是模型参数估计值很难都显著,经常是一个状态里的参数显著,另一个状态里的参数不显著,两个状态中的一个persistence较高,而另一个很低,这个结果说明数据不太支持这个设定,估计值就能体现出来了。从多元正态分布拓展到多元t分布也不能有改善。三是这个模型的实证结果经济指导意义不太好分析。往往一个状态里的动态相关性和单状态的DCC-GARCH (Engle, 2002)几乎一样,beta的记忆性体现得很明显,而另一个状态里的动态相关性特别跳跃,就是说alpha这个当期冲击反应较为明显。两个状态一个负责体现相关性对其自身历史的反应,一个负责体现相关性对当期冲击的反应,而不是大家简单想的高低相关性那么简单,实际上很难对实际经济数据做分析。

如果大家看过Billio (2005)的论文,就会发现,对于一个两状态的设定,里面的状态演进过程有4条,分别是p11,p12,p21,p22,这说明原作者考虑的不仅是单个时点t上的状态1和2,她的要求更高,是一种前后联合状态演进,什么意思呢,就是说每一个时点t上的状态p1和p2,不仅仅要考虑的是当下这个时点t所处的状态,还要考虑上个时点t-1的状态是哪一个。这无疑加重了模型建模的负担,而且让这个状态分析更复杂了,因为不是那么纯粹的一个时点t上的状态,是对上一个时点t-1也做考虑的条件状态。同时因为这种更为复杂的状态演进,又导致了路径依赖问题,不得不再用Kim approximation去解决它,精确和简便永远是个trade off,2000年后其实Markov regime switching model的路径依赖已经有了比较好的解决方式了(Haas, 2004),但是MRS-DCC-GARCH因为作者这个设定又把老路给走回去了。单状态的DCC-GARCH其实已经足以对动态相关性进行建模,机制转移一考虑,无疑也是加重了模型计算的困难。所以最后的动态相关性变成了两个状态两个频率动态相关性的混合。

还有一个问题可能大家看论文没太注意,Billio (2005)里最后还汇报了两个状态各自的无条件相关性系数矩阵,就是那个Q_bar,在DCC-GARCH里,这个Q_bar可以有两个定义,Engle (2001)首次提出时将其定义为协方差矩阵,Engle (2002)将其定义为相关性系数矩阵,Engle说这个Q_bar可以用样本直接计算,这样一定程度上减少参数估计困难,Billio (2005)则是将MRS-DCC-GARCH里两个状态的Q_bar都当成模型参数进行了估计,所以难上加难。

在现有的文献中,不管是中英文的,使用MRS-DCC-GARCH做研究的都不多,还未看到有人完整复刻Billio (2005)的模型规格进行使用的,可能基本上都有部分修改,这也很正常,因为这个模型普适性确实不高,远不如MS-GARCH,MS-AR。这个模型到这里就算是研究清楚了,如果有人考虑做这个模型,我还是不太建议尝试,除非能很好地解决上面的困难,但这个困难更多的是这个模型规格本身就已经决定了的。

DCC-GARCH正定性条件的参数取值限制.jpg (49.04 KB)

DCC-GARCH正定性条件的参数取值限制

DCC-GARCH正定性条件的参数取值限制

MRS-DCC-GARCH计算结果.jpg (53.52 KB)

MRS-DCC-GARCH计算结果

MRS-DCC-GARCH计算结果

报纸
tulipsliu 在职认证  发表于 2021-5-2 09:10:04
挺有意思;

地板
huanhouhua1 发表于 2022-11-17 14:36:03
题主可以分享一下代码吗

7
我最意 发表于 2023-9-7 21:38:54
楼主您好,请问可以分享一下DCC-GARCH部分的代码吗,我正在头疼自己靠模型原理来编写代码(不调用程序包),想参考学习一下,我自己只编了一元GARCH的估计过程,到多元就不行了。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-20 18:58