On Sun, 29 Nov 2009, Allin Cottrell wrote:
;-) This is a subtle bug (if it's a bug; I'm not sure) with
an
easy workaround. With the initialization
scalar alpha = 0.4
scalar beta = 0
The "check" condition -- alpha>0 && beta>0 -- is violated on the
first iteration. Therefore the formula for "ll" comes down to
ll = NA
This generates a scalar value, which is not allowed in the mle
context. The fix is to initialize such that the check is
satisfied on the first round, e.g.
scalar beta = 0.001
Not really relevant here, but the constraints on alpha and beta in a
garch(1,1) model are not exactly the same. Alpha needs to be strictly
positive (otherwise the model is unidentified), but beta can be 0, so
initialising it at 0 is perfectly legitimate. The check should be written
as (alpha>0) && (beta>=0). Sorry for being pedantic.
Riccardo (Jack) Lucchetti
Dipartimento di Economia
Università Politecnica delle Marche
r.lucchetti(a)univpm.it
http://www.econ.univpm.it/lucchetti