楼主: 彩桐の瞳
21040 13

[问答] 【求助】R语言 GARCH模型 [推广有奖]

  • 0关注
  • 1粉丝

大专生

48%

还不是VIP/贵宾

-

威望
0
论坛币
52 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
139 点
帖子
16
精华
0
在线时间
89 小时
注册时间
2012-5-2
最后登录
2018-6-26

楼主
彩桐の瞳 发表于 2014-10-9 09:28:44 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
在进行GARCH模型拟合的时候发现方差方程的常数项一直无法通过检验,请问如何用R语言将GARCH方程的常数项(即omega)剔除
二维码

扫码加我 拉你入群

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

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

关键词:GARCH模型 ARCH模型 GARCH ARCH RCH 模型

沙发
掘墓者 发表于 2014-10-9 13:52:53
在variance.model里面加一条句子(include.mean=FALSE)

藤椅
彩桐の瞳 发表于 2014-10-9 15:05:59
掘墓者 发表于 2014-10-9 13:52
在variance.model里面加一条句子(include.mean=FALSE)
句子是这么加进去吗?
sy.gar=garchFit(~garch(1,1),data=sy,cond.dist="sged",include.mean=FALSE)
这个指令运行下来的结果是消除了均值mu,并没有剔除方差方程的常数项omega

板凳
掘墓者 发表于 2014-10-9 22:02:02
彩桐の瞳 发表于 2014-10-9 15:05
句子是这么加进去吗?
sy.gar=garchFit(~garch(1,1),data=sy,cond.dist="sged",include.mean=FALSE)
这 ...
我用的是rugarch包,你试试这个包,你的是啥包?

报纸
彩桐の瞳 发表于 2014-10-12 21:20:17
掘墓者 发表于 2014-10-9 22:02
我用的是rugarch包,你试试这个包,你的是啥包?
我用的fgarch~诶?rugarch可以建立最基本的garch模型而不是类似egarch等garch族模型吗?

地板
掘墓者 发表于 2014-10-12 22:22:13
彩桐の瞳 发表于 2014-10-12 21:20
我用的fgarch~诶?rugarch可以建立最基本的garch模型而不是类似egarch等garch族模型吗?
是可以做GARCH模型的,前面我回答错了,抱歉啊,在rugarch包中,控制条件方差常数项的命令是variance.model里面的'variance.targeting'命令而非‘include.mean’,'variance.targeting'命令可以控制是否将条件方差项代入计算等。你需要消除omega,直接variance.targeting= 0,即可。

require(rugarch)
spec = ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1),variance.targeting= 0),
        mean.model = list(armaOrder = c(1, 1),include.mean = TRUE, arfima = FALSE),
         distribution.model = "norm")
fit= ugarchfit(spec = spec,data)

上面的命令就是ARCH(1,1)-GARCH(1,1)模型,并且条件方差方程中不含有常数均值omega(人为限定了为0)。

7
彩桐の瞳 发表于 2014-10-14 13:49:42
掘墓者 发表于 2014-10-12 22:22
是可以做GARCH模型的,前面我回答错了,抱歉啊,在rugarch包中,控制条件方差常数项的命令是variance.mod ...
嗯嗯~~非常非常感谢,可以剔掉方差方程的常数项了~

提取残差时as.data.frame(fit,which=" residuals")这个语句吗?我用了这个语句然后显示错误

另,在fgarch包中用x.gar=garchFit(~garch(1,1),data=x,cond.dist="sged",include.mean=FALSE)建立的GARCH(1,1)模型
与在rugarch包中用
require(rugarch)
spec = ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1)),
        mean.model = list(armaOrder = c(0, 0),include.mean = FALSE, arfima = FALSE),
         distribution.model = "sged")
fit= ugarchfit(spec = spec,x)
建立的GARCH(1,1)模型拟合出来的参数都不一样啊,这是怎么回事啊?

8
掘墓者 发表于 2014-10-14 21:52:10
彩桐の瞳 发表于 2014-10-14 13:49
嗯嗯~~非常非常感谢,可以剔掉方差方程的常数项了~

提取残差时as.data.frame(fit,which=" residuals") ...
差距应该不大吧,偏差应该是参数估计方法不一致导致的。残差调用用的是residuals(fit)

9
彩桐の瞳 发表于 2014-10-16 10:31:11
掘墓者 发表于 2014-10-14 21:52
差距应该不大吧,偏差应该是参数估计方法不一致导致的。残差调用用的是residuals(fit)
嗯~差距不是很大~但是对两者的提取残差进行相同的概率积分变换后的差距就特别特别大

10
掘墓者 发表于 2014-10-26 15:02:25
彩桐の瞳 发表于 2014-10-16 10:31
嗯~差距不是很大~但是对两者的提取残差进行相同的概率积分变换后的差距就特别特别大
也是再做Copula?你的残差变换后K-S检验通过了吗?

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

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