I tried to use a similar technique to handle non-convergence in BOXJENK as in GARCH
Code: Select all
if (%converged == 0); garch(p=1,q=1,resids=u,hseries=h,noprint,nomean,METHOD=BHHH,INITIAL=%BETA) tstart+i tend+i y
etc
if (%converged == 0); garch(p=1,q=1,resids=u,hseries=h,noprint,nomean,METHOD=GA,INITIAL=%BETA) tstart+i tend+i y
if (%converged == 0); garch(p=1,q=1,resids=u,hseries=h,noprint,nomean,METHOD=EVALUATE,INITIAL=%BETA) tstart+i tend+i yBut with BOXJENK e.g
Code: Select all
boxjenk(print,const=%%autoconst,ar=%%autop,diffs=%%autod,ma=%%autoq,$
define=eq_D,METHOD=GAUSS) y start begin resids
disp %converged
if %converged==0 {
boxjenk(print,const=%%autoconst,ar=%%autop,diffs=%%autod,ma=%%autoq,$
define=eq_D,derivs=dd,MAXL,METHOD=BFGS) y start begin resids
}
etc
if %converged==0 {
boxjenk(print,const=%%autoconst,ar=%%autop,diffs=%%autod,ma=%%autoq,$
define=eq_D,derivs=dd,MAXL,METHOD=GA) y start begin resids
}
IMHO there should be a METHOD=ALL or EVERY, so I do not have to specify the IF statement, and METHOD sequentially uses the default, then the next and so on as listed or requested from the user.
Amarjit