Regarding dcc coding

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

ayca79
Posts: 16
Joined: Thu Mar 05, 2015 4:20 am

Regarding dcc coding

Postby ayca79 » Fri May 15, 2015 6:11 am

Hello,

I have a question regarding mgarch dcc coding. Below is the bivariate mgarch dcc code. There are 2 return series as variables. However, when I also put my return series as variables the garch model residual test indicates autocorrelation between residuals of garch models. So, I built an AR model and obtained error terms from it. I put those error series as variables in the following codes.

My error terms are resp1 and respm. So for me series y1=resp1 and series y2=respm. Is this correct for those codes? Because, in the below codes, we create standardized residuals and then create garch series. Is it okey that I use error terms of the autoregressive return series instead of returns series themselves and thus create garch series?

eq_y1.makeresids(s) z1
eq_y2.makeresids(s) z2

'extract garch series from univariate fit
eq_y1.makegarch() garch1
eq_y2.makegarch() garch2

Thank you very much,

CODES

'change path to program path
%path=@runpath
cd %path

'load workfile containing the return series
load nikkei_sp.WF1

'set sample range
sample s1 1/06/1995 12/25/2007
scalar pi=3.14159

'defining the return series in terms of y1 and y2
series y1=r_nikkei
series y2=r_sp

'fitting univariate GARCH(1,1) models to each of the two returns series
equation eq_y1.arch(1,1,m=1000,h) y1 c
equation eq_y2.arch(1,1,m=1000,h) y2 c

'extract the standardized residual series from the GARCH fit
eq_y1.makeresids(s) z1
eq_y2.makeresids(s) z2

'extract garch series from univariate fit
eq_y1.makegarch() garch1
eq_y2.makegarch() garch2

'Caculate sample variance of series z1, z2 and covariance of z1and z2 and correlation between z1 and z2
scalar var_z1=@var(z1)
scalar var_z2=@var(z2)
scalar cov_z1z2=@cov(z1,z2)
scalar corr12=@cor(z1,z2)

'defining the starting values for the var(z1) var(z2) and covariance (z1,z2)
series var_z1t=var_z1
series var_z2t=var_z2
series cov_z1tz2t=cov_z1z2

'declare the coefficient starting values
coef(2) T
T(1)=0.2
T(2)=0.7

' ...........................................................
' LOG LIKELIHOOD for correlation part
' set up the likelihood
' 1) open a new blank likelihood object and name it 'dcc'
' 2) specify the log likelihood model by append
' ...........................................................

logl dcc
dcc.append @logl logl

'specify var_z1t, var_z2t, cov_z1tz2t
dcc.append var_z1t=@nan(1-T(1)-T(2)+T(1)*(z1(-1)^2)+T(2)*var_z1t(-1),1)
dcc.append var_z2t=@nan(1-T(1)-T(2)+T(1)*(z2(-1)^2)+T(2)*var_z2t(-1),1)
dcc.append cov_z1tz2t=@nan((1-T(1)-T(2))*corr12+T(1)*z1(-1)*z2(-1)+T(2)*cov_z1tz2t(-1),1)

dcc.append pen=(var_z1t<0)+(var_z2t<0)

'specify rho12
dcc.append rho12=cov_z1tz2t/@sqrt(@abs(var_z1t*var_z2t))

'defining the determinant of correlation matrix and determinant of Dt
dcc.append detrRt=(1-(rho12^2))
dcc.append detrDt=@sqrt(garch1*garch2)
dcc.append pen=pen+(detrRt<0)
dcc.append detrRt=@abs(detrRt)

'define the log likelihood function
dcc.append logl=(-1/2)*(2*log(2*pi)+log(detrRt)+(z1^2+z2^2-2*rho12*z1*z2)/detrRt)-10*pen

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

'display output and graphs
show dcc.output
graph corr.line rho12
show corr

trubador
Did you use forum search?
Posts: 1520
Joined: Thu Nov 20, 2008 12:04 pm

Re: Regarding dcc coding

Postby trubador » Sat May 23, 2015 2:49 pm

Yes, you can use residuals directly. In that case, however, the model becomes a three-stage procedure. Why don't you try dccgarch11 add-in?


Return to “Estimation”

Who is online

Users browsing this forum: No registered users and 2 guests