Estimating Solow residuals in Dynare 4.3.3
Posted: Thu Oct 02, 2014 8:19 am
Hi all,
I have a two-country, two-sector model and I am trying to estimate a TFP process out of Solow residuals. As I want to impose some restrictions on the VAR(1) matrix and on the var-cov matrix I am trying to use Dynare and do the estimation with ML. To do so, I assume that there is a matrix B which relates the actual residuals with some other error terms which are orthogonal to each other and with unit variance: e(t) = B*u(t). Thus B is the cholesky of the variance covariance matrix such that Sigma = e*e' = B*B' . My equations look like this:
... with a,b, c,... being the elements of matrix B which I could potentially restrict.
I start without imposing any restrictions on the parameters, such that the solution from an OLS estimation and from ML coincide. I run the estimation also in EViews. My question is why the estimates in Dynare (as outlined above) and in Eviews do not coincide? The differences are not very big, but I would not say insignificant. And the estimation converges pretty fast without much signs of problems, if I read the output well. I use the default alogrythm, I (still) have Dyare 4.3.3.
As observables, I feed the estimated Solow residuals in logs and linearly-detrended (I follow a paper that does the same). In that case, I do not need to use the prefilter=1 option right? It does not make much difference anyway... And should I do
Thanks in advance for your help. I attach the code together with the data file.
Best,
Kyriacos
I have a two-country, two-sector model and I am trying to estimate a TFP process out of Solow residuals. As I want to impose some restrictions on the VAR(1) matrix and on the var-cov matrix I am trying to use Dynare and do the estimation with ML. To do so, I assume that there is a matrix B which relates the actual residuals with some other error terms which are orthogonal to each other and with unit variance: e(t) = B*u(t). Thus B is the cholesky of the variance covariance matrix such that Sigma = e*e' = B*B' . My equations look like this:
- Code: Select all
zT1 = A1T_11*zT1(-1) + A1T_12*zT2(-1) + A1T_13*zN1(-1) + A1T_14*zN2(-1) + a*eT1 ;
zT2 = A2T_11*zT1(-1) + A2T_12*zT2(-1) + A2T_13*zN1(-1) + A2T_14*zN2(-1) + b*eT1 + c*eT2 ;
zN1 = A1N_11*zT1(-1) + A1N_12*zT2(-1) + A1N_13*zN1(-1) + A1N_14*zN2(-1) + d*eT1 + e*eT2 + f*eN1 ;
zN2 = A2N_11*zT1(-1) + A2N_12*zT2(-1) + A2N_13*zN1(-1) + A2N_14*zN2(-1) + g*eT1 + h*eT2 + k*eN1 + l*eN2 ;
... with a,b, c,... being the elements of matrix B which I could potentially restrict.
I start without imposing any restrictions on the parameters, such that the solution from an OLS estimation and from ML coincide. I run the estimation also in EViews. My question is why the estimates in Dynare (as outlined above) and in Eviews do not coincide? The differences are not very big, but I would not say insignificant. And the estimation converges pretty fast without much signs of problems, if I read the output well. I use the default alogrythm, I (still) have Dyare 4.3.3.
As observables, I feed the estimated Solow residuals in logs and linearly-detrended (I follow a paper that does the same). In that case, I do not need to use the prefilter=1 option right? It does not make much difference anyway... And should I do
- Code: Select all
model (linear)
Thanks in advance for your help. I attach the code together with the data file.
Best,
Kyriacos