|
[ Home | GAUSS | GAUSS Engine | GAUSS Apps | 3rd Party Apps | Keywords Index ] Start Values Modifying NLP globals Parameters of time series models in general require constraints to ensure stationarity and for ARCH/GARCH models that the conditional variances are positive. The NLP optimization program used in FANPAC can handle these constraints but for best results it needs a feasible starting point. A general method for selecting a feasible starting point, however, may not be the best starting point from the viewpoint of reducing the number of iterations to convergence. Because of the requirement of feasibility, it is not possible to rely on FANPAC to select the best starting point, and thus to minimize convergence times you may want to choose your own starting values. The FANPAC global _fan_Start is used to set a starting point:
library fanpac;
session amzn 'daily Amazon.com';
setDataSet stocks;
setSeries AMZN;
computeLogReturns 251;
_fan_Start = { 5, .4, .2, .3, .6 };
estimate run1 garch(2,1);
showresults;
FANPAC will reject the start values if the length of the vector is different from the number of parameters in the model. Since it's not obvious what the order of the parameters is, or what they might be, the first thing to do is determine that. The best method is to produce a run without specifing start values. All you need is one iteration of that run printed to the screen. This can be done from the keyboard by pressing "o" and then a "1" to get the output to the screen, and then a "c" to force convergence. Alternatively, this could be accomplished using the FANPAC global _fan_NLPglobals (see Section 4 for details). The list and order of parameters can be determined either from the screen output, or by printing the contents of the NLP global _nlp_ParNames to the screen.
library fanpac;
session amzn 'daily Amazon.com';
setDataSet stocks;
setSeries AMZN;
computeLogReturns 251;
_fan_NLPglobals = &globs;
estimate run1 garch(2,1);
showEstimates;
proc(0) = globs;
_nlp_IterInfo = 1;
_nlp_MaxIters = 1;
endp;
The list of parameter names is descriptive. The following is the output from the above run, which also prints out the estimates after one iteration from the starting point computed by FANPAC:
Session: amzn Run: run1
================================================================
Session: amzn Run: run1
iteration: 1 algorithm: BFGS line search method: STEPBT
Hessian Constraint: OFF Trust Region: ON
function: 6259.38050 step length: 1.00000 backsteps: 0
----------------------------------------------------------------
parameter value direction
--------- ----- ---------
omega 0.900 0.100
Garch1 0.110 0.100
Garch2 0.008 -0.002
Arch1 0.110 0.100
Const 0.701 0.009
run1
omega 0.900
Garch1 0.110
Garch2 0.008
Arch1 0.110
Const 0.701
|