Page 2 of 4

Re: HOW TO ESTIMATE A MULTIVARIATE GARCH-M MODEL?

Posted: Sun Dec 05, 2010 1:46 pm
by yaser
hi huys

the error when this code is run is "s0 already exists in"sample s0..."

what is it?

how is it resolved?

Re: HOW TO ESTIMATE A MULTIVARIATE GARCH-M MODEL?

Posted: Mon Dec 06, 2010 12:26 am
by trubador
The message is pretty clear I think. You cannot overwrite the sample object and therefore you should delete it from the workfile or define a new one each time you run the code.

Re: HOW TO ESTIMATE A MULTIVARIATE GARCH-M MODEL?

Posted: Tue Jan 18, 2011 8:17 pm
by Apaulo
Dear Sirs

I was runing a bivariate Garch model and found a problem when on stage "Estimate the model", runing the command:
bvgarch.ml(showopts, m=100, c=1e-5). I got error message: !MLOG2PI is not defined in
"LOGL=-5*(!MLOG2PI+......+LOG(DETH))". I am using eviews 5.

Re: HOW TO ESTIMATE A MULTIVARIATE GARCH-M MODEL?

Posted: Wed Jan 19, 2011 6:55 am
by Apaulo
Hi all,
Again, I got the same message even using Eviews6 for bivariate GARCH: "!MLOG@PI is not defined in LOGL=-5*(!MLOG@PI+.......)"

Can someone help on that? what is happening with this constant adjustment for log likelihood: !mlog2pi = 2*log(2*@acos(-1))?

Re: HOW TO ESTIMATE A MULTIVARIATE GARCH-M MODEL?

Posted: Wed Feb 09, 2011 10:20 am
by PERRYGOGAS
trubador wrote:Lambdas are the coefficents of variances in the mean equations.


So other than the singular matrix problem that is data driven the program seems to work in this form?

I am going to use it myself as well these days.

Re: HOW TO ESTIMATE A MULTIVARIATE GARCH-M MODEL?

Posted: Thu Feb 10, 2011 12:48 am
by trubador
PERRYGOGAS wrote:So other than the singular matrix problem that is data driven the program seems to work in this form?


Yes, I believe so. For a more recent (trivariate) version of the code, please see: viewtopic.php?f=15&t=3364#p11336

Re: HOW TO ESTIMATE A MULTIVARIATE GARCH-M MODEL?

Posted: Sat Feb 19, 2011 2:28 am
by yaser
trubador wrote:The error you detected should be corrected as the way you did. I checked the log-likelihood specification and it is correct. So you do not have to worry about the rest of the code. Final version of the code after your modifications seems allright and therefore you should now be able to estimate a bivariate GARCH-M model. If you encounter any further problems, we can work on them as well.

If you had some experience on any other programming language or software package, then you could easily learn EViews. I can assure you that you will reap the benefits with little patience. Although the programming language of EViews is different than that of RATS, it really increases the flexibility with its ease of use. RATS is extremely command-driven, which I believe gives the ability to perform difficult tasks via writing procedures or using the built-in ones. Therefore, it has a wider range of applications. On the other hand, commands and programming language are interestingly similar (in narrow sense) between EViews and MATLAB. Hopefully, in the near future QMS will broaden the area of use of EViews via adding new features and improving the current ones.


dear trubador
I have applied this code and its working, however I can not add AR elements to the mean equation, actually it needs to be a VAR with two lags.

how can I add lag variables to the mean equation?

Re: HOW TO ESTIMATE A MULTIVARIATE GARCH-M MODEL?

Posted: Sun Feb 20, 2011 2:25 pm
by mamo1
Hi all,
Like many of you I am working on my thesis and I need to estimate bi-variate BEKK-GARCH(1,1). I looked into the sample code and it restricts the variance covariance matrix to diagonals. Can someone, please, help me modify the code so that it will do the following:

y1 = a0 + a1*x1 + a2*var(y1) + a3*cov(y1, y2)
y2 = b0 + b1*x2 + b2*var(y2) + b3*cov(y1, y2)

where x1 and x2 are exogenous variables. And beta, alpha in {H = omega*omega' + beta H(-1) beta' + alpha res(-1) res(-1)' alpha'} are not restricted to be diagonals.

Thank you in advance for taking your time.
Mamo,

Re: HOW TO ESTIMATE A MULTIVARIATE GARCH-M MODEL?

Posted: Tue Feb 22, 2011 1:23 am
by trubador
yaser wrote:dear trubador
I have applied this code and its working, however I can not add AR elements to the mean equation, actually it needs to be a VAR with two lags.

how can I add lag variables to the mean equation?

You should carefully modify each residual specification so as to include lags of independent variables. Please note that, you have to modify the code each time you want to estimate a MGARCH model (e.g. number of variables, mean equation, variance equation, in-mean specification, error distribution). Therefore, it is virtually impossible for me to write/modify the code for such custom needs.
mamo1 wrote:Hi all,
Like many of you I am working on my thesis and I need to estimate bi-variate BEKK-GARCH(1,1). I looked into the sample code and it restricts the variance covariance matrix to diagonals. Can someone, please, help me modify the code so that it will do the following:

y1 = a0 + a1*x1 + a2*var(y1) + a3*cov(y1, y2)
y2 = b0 + b1*x2 + b2*var(y2) + b3*cov(y1, y2)

where x1 and x2 are exogenous variables. And beta, alpha in {H = omega*omega' + beta H(-1) beta' + alpha res(-1) res(-1)' alpha'} are not restricted to be diagonals.

Thank you in advance for taking your time.
Mamo,

You can work on the following code: viewtopic.php?f=4&t=3358#p11338

Re: HOW TO ESTIMATE A MULTIVARIATE GARCH-M MODEL?

Posted: Fri Feb 25, 2011 2:38 pm
by mamo1
trubdor,

Thanks a lot for pointing me to the right direction. I was able to adjust it to fit my project. But I am getting the following error message

Missing values in @LOGL series at current coefficients at observation 1991M11 in "DO_ BVGARCHM.ML(SHOWOPTS, M=100, C=1E-5)"
LogL estimates are not valid in "SHOW BVGARCHM.OUTPUT"

I have attached the modified code if you (or other users) can take a look at it quickly and let me know what went wrong.

I am really grateful for your time.
Mamo,
bekk4.prg
full bivariate bekk garch(1,1)
(4.94 KiB) Downloaded 942 times

Re: HOW TO ESTIMATE A MULTIVARIATE GARCH-M MODEL?

Posted: Mon Feb 28, 2011 1:50 am
by trubador
It is clear from the output that you are experiencing a numerical overflow problem. You can try changing the starting values. Please search the forum for other possible remedies. However, you should note that the model you are trying to solve is quite difficult and may lead to identification problems.

Re: HOW TO ESTIMATE A MULTIVARIATE GARCH-M MODEL?

Posted: Mon Feb 28, 2011 1:59 pm
by SayanPc
Dear All,

While this is a slight detour from the intended topic of this thread i would like to ask some help with respect to my Bivariate EGARCH code.

I keep getting the error message : "missing values in @LOGL series at current coefficients at observation 4/07/1983 in "DO_BV_EGARCH.ML(SHOWOPTS, BHHH=100, C=1E-5)

acknowledging that the dataset may have been an issue i ran it through the sample BV_GARCH program that comes with eviews and it brought up no error.

I would much appreciate some help on this matter. could someone tell me how to solve this problem?

Thanks very much for your time!

Re: HOW TO ESTIMATE A MULTIVARIATE GARCH-M MODEL?

Posted: Tue Aug 16, 2011 4:32 am
by jpk
trubador wrote:Yes, there is actually. I strongly agree with you that such recursive estimations lead to false or inconsistent results and joint estimation methods should be preferred where possible. You can build a multivariate garch in mean framework in EViews and estimate it easily with LogL object. Besides, you do not need to write a program from scratch and all you have to do is modify a sample program of trivariate garch provided by EViews (the path is ...\EViews6\Example Files\Sample Programs\logl\tv_garch.prg). Although it will be a tedious attempt for models with more than three variables, you can still alter the code to suit your problem.

Please note that original code provided by EViews also contains some small errors. I corrected and showed them as well. And there may also be further errors in the original code and in my modifications. So please check carefully before using it!

As an example, I made the following modifications for the trivariate garch in mean model:

'........ (means rest of the steps are same as the original version of the code)

Code: Select all

'........
' y = mu + lambda*H + res
'........
'  where,
'........
'    lambda = 3 x 1
'........
'get starting values from univariate GARCH
equation eq1.arch(archm=var,m=100,c=1e-5) y1 c
equation eq2.arch(archm=var,m=100,c=1e-5) y2 c
equation eq3.arch(archm=var,m=100,c=1e-5) y3 c

'save the conditional variances
eq1.makegarch garch1
eq2.makegarch garch2
eq3.makegarch garch3
'........
' declare coef vectors to use in GARCH model
coef(3) lambda 'please note that c(1) now belongs to conditional variance in the mean equation and do not forget to change other coefficients accordingly.
lambda(1) = eq1.c(1)
lambda(2) = eq2.c(1)
lambda(3) = eq3.c(1)
'........
 mu(3) = eq3.c(2) 'in the original specification equation number is misspecified
'........
 alpha(3) = (eq3.c(4))^.5 'in the original specification equation number is misspecified
'........
' use sample var-cov as starting value of variance-covariance matrix
series cov_y1y2 = @cov(y1-mu(1)-lambda(1)*garch1, y2-mu(2)-lambda(2)*garch2)
series cov_y1y3 = @cov(y1-mu(1)-lambda(1)*garch1, y3-mu(3)-lambda(3)*garch3)
series cov_y2y3 = @cov(y2-mu(2)-lambda(2)*garch2, y3-mu(3)-lambda(3)*garch3)
series var_y1 = @var(y1-lambda(1)*garch1)
series var_y2 = @var(y2-lambda(2)*garch2)
series var_y3 = @var(y3-lambda(3)*garch3)

series sqres1 = (y1-mu(1)-lambda(1)*garch1)^2
series sqres2 = (y2-mu(2)-lambda(2)*garch2)^2
series sqres3 = (y3-mu(3)-lambda(3)*garch3)^2

series res1res2 = (y1-mu(1)-lambda(1)*garch1)*(y2-mu(2)-lambda(2)*garch2)
series res1res3 = (y1-mu(1)-lambda(1)*garch1)*(y3-mu(3)-lambda(3)*garch3)
series res2res3 = (y2-mu(2)-lambda(2)*garch2)*(y3-mu(3)-lambda(3)*garch3)
'........
' squared errors and cross errors
tvgarch.append @logl logl
tvgarch.append sqres1 = (y1-mu(1)-lambda(1)*garch1)^2
tvgarch.append sqres2 = (y2-mu(2)-lambda(2)*garch2)^2
tvgarch.append sqres3 = (y3-mu(3)-lambda(3)*garch3)^2

tvgarch.append res1res2 = (y1-mu(1)-lambda(1)*garch1)*(y2-mu(2)-lambda(2)*garch2)
tvgarch.append res1res3 = (y1-mu(1)-lambda(1)*garch1)*(y3-mu(3)-lambda(3)*garch3)
tvgarch.append res2res3 = (y2-mu(2)-lambda(2)*garch2)*(y3-mu(3)-lambda(3)*garch3)
'........


Hi, I am trying to estimate the following trivariate GARCH-in-mean model:

y(t+1)=a + Ay(t) + Bvech[H(t+1)] + error(t+1)
with the restrictions: a(1)=0, first row of A are all zero, B(1,1) = -.5

How do I edit this code to impose these restrictions?
Any help is greatly appreciated!

Re: HOW TO ESTIMATE A MULTIVARIATE GARCH-M MODEL?

Posted: Tue Aug 16, 2011 11:12 pm
by trubador
I think you should try to modify the following code instead: viewtopic.php?f=15&t=3364

"a" and "H" matrices correspond to "mu" and "lambda", respectively. Please note that, as explained in the beginning of the code, your model specification is slightly different. Your model includes the lagged vaules of dependent variables in the mean equation (as in VAR), whereas the original version of the code operates only on the constants. The "A" matrix is not defined as a result. Therefore, you need to extended the relevant parts of the model to incorporate this difference.

Re: HOW TO ESTIMATE A MULTIVARIATE GARCH-M MODEL?

Posted: Wed Aug 17, 2011 8:08 am
by jpk
Thanks for the response. Could you please explain how to modify the program to include the lagged terms?