Modifying NLP globals

<- Previous: Session File
Next ->: Start Values

When the FANPAC keyword function estimate   is invoked, a GAUSS procedure is called to perform the actual estimate. In that procedure the NLP globals are first set to default values by calling nlpset. This is necessary to make sure that they are set to correct values for use in the estimation. The downside to this is that it prevents users from specifying NLP globals in their command files. Because it would be useful to be able to set NLP globals, a method for doing this has been included in FANPAC.  

The FANPAC global _fan_NLPglobals is set to a null string by default. However, if it is set to the name of a procedure with no arguments, this procedure will be called immediately before the estimation is begun. For example, to change the maximum number of iterations:

    library fanpac;
    session amzn 'daily Amazon.com';
    setDataSet stocks;
    setSeries AMZN;
    computeLogReturns 251;

    _fan_NLPglobals = &globs;

    estimate run1 garch(2,1);

    showResults;


    proc(0) = globs;
        _nlp_MaxIters = 1;
    endp;

One should be very careful here, however. There is great potential to do harm to the optimization by inappropriately re-setting NLP globals. For example, it is recommended that the constraint globals, such as _nlp_A and _nlp_B be left completely alone.



R. Schoenberg
1999-03-29