Page 1 of 1

non-negative constraints

Posted: Sat Jun 26, 2010 11:14 am
by sschenatntu
Hi!

How can I impose non-negative constraints on ARCH and GARCH coefficients?
I have done the follows but failed.

*****************************************************
linreg dyy /
# constant dyy{1}

frml(lastreg,vector=mbeta) meanf
nonlin(parmset=meanparms) mbeta
set uu2 = %seesq
set h2 = %seesq
set u2 = 0.0

nonlin(parmset=garchparms) c2 a2 b2
nonlin(parmset=pconstraints) a2>=0.0 b2>=0.0
comp c2= %seesq
comp a2 = 0.03
comp b2 = 0.93
frml varf = c2 +a2*uu2{1}+b2*h2{1}
frml logl2 = (u2(t)=dyy-meanf),$
(uu2(t)=u2**2),(h2(t)=varf(t)),%logdensity(h2,u2)

set testlog v1+lags+1 v2 = logl2(t)
print v1+lags+1 v2 testlog u2 h2
max(parmset=meanparms+garchparms+pconstraints) logl2 /
******************************************************************************************

Moreover, is it possible to impose the non-negative constraint under GARCH instruction?

Thanks,
Vincent

Re: non-negative constraints

Posted: Sat Jun 26, 2010 12:09 pm
by TomDoan
sschenatntu wrote:Hi!

How can I impose non-negative constraints on ARCH and GARCH coefficients?
I have done the follows but failed.

set testlog v1+lags+1 v2 = logl2(t)
print v1+lags+1 v2 testlog u2 h2
max(parmset=meanparms+garchparms+pconstraints) logl2 /
That all looks correct except that you have to control the range on the MAXIMIZE instruction.

max(parmset=meanparms+garchparms+pconstraints) logl2 v1+lags+1 v2

looks like it should work.
sschenatntu wrote:Moreover, is it possible to impose the non-negative constraint under GARCH instruction?
No. The GARCH instruction doesn't allow any constraints that aren't built directly into the parameterization.