From: Fabian Irek on
Hello,

I am trying to estimate a GARCH-in-mean with a asymmetry effect similar to
that of the GJR-GARCH Model using SAS.

I generated some simulation data and my program (posted below) works well
on that.
But when I use the real data, I get the error message "The model was
singular. Some estimates are marked 'Biased'".

I have no convergence problem, so it seems that I hace a collinearity
problem.

If I remove the arch-in-mean term "sqrt(h)" from the mean equation, the
program works well on the real data, too. So it could be that my data
simply doesn't fit the arch-in-mean specification. But this is
unsatisfactory since I would like (not) to reject the significance of that
term.

I would be pleased for any comments. I could post more information, if
needed.
Thanks!

Fabian Irek



proc model data = test ;
parms arch0 .01 arch1 .02 garch1 .02 phi .1 gamma .01;
y = intercept + gamma*sqrt(h) ;

if zlag(resid.y) < 0 then
h.y = arch0 + arch1*xlag(resid.y**2,mse.y) + garch1*xlag
(h.y,mse.y) ;
else
h.y = arch0 + arch1*xlag(resid.y**2,mse.y) + garch1*xlag
(h.y,mse.y) +
phi*zlag(resid.y**2) ;
/* fit the model */


fit y / method = marquardt fiml details normal ;


run;
quit;

Approx Approx
Parameter Estimate Std Err t Value Pr > |t|
arch0 0.000076 0.000092 <------ Biased
arch1 0.106107 0.0748 <------ Biased
garch1 0.807528 0.0755 <------ Biased
phi 0.130431 0.1231 <------ Biased
gamma 0.275576 2.9179 <------ Biased
intercept 0.00021 0 <------ Biased
h 0.000045 0.000950 <------ Biased


Collinearity Diagnostics look like this:

Condition ------------------Proportion of Variation------------------
Number Eigenvalue Number arch0 arch1 garch1
1 3.963732 1.0000 0.0000 0.0000 0.0000
2 2.544008 1.2482 0.0000 0.0000 0.0000
3 0.357058 3.3318 0.0000 0.0000 0.0000
4 0.091002 6.5997 0.0000 0.0000 0.0000
5 0.036181 10.4668 0.0000 0.0000 0.0000
6 0.010930 19.0434 0.0000 0.0000 0.0000
7 1E-12 1990912 1.0000 1.0000 1.0000

-Proportion of Variation-
phi gamma intercept h

0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
1.0000 1.0000 1.0000 1.0000

I tried several things to remove the collinearity but I am stuck now. Only
removing the intercept in the mean equation works, but that is
unsatisfactory, too. The input data (y) is serially uncorrelated. Any
suggestions? The data I enter is a datastream market return (monthly).