楼主: 我最意
1438 5

[问答] 【已解决】自己用r试着写了AR(1)-GARCH(1,1)的估计过程,请帮我看看哪里有问题 [推广有奖]

  • 2关注
  • 0粉丝

大专生

6%

还不是VIP/贵宾

-

威望
0
论坛币
8 个
通用积分
2.0516
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
234 点
帖子
23
精华
0
在线时间
52 小时
注册时间
2020-11-7
最后登录
2024-12-9

楼主
我最意 发表于 2023-5-27 10:23:09 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
【已解决,谢谢各位!】我觉得是for循环那块有问题,但也想了好久不知道如何改善代码,请大家赐教,非常感谢!或者问问有没有自己编写的AR-GARCH程序可让我参考学习的顺便还有两个问题我想问问:
1、进行极大似然估计时,程序输出下面这句话是什么意思,对参数估计结果有影响吗
Return code 8: successive function values within relative tolerance limit (reltol)2、如果估计时出现There were 50 or more warnings (use warnings() to see the first 50),但是最终也会输出参数估计结果,而且参数的值也没啥问题,这些警告信息要处理吗,有影响吗
1: In sqrt(ht) : NaNs produced
2: In log(ht) : NaNs produced
3: In sqrt(ht) : NaNs produced
...
R输出结果是
Maximum Likelihood estimationNewton-Raphson maximisation, 0 iterations
Return code 100: Initial value out of range.



二维码

扫码加我 拉你入群

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

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

关键词:GARCH ARCH RCH ARC 哪里有

garch建模过程.jpg (223.16 KB)

garch建模过程.jpg

沙发
shuangshuangle 在职认证  发表于 2023-5-27 20:32:31
prima materials

藤椅
我最意 发表于 2023-5-28 13:37:38
shuangshuangle 发表于 2023-5-27 20:32
prima materials

这是garch建模及极大似然估计的过程,请问还需要提供些什么资料会比较清晰呢

板凳
我最意 发表于 2023-5-28 13:38:23

garch建模过程.jpg (223.16 KB)

garch建模过程.jpg

报纸
719812133 学生认证  发表于 2023-5-28 15:52:05
1. Return code 8: successive function values within relative tolerance limit (reltol)
code 8是个提示信息,而不是报错信息,因为你用maxlik函数进行参数估计,这是在告诉使用者对于目标MLE函数的最优解,寻优已经来到了一个接近稳定的结果了,迭代步数继续增加,似然值的变化也已经非常小,小到介于默认的设定范围内(即你的tolerance),如果出现一直不收敛,变化大于tolerance的情况,那才是不好的。

2. There were 50 or more warnings (use warnings() to see the first 50)
有超过50个以上的警告信息发出,所以提示你进一步用warnings()语句检视他们。
1: In sqrt(ht) : NaNs produced
2: In log(ht) : NaNs produced
3: In sqrt(ht) : NaNs produced
负数不能进行开根和取对数等运算,否则R语言按照设计会返回NaN(非值)的特殊数值对象予以提醒。ht是负责存储modelled volatility的numeric vector,里面的元素按照波动率的设定必须保持非负性,就是不能有负数出现,这一要求需由负责volatility process的GARCH process自身的正定性保证,具体表现为GARCH process中的三个待估计参数要满足各自的取值范围要求,即omega>0,0<alpha,beta<1,,0<alpha+beta<1。你的代码有给出待估计参数的寻优初始值但没有声明各自的寻优取值范围。所以你要给GARCH模型中的三个参数加入lower bound (LB)和upper bound (UB),并将arguments声明进maxlik函数中。你omega、alpha、beta分别设定的初始值是0.2、0、0.8,这样的初始值设定不影响最终寻优但不太快,建议改成0.1、0.15、0.8,这样有助于算法寻优。所以50warnings的出现是在侧面提示你模型的参数取值范围和初始值设定可能需要改进。如果这部分完善后偶有出现这类warnings,一般问题不大,只要最终寻优结果里的参数估计值们符合要求即可。

3. 程序中的源码过程应该是没问题的。可以多尝试几个不同的solver检查参数估计的结果,如nlminb、solnp等。
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

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

地板
我最意 发表于 2023-5-28 17:16:33
719812133 发表于 2023-5-28 15:52
1. Return code 8: successive function values within relative tolerance limit (reltol)
code 8是个提 ...
非常感谢您,说得很清楚,我修改下试试。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-8 19:25