楼主: bobguy
3122 0

[程序分享] arma(1,1) + garch(1,1) in proc nlmixed procedure [推广有奖]

学科带头人

7%

还不是VIP/贵宾

-

威望
0
论坛币
14187 个
通用积分
28.9279
学术水平
344 点
热心指数
363 点
信用等级
228 点
经验
104882 点
帖子
1846
精华
0
在线时间
1608 小时
注册时间
2008-7-18
最后登录
2019-3-8

中级热心勋章

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
Here is a way to use nlmixed procedure to estimate arma(1,1) and garch(1,1) model.

data sim;
  seed=123;
  lu = 0;
  lh = 0;
  ly = 0;
  do i = 1 to 500;
    h = 0.3 + 0.4 * lu ** 2 + 0.5 * lh;
    u = sqrt(h) * rannor(seed);
    y = 1 + 0.6 * (ly - 1) + u - 0.7 * lu;
    lu = u;
    lh = h;
    ly = y;
    output;
  end;
run;

   proc nlmixed data = sim ;
       /* error mean model */
   parms ar1=0.1 ma1=0.1 mu arch0 arch1 garch1=0.1;
       err=y- (mu + ar1*xlag(y-mu, 0) - ma1 * xlag(err, 0));

       /* variance model */
       h = arch0 + arch1*xlag(err**2,1) +
             garch1*xlag(h,1) ;
       loglik=-0.5*(log(2*constant('pi'))+log(h)+err**2/h);
      model err ~ general (loglik) ;
      estimate 'test mu=1' mu-1;
      estimate 'test ar1= 0.6' ar1-0.6;
      estimate 'test am1= 0.7' ma1-0.7;
      estimate 'test arch0= 0.3' arch0-0.3;
      estimate 'test arch1= 0.4' arch1-0.4;
      estimate 'test garch1= 0.5' garch1-0.5;

run;
二维码

扫码加我 拉你入群

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

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

关键词:proc nlmixed Procedure nlmixed Mixed GARCH procedure error

已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
webgu + 100 + 100 + 2 + 2 + 2 精彩帖子

总评分: 经验 + 100  论坛币 + 100  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

本帖被以下文库推荐

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 23:06