I am estimating an ARCH(1) model, not to difficult apart from one small problems, which starting value should I use for the estimation. I am estimating it long hand, so understanding the minor details are important here.

Basically, I have read that,

"All numerical algorithms require starting values $\theta_{(0)}$""

I have no idea how to find (or estimate) or pluck out of thin air, the starting values for the coefficients.

Any suggestions would be greatly appreciated?

  • 2
    $\begingroup$ while $\theta_0$ theoretically should be close to the true parameters $\theta$ you have to take an educated guess in practice, since $\theta$ is unknown. as a naive approach if you don't have any prior informations: why don't you just try a range of different starting values and see if the sequence of estimators from the optimization algorithm always converge to the "same" final estimator? (keep in mind that if you know that the log likelihood function is strictly concave, then the maximum likelihood estimator will be unique.) $\endgroup$
    – chRrr
    Commented Jan 30, 2019 at 12:44

1 Answer 1


As the comment suggests you can take a guess at the starting value. It is good practice to choose different starting values and see this, however, if you get into larger models this can be time-consuming.

I understand that you wish to estimate this "long hand", however you can still use some advice from MATLABs user guide.

When they used toolboxes for estimation they still have to go via the same procedures, this is their method:

The estimate function for conditional variance models uses fmincon from Optimization Toolbox™ to perform maximum likelihood estimation. This optimization function requires initial (or, starting) values to begin the optimization process. If you want to specify your own initial values, use name-value arguments. For example, specify initial values for GARCH coefficients using the name-value argument GARCH0. Alternatively, you can let estimate choose default initial values. Default initial values are generated using standard time series techniques. If you partially specify initial values (that is, specify initial values for some parameters), estimate honors the initial values you do specify, and generates default initial values for the remaining parameters. When generating initial values, estimate enforces any stationarity and positivity constraints for the conditional variance model being estimated. The techniques estimate uses to generate default initial values are as follows: • For the GARCH and GJR models, the model is transformed to an equivalent ARMA model for the squared, offset-adjusted response series. Note that the GJR model is treated like a GARCH model, with all leverage coefficients equal to zero. The initial ARMA values are solved for using the modified Yule-Walker equations as described in Box, Jenkins, and Reinsel [1]. The initial GARCH and ARCH starting values are calculated by transforming the ARMA starting values back to the original GARCH (or GJR) representation. • For the EGARCH model, the initial GARCH coefficient values are found by viewing the model as an equivalent ARMA model for the squared, offset-adjusted log response series. The initial GARCH values are solved for using Yule-Walker equations as described in Box, Jenkins, and Reinsel [1]. For the other coefficients, the first nonzero ARCH coefficient is set to a small positive value, and the first nonzero leverage coefficient is set to a small negative value (consistent with the expected signs of these coefficients).

I hope this helps!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.