1
$\begingroup$

Hey everyone and I hope that there are some smarter people out here that can help me out with my problem...:

I have trouble with my implementation of a GARCH(1,1) model and I do not know how to move forward:

My data in MATLAB consists of returns (with no NaN Values) and I am performing rolling regressions on a 60 month basis. So the return column vector I create is of the form (60,1) for each asset.

I now define my GARCH model:

Mdl = garch(1,1);

and now when I try to estimate the model using the data I unfortunately cannot move forward:

EstMdl = estimate(Mdl,return_vector);

as MATLAB returns the error message:

Estimated GARCH model is invalid.

Caused by: Error using garch/validateModel (line 782) Non-zero degree P requires a non-zero degree Q.

I guess I could even provide more info on my data:

I found this piece of code online which works perfectly:

load Data_MarkPound
r  = price2ret(Data);
pR = 100*r;
T  = length(r);
Mdl = garch(1,1);
EstMdl = estimate(Mdl,pR);

now, the only difference in my opinion is the length of the returns (and the fact that they have been created with the price2ret function and mine are directly from CRSP) now, the data of one of the stocks that I have issues with are as follows:

I have now noticed that for some assets the GARCH estimation works, however it delivers unplausible results such as ARCH and GARCH values of -0.6 and -0.6. Also in the cases where the GARCH model does not work, I am able to use a eGARCH. This as well delivers disillusional results as above.

I have come to the conclusion, that my returns need to be transformed somehow, but I do not know what the exact problem is....

I really really appreciate any help!

Thank you guys so much already!

$\endgroup$
  • $\begingroup$ Re: error. try to call disp(Mdl) right before calling estimate(). P & Q do not change. $\endgroup$ – Wisentgenus Aug 23 '15 at 6:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.