DCC GARCH correlations
Posted: Mon Nov 28, 2011 8:16 am
Hi,
I'm working on a DCC GARCH model which I want to estimate using Engle (2002) two-step procedure. First, I successfully extract the coefficients (which make perfect sense). Then, I run into difficulties when trying to maximize the matrix Q_t. Here is the code I use.
I ran into complications when trying to estimate the time-varying var-covar matrix H_t. I get the following error.
MAT14. Non-invertible Matrix. Using Generalized Inverse for SYMMETRIC
What could cause this non-invertibility? I don't see why it does not try to maximize at least for the first 10 iterations.
Thank you,
Alan
I'm working on a DCC GARCH model which I want to estimate using Engle (2002) two-step procedure. First, I successfully extract the coefficients (which make perfect sense). Then, I run into difficulties when trying to maximize the matrix Q_t. Here is the code I use.
Code: Select all
*Correlation
do i=1,nSeries
set z(i) = z(i)/sqrt(h(i)) ;*standardized residuals
end do i
*
decl symm[series] r(nSeries,nSeries)
decl symm[series] q(nSeries,nSeries)
decl symm qMat(nSeries,nSeries) qMat1(nSeries,nSeries)
decl symm rMat(nSeries,nSeries) zMat1(nSeries,nSeries)
decl frml[symm] qf
*
nonlin(parmset=corrParms) alpha_c beta_c
*
*Define the Q function
frml qf = (zMat1 = %outerxx(%xt(z,t-1))-rMat), $
(qMat1 = %xt(q,t-1)-rMat), $
rMat + alpha_c*zMat1 + beta_c*qMat1
*
*Variance Covariance matrix std. residuals initialize values
VCV(MATRIX=rMat)
#z
*
*Fill in the rMat matrix
do i=1,nSeries
do j=1,i
set q(i,j) = rMat(i,j)
end do j
end do i
*
* Define correlation part of the log likelihood
FRML CLOGL = qMat = qf(t), zVec = %xt(z,t), %pt(q,t,qMat),$ ;*Fill in qmat with q's, set up zVec
%pt(r,t,%mqform(qMat,inv(%diag(%sqrt(%xdiag(qMat)))))),$ ;*max and fill r every step
qMat = %xt(r,t),$
%logdensity(qMat,zVec)
*
compute alpha_c = 0.10, beta_c = 0.80
*
maximize(parmset=corrParms,method=simplex,ITERS=10) CLOGL nbeg+3 nend
maximize(parmset=corrParms,method=bfgs,ITERS=200) CLOGL nbeg+3 nendMAT14. Non-invertible Matrix. Using Generalized Inverse for SYMMETRIC
What could cause this non-invertibility? I don't see why it does not try to maximize at least for the first 10 iterations.
Thank you,
Alan