<P >'Estimate GARCH(1,1) model with t-distributed errors<o:p></o:p></P>
<P >'change path to program path <o:p></o:p></P>
<P >%path=@runpath<o:p></o:p></P>
<P >cd"{%path}"<o:p></o:p></P>
<P >'load workfile <o:p></o:p></P>
<P >load F:\fyl\bylw\jjsj<o:p></o:p></P>
<P >series y=fa <o:p></o:p></P>
<P >set sample to 2 202<o:p></o:p></P>
<P >sample s0 2 2<o:p></o:p></P>
<P >sample s1 3 202<o:p></o:p></P>
<P >smpl s1<o:p></o:p></P>
<P >'get starting values from Gaussian ARCH<o:p></o:p></P>
<P >equation eq1<o:p></o:p></P>
<P >eq1.arch y c<o:p></o:p></P>
<P >show eq1.output<o:p></o:p></P>
<P >'declare and innitialize parameters<o:p></o:p></P>
<P >coef(1) mu = eq1.c(1)<o:p></o:p></P>
<P >coef(1) omega = eq1.c(2)<o:p></o:p></P>
<P >coef(1) alpha =eq1.c(3)<o:p></o:p></P>
<P >coef(1) beta =eq1.c(4)<o:p></o:p></P>
<P >coef(1) tdf=3<o:p></o:p></P>
<P >' set presample values of expressions in logl<o:p></o:p></P>
<P >smpl s0<o:p></o:p></P>
<P >series sig2 = omega(1)<o:p></o:p></P>
<P >series res = 0<o:p></o:p></P>
<P >!pi = @acos(-1)<o:p></o:p></P>
<P >'set up GARCH likelihood<o:p></o:p></P>
<P >logl ll l<o:p></o:p></P>
<P >ll l.append @logl logl<o:p></o:p></P>
<P >ll l.append sig2 =omega(1)+alpha(1)*res(-1)^2+beta(1)*sig2(-1)<o:p></o:p></P>
<P >ll l.append z =res^2/sig2/(tdf(1)-2)+1<o:p></o:p></P>
<P >ll l.append logl = @gammalog((tdf(1)+1)/2)-@gammalog(tdf(1)/2)-log(!pi)/2-<o:p></o:p></P>
<P >log(tdf(1)-2)/2-log(sig2)/2 - (tdf(1)+1)*log(z)/2<o:p></o:p></P>
<P >'estimate and display output<o:p></o:p></P>
<P >smpl s1<o:p></o:p></P>
<P >ll l.ml(showopts,m=1000,c=le-5)<o:p></o:p></P>
<P >show ll l.output</P>
<P > </P>
<P >上面是程序,运行时老是告诉我是非法名字,这是怎么回事,我抓拍的问题图片在附件里谢谢各位拉!</P>
![[求助]garch(1,1)编程的一些问题,请高手救命啊 [求助]garch(1,1)编程的一些问题,请高手救命啊](https://m.pinggu.org/bbs/forum.php?mod=image&aid=116227&size=200x200&key=4794286a738162e4&type=fixnone)
<BR>