Unrestricted BEKK GARCH

For technical questions regarding estimation of single equations, systems, VARs, Factor analysis and State Space Models in EViews. General econometric questions and advice should go in the Econometric Discussions forum.

Moderators: EViews Gareth, EViews Moderator

manfrycar
Posts: 1
Joined: Wed Oct 12, 2016 7:24 am

Unrestricted BEKK GARCH

Postby manfrycar » Wed Oct 12, 2016 8:08 am

Hi all,
I've searched for a solution in many posts but I could not find it. I really need to solve this issue in order to finish my final dissertation. I'm trying to run a bivariate BEKK GARCH with volatility spillovers. But, this error message appears: Missing values in @LOGL series at current coefficients at observation 8/25/2010 in "DO_ BVGARCH.ML(SHOWOPTS, M=1000, C=1E-5)". I'm using Eviews 9.5 . Can you please check my program?

Code: Select all

smpl @all
series y1 = d(log(cno))
series y2 = d(log(cnh))

' set sample
' first observation of s1 need to be one or two periods after
' the first observation of s0
sample s0 08/24/2010 08/31/2016
sample s1 08/25/2010 08/31/2016


' initialization of parameters and starting values
' change below only to change the specification of model
smpl s0

'get starting values from univariate GARCH
equation eq1.arch(m=1000,c=1e-5) y1 c y1(-1) y2(-1)
equation eq2.arch(m=1000,c=1e-5) y2 c y1(-1) y2(-1)

' declare coef vectors to use in bi-variate GARCH model
' see above for details
coef(2) mu
mu(1) = eq1.c(1)
mu(2) = eq2.c(1)

coef(4) lag
lag(1) = eq1.c(2)
lag(2) = eq1.c(3)
lag(3) = eq2.c(2)
lag(4) = eq2.c(3)

coef(3) omega
omega(1)=(eq1.c(4))^.5
omega(2)=(eq2.c(4))^.5
omega(3)=0

coef(4) alpha
alpha(1) = (eq1.c(5))^.5
alpha(2) = (eq2.c(5))^.5
alpha(3) = 0
alpha(4) = 0

coef(4) beta
beta(1) = (eq1.c(6))^.5
beta(2) = (eq2.c(6))^.5
beta(3) = 0
beta(4) = 0

' constant adjustment for log likelihood
!mlog2pi = 2*log(2*@acos(-1))

' use var-cov of sample in "s1" as starting value of variance-covariance matrix
series cov_y1y2 = @cov(y1, y2)
series var_y1 = @var(y1)
series var_y2 = @var(y2)

series sqres1 = (y1-mu(1)-lag(1)*y1(-1)-lag(2)*y2(-1))^2
series sqres2 = (y2-mu(2)-lag(3)*y1(-1)-lag(4)*y2(-1))^2
series res1res2 =(y1-mu(1)-lag(1)*y1(-1)-lag(2)*y2(-1))*(y2-mu(2)-lag(3)*y1(-1)-lag(4)*y2(-1))

' ...........................................................
' LOG LIKELIHOOD
' set up the likelihood
' 1) open a new blank likelihood object (L.O.) name bvgarch
' 2) specify the log likelihood model by append
' ...........................................................

logl bvgarch
bvgarch.append @logl logl
bvgarch.append sqres1 = (y1-mu(1)-lag(1)*y1(-1)-lag(2)*y2(-1))^2
bvgarch.append  sqres2 = (y2-mu(2)-lag(3)*y1(-1)-lag(4)*y2(-1))^2
bvgarch.append res1res2 = (y1-mu(1)-lag(1)*y1(-1)-lag(2)*y2(-1))*(y2-mu(2)-lag(3)*y1(-1)-lag(4)*y2(-1))

' calculate the variance and covariance series
bvgarch.append var_y1  =  omega(1)^2 + omega(3)^2 + alpha(1)^2*sqres1(-1) + alpha(2)^2*sqres2(-1) + alpha(1)*alpha(2)*res1res2(-1) + beta(1)^2*var_y1(-1) + beta(2)^2*var_y2(-1) + beta(1)*beta(2)*cov_y1y2(-1)
bvgarch.append var_y2  = omega(2)^2 + alpha(3)^2*sqres1(-1) + alpha(4)^2*sqres2(-1) + alpha(3)*alpha(4)*res1res2(-1) + beta(3)^2*var_y1(-1) + beta(4)^2*var_y2(-1) + beta(3)*beta(4)*cov_y1y2(-1)
bvgarch.append cov_y1y2 = omega(2)*omega(3) + alpha(1)*alpha(2)*sqres1(-1) + alpha(3)*alpha(4)*sqres2(-1) + (alpha(1)*alpha(4) + alpha(2)*alpha(3))*res1res2(-1) + beta(1)*beta(2)*var_y1(-1) + beta(3)*beta(4)*var_y2(-1) + (beta(1)*beta(4) + beta(2)*beta(3))*cov_y1y2(-1)

' determinant of the variance-covariance matrix
bvgarch.append deth = var_y1*var_y2 - cov_y1y2^2

' inverse elements of the variance-covariance matrix
bvgarch.append invh2 = var_y2/deth
bvgarch.append invh1 = var_y1/deth
bvgarch.append invh3 = -cov_y1y2/deth

' log-likelihood series
bvgarch.append logl =-0.5*(!mlog2pi + (invh1*sqres1 + 2*invh3*res1res2 + invh2*sqres2) + log(deth))

' remove some of the intermediary series
bvgarch.append @temp invh1 invh2 invh3 sqres1 sqres2 res1res2 deth


' estimate the model
smpl s1
bvgarch.ml(showopts, m=1000, c=1e-5)

' change below to display different output
show bvgarch.output
graph varcov.line var_y1 var_y2 cov_y1y2
show varcov
Attachments
bbb.prg
(3.43 KiB) Downloaded 314 times
aaa.wf1
(57.72 KiB) Downloaded 274 times

Return to “Estimation”

Who is online

Users browsing this forum: No registered users and 7 guests