楼主: caiyan
3706 2

[问答] 请eviews高手帮我看看这个程序 [推广有奖]

  • 0关注
  • 0粉丝

初中生

80%

还不是VIP/贵宾

-

威望
0
论坛币
402 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
205 点
帖子
17
精华
0
在线时间
0 小时
注册时间
2004-11-23
最后登录
2016-1-28

楼主
caiyan 发表于 2005-8-14 01:31:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

上面的程序是误差服从广义的误差分布(ged)推广形式的模型最大似然法估计参数的小程序,但是在if语句过程中老是报告z1变量未被定义,请高手指点帮忙修改以下.

thanks in advance!!!

'change path to program path %path = @runpath + "../data/" cd %path

' load workfile load sy

series y = sy

' set sample to 1/2/82-7/9/92 (10/6/86 is obs 3945) sample s0 1 1 sample s1 2 500 smpl s1

' get starting values from Gaussian ARCH equation eq1 eq1.arch y c show eq1.output

' declare and initialize parameters coef(1) mu = eq1.c(1) coef(1) omega = eq1.c(2) coef(1) alpha = eq1.c(3) coef(1) beta = eq1.c(4) coef(1) lambda=0.5 coef(1) a=0.2

' set presample values of expressions in logl smpl s0 series sig2=omega(1) series res=0 !pi = @acos(-1)

' set up GARCH likelihood logl ll1 ll1.append @logl logl ll1.append res=y-mu(1) ll1.append sig2 = omega(1)+alpha(1)*res(-1)^2 +beta(1)*sig2(-1) ll1.append u=@gamma(2/lambda(1))/@sqrt(@gamma(3/lambda(1))*@gamma(1/lambda(1))*(1-3*a(1)+3*a(1)^2)-@gamma(2/lambda(1))^2*(1-2*a(1))^2) ll1.append z=res/@sqrt(sig2) ll1.append z1=res/@sqrt(sig2)+(1-2*a(1))*u if z1<=0 then ll1.append log1=@log(lambda(1))+@gammalog(2/lambda(1))-@logu-@gammalog(1/lambda(1))+(@gamma(2/lambda(1))/a/@gamma(1/lambda(1))*z1/u)^lambda(1) else z1>0 ll1.append log1=@log(lambda(1))+@gammalog(2/lambda(1))-@logu-@gammalog(1/lambda(1))-(@gamma(2/lambda(1))/(1-a)/@gamma(1/lambda(1))*z1/u)^lambda(1) endif

' estimate and display output smpl s1 ll1.ml(showopts, m=1000, c=1e-5)

'estimate same model using EViews' ' build-in function

equation eq2 eq2.arch(tdist) y c show eq2 show ll1.output

二维码

扫码加我 拉你入群

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

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

关键词:EVIEWS Views Eview view EWS EVIEWS 程序 高手

沙发
wxh 发表于 2005-8-14 12:46:00

指出几点仅供楼主参考

运行到if语句时,ll1的设定还没有完成,当然更没有运行,因此z1变量此时必定是未被定义。是不是应该将if语句放入ll1的设定中?即在if z1<=0 then,else z1>0以及endif三个语句前加上ll1.append

另外,楼主需要考虑,如果将if语句放入ll1的设定中,对ll1进行估计时EViews有个迭代运算次序的问题,z1<=0这个条件不知是不是逐个观测值进行判断。好像上面的程序是按观测值运算的,可以试试。

程序中这句:ll1.append z=res/@sqrt(sig2), 定义的z没有用到啊

藤椅
caiyan 发表于 2005-8-14 16:03:00

本人曾经尝试过将if then ,else 以及endif 语句加入ll1.append,但是还是出现上述的问题,另外就是当把res/@sqrt(sig2)直接加入到z1的定义中时,z1无法出来数值,还请高手指教.

另外就是在将z1加入到ll1时,本人是希望z1出来的逐个数值与0对比,但是好象z1代表了一个数列,不知应该如何将数列里的每个数提取出来与0进行判断,希望指点迷津.

谢谢!!!1

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-24 18:39