## Dynamic conditional correlation multivariate 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

sam86
Posts: 2
Joined: Wed Jan 03, 2018 10:50 am

### Re: Dynamic conditional correlation multivariate GARCH

Hello,
is the three-stage estimation method of the DCC-GARCH available, the addin has only the 2 step estimation method,

Help is much appreciated,

arorasunita67
Posts: 2
Joined: Thu May 12, 2016 4:27 am

### Re: Dynamic conditional correlation multivariate GARCH

Hvtcapollo wrote:You can consider this code. I used it last year for my research and you should be ok if using it for the bivariate. For trivariate u need to modify a litle bit especially for the log likelihood function.

Code: Select all

`'change path to program path%path=@runpathcd %path'load workfile containing the return seriesload nikkei_sp.WF1'set sample rangesample s1 1/06/1995 12/25/2007scalar pi=3.14159'defining the return series in terms of y1 and y2series y1=r_nikkeiseries y2=r_sp'fitting univariate GARCH(1,1) models to each of the two returns seriesequation eq_y1.arch(1,1,m=1000,h) y1 cequation eq_y2.arch(1,1,m=1000,h) y2 c'extract the standardized residual series from the GARCH fiteq_y1.makeresids(s) z1eq_y2.makeresids(s) z2'extract garch series from univariate fiteq_y1.makegarch() garch1eq_y2.makegarch() garch2'Caculate sample variance of series z1, z2 and covariance of z1and z2 and correlation between z1 and z2scalar 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_z1series var_z2t=var_z2series cov_z1tz2t=cov_z1z2'declare the coefficient starting valuescoef(2) TT(1)=0.2T(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 dccdcc.append @logl logl'specify var_z1t, var_z2t, cov_z1tz2tdcc.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 rho12dcc.append rho12=cov_z1tz2t/@sqrt(@abs(var_z1t*var_z2t))'defining the determinant of correlation matrix and determinant of Dtdcc.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 functiondcc.append logl=(-1/2)*(2*log(2*pi)+log(detrRt)+(z1^2+z2^2-2*rho12*z1*z2)/detrRt)-10*pen'estimate the modelsmpl s1dcc.ml(showopts, m=500, c=1e-5)'display output and graphsshow dcc.outputgraph corr.line rho12show corr`

arorasunita67
Posts: 2
Joined: Thu May 12, 2016 4:27 am

### Re: Dynamic conditional correlation multivariate GARCH

vivian wrote:Thanks very much for sharing the code. I used this code for my research as well, it turned out that there is always an error box saying " Missing values in @LOGL series at current coefficients at observation 1 in 'DO_DCC.ML(SHOWOPTS, M=500,C=1E-5)' "

Could you guys tell me where went wrong? I will really appreciate your help ....