Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

`estimate`

maximizes the loglikelihood function
using `fmincon`

from Optimization
Toolbox™. `fmincon`

has
many optimization options, such as choice of optimization algorithm
and constraint violation tolerance. Choose optimization options using `optimoptions`

.

`estimate`

uses the `fmincon`

optimization
options by default, with these exceptions. For details, see `fmincon`

and `optimoptions`

in Optimization
Toolbox.

optimoptions Properties | Description | estimate Settings |
---|---|---|

`Algorithm` | Algorithm for minimizing the negative loglikelihood function | `'sqp'` |

`Display` | Level of display for optimization progress | `'off'` |

`Diagnostics` | Display for diagnostic information about the function to be minimized | `'off'` |

`ConstraintTolerance` | Termination tolerance on constraint violations | `1e-7` |

If you want to use optimization options that differ from the
default, then set your own using `optimoptions`

.

For example, suppose that you want `estimate`

to
display optimization diagnostics. The best practice is to set the
name-value pair argument `'Display','diagnostics'`

in `estimate`

.
Alternatively, you can direct the optimizer to display optimization
diagnostics.

Define a GARCH(1,1) model (`Mdl`

) and simulate
data from it.

Mdl = garch('ARCH',0.2,'GARCH',0.5,'Constant',0.5); rng(1); y = simulate(Mdl,500);

`Mdl`

does not have a regression component.
By default, `fmincon`

does not display the optimization
diagnostics. Use `optimoptions`

to set it to display
the optimization diagnostics, and set the other `fmincon`

properties
to the default settings of `estimate`

listed in the
previous table.

options = optimoptions(@fmincon,'Diagnostics','on','Algorithm',... 'sqp','Display','off','ConstraintTolerance',1e-7)

options = fmincon options: Options used by current Algorithm ('sqp'): (Other available algorithms: 'active-set', 'interior-point', 'sqp-legacy', 'trust-region-reflective') Set properties: Algorithm: 'sqp' ConstraintTolerance: 1.0000e-07 Display: 'off' Default properties: CheckGradients: 0 FiniteDifferenceStepSize: 'sqrt(eps)' FiniteDifferenceType: 'forward' MaxFunctionEvaluations: '100*numberOfVariables' MaxIterations: 400 ObjectiveLimit: -1.0000e+20 OptimalityTolerance: 1.0000e-06 OutputFcn: [] PlotFcn: [] ScaleProblem: 0 SpecifyConstraintGradient: 0 SpecifyObjectiveGradient: 0 StepTolerance: 1.0000e-06 TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0 Show options not used by current Algorithm ('sqp')

`% @fmincon is the function handle for fmincon`

The options that you set appear under the `Set by user:`

heading.
The properties under the `Default:`

heading are other
options that you can set.

Fit `Mdl`

to `y`

using the
new optimization options.

```
ToEstMdl = garch(1,1);
EstMdl = estimate(ToEstMdl,y,'Options',options);
```

____________________________________________________________ Diagnostic Information Number of variables: 3 Functions Objective: @(X)Mdl.nLogLikeGaussian(X,V,E,Lags,1,maxPQ,T,nan,trapValue) Gradient: finite-differencing Hessian: finite-differencing (or Quasi-Newton) Constraints Nonlinear constraints: do not exist Number of linear inequality constraints: 1 Number of linear equality constraints: 0 Number of lower bound constraints: 3 Number of upper bound constraints: 3 Algorithm selected sqp ____________________________________________________________ End diagnostic information GARCH(1,1) Conditional Variance Model (Gaussian Distribution): Value StandardError TStatistic PValue _______ _____________ __________ ________ Constant 0.43145 0.46565 0.92656 0.35415 GARCH{1} 0.31435 0.24992 1.2578 0.20847 ARCH{1} 0.57143 0.32677 1.7487 0.080343

`estimate`

numerically maximizes the loglikelihood function, potentially using equality, inequality, and lower and upper bound constraints. If you set`Algorithm`

to anything other than`sqp`

, make sure the algorithm supports similar constraints, such as`interior-point`

. For example,`trust-region-reflective`

does not support inequality constraints.`estimate`

sets a constraint level of`ConstraintTolerance`

so constraints are not violated. An estimate with an active constraint has unreliable standard errors because variance-covariance estimation assumes that the likelihood function is locally quadratic around the maximum likelihood estimate.

The software enforces these constraints while estimating a GARCH model:

Covariance-stationarity,

$${\sum}_{i=1}^{P}{\gamma}_{i}+{\displaystyle {\sum}_{j=1}^{Q}{\alpha}_{j}}<1$$

Positivity of GARCH and ARCH coefficients

Model constant strictly greater than zero

For a

*t*innovation distribution, degrees of freedom strictly greater than two

For GJR models, the constraints enforced during estimation are:

Covariance-stationarity constraint,

$${\sum}_{i=1}^{P}{\gamma}_{i}+{\displaystyle {\sum}_{j=1}^{Q}{\alpha}_{j}}+\frac{1}{2}{\displaystyle {\sum}_{j=1}^{Q}{\xi}_{j}}<1$$

Positivity constraints on the GARCH and ARCH coefficients

Positivity on the sum of ARCH and leverage coefficients,

$${\alpha}_{j}+{\xi}_{j}\ge 0,\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}j=1,\dots ,Q$$

Model constant strictly greater than zero

For a

*t*innovation distribution, degrees of freedom strictly greater than two

For EGARCH models, the constraints enforced during estimation are:

Stability of the GARCH coefficient polynomial

For a

*t*innovation distribution, degrees of freedom strictly greater than two