|
epoh老师好,我想问问你一个关于DYNARE问题,我编好程序后,开始运行,出现了错误提示:
Starting Dynare (version 4.2.1).
Starting preprocessing of the model file ...
ERROR: fs2000.mod:96.71: syntax error, unexpected ';'
??? Error using ==> dynare
DYNARE: preprocessing failed
这是我编好的程序,不知道是哪里出错了:
var c l y k i gi gc z b rk v r f kg a sb w taul tauk tauc ub ul ua uz utl utk utc ugc;
varexo e_b e_l e_a1 e_a2 e_z e_tl e_tk e_tc e_gc;
parameters alp bet gam h kappa phi0 phi1 phi2 phi3 phi4 phi5 phi6 phi7 phi8 phi9 phi10 phi11 del0 del1 del2 delg alpg rhob rhol rhoa1 rhoa2 rhoz rhotl rhotk rhotc rhogc sigmab sigmal sigmaa1 sigmaa2 sigmaz sigmatk sigmatl sigmatc sigmagc psiz psitk psitl gammaz gammatk gammatl gammagc;
alp = 0.436;
bet = 0.9897;
gam = 0.87;
h = 0.7;
kappa = 1.1;
phi0 = 0;
phi1 = 0.03125;
phi2 = 0.03125;
phi3 = 0.03125;
phi4 = 0.09375;
phi5 = 0.09375;
phi6 = 0.09375;
phi7 = 0.09375;
phi8 = 0.09375;
phi9 = 0.09375;
phi10 = 0.09375;
phi11 = 0.09375;
del0 = 0.0274;
del1 = 0.035;
del2 = 0.7;
delg = 0.025;
alpg = 0.2;
rhob = 0.5;
rhol = 0.5;
rhoa1 = 0.5;
rhoa2 = 0.5;
rhoz = 0.5;
rhotl = 0.5;
rhotk = 0.5;
rhotc = 0.5;
rhogc = 0.5;
sigmab = 1;
sigmal = 1;
sigmaa1 = 1;
sigmaa2 = 1;
sigmaz = 1;
sigmatl = 1;
sigmatk = 1;
sigmatc = 1;
sigmagc = 1;
psiz = 0.2;
psitk = 1;
psitl = 0.5;
gammaz = 0.15;
gammatk = 0.15;
gammatl = 0.15;
gammagc = 0.15;
model;
(c-h*c)^(-gam) = ((1+tauc)/ub)*bet*r*ub(+1)*(c(+1)-h*c)^(-gam)/(1+tauc(+1));
l^(1+kappa) = (1/(ul*(1+tauc))*((c-h*c(-1))^(-gam))*(1-taul)*(1-alp)*y;
y = rk*v*k(-1)+w*l;
ub = rhob*ub(-1)+sigmab*e_b;
ul = rhol*ul(-1)+sigmal*e_l;
k = (1-f)*k(-1)+i;
f = del0+del1*(v-1)+(del2*(v-1)^2)/2;
y = ua*((v*k(-1))^alp)*(i^(1-alp))*kg(-1)^alpg;
ua = rhoa1*ua(-1)+sigmaa1*e_a1;
i = del0*k;
z = tauc*c+tauk*rk*v*k(-1)+taul*w*l+b-gc-gi-r(-1)*b(-1);
rk = alp*y/k(-1);
w = (1-alp)*/l;
kg(-1) = (1-delg)*kg(-2)+a(-12);
gi = phi0*a+phi1*a(-1)+phi2*a(-2)+phi3*a(-3)+phi4*a(-4)+phi5*a(-5)+phi6*a(-6)+phi7*a(-7)+phi8*a(-8)+phi9*a(-9)+phi10*a(-10)+phi11*a(-11);
a = rhoa2*a(-1)+sigmaa2*e_a2;
y = c+i+gi+gc;
zhat = -psia*yhat-gammaz*sbhat(-8)+uzhat;
uzhat = rhoz*uzhat(-1)+sigmaz*e_z;
taulhat = psitl*yhat+gammatl*sbhat(-8)+utlhat;
utlhat = rhotl*utlhat(-1)+sigmatl*e_tl;
taukhat = psitk*yhat+gammatk*sbhat(-8)+utkhat;
utkhat = rhotk*utkhat(-1)+sigmatk*e_tk;
tauchat = utchat;
utchat = rhotc*utchat(-1)+sigmatc*e_tc;
gchat = -gammagc*sbhat(-8)+ugchat;
ugchat = rhogc*ugchat(-1)+sigmagc*e_gc;
sb = b/y;
end;
initval;
sb = 0.04;
v = 1;
rk = 0.057;
i =0.2096;
c = 0.45;
k = 7.649;
l = 0.2075;
y = 1;
gc = 0.0713;
b = 0.04;
gi = 0.0028;
kg = 3.627;
z = 0.03949
w = 2.7187;
taul = 0.1;
tauk = 0.1;
tauc = 0.1;
uz = 0;
utk = 0;
utl = 0;
utc = tauc;
ugc = 0;
ub = 1;
ua = 1.7084;
ul = 0.03674;
a = gi;
f = del0;
r = 1/bet;
e_b = 0;
e_l = 0;
e_a1 = 0;
e_a2 = 0;
e_z = 0;
e_tl = 0;
e_tk = 0;
e_tc = 0;
e_gc = 0;
end;
shocks;
var e_b; stderr 0.014;
var e_l; stderr 0.005;
var e_a1; stderr 0.005;
var e_a2; stderr 0.005;
var e_z; stderr 0.005;
var e_tl; stderr 0.005;
var e_tk; stderr 0.005;
var e_tc; stderr 0.005;
var e_gc; stderr 0.005;
end;
steady(solve_algo=0);
check;
estimated_params;
alp, beta_pdf, 0.4, 0.02;
bet, beta_pdf, 0.99, 0.002;
gam, gamma_pdf, 0.87, 0.5;
kappa , gamma_pdf, 1.1, 0.5;
h, beta_pdf, 0.7, 0.2;
del2, beta_pdf, 0.7, 0.5;
rhob, beta_pdf, 0.5, 0.2;
rhol, beta_pdf, 0.5, 0.2;
rhoa1, beta_pdf, 0.5, 0.2;
rhoa2, beta_pdf, 0.5, 0.2;
rhoz, beta_pdf, 0.5, 0.2;
rhotl, beta_pdf, 0.5, 0.2;
rhotk, beta_pdf, 0.5, 0.2;
rhotc, beta_pdf, 0.5, 0.2;
rhogc, beta_pdf, 0.5, 0.2;
sigmab, inv_gamma_pdf, 1, inf;
sigmal, inv_gamma_pdf, 1, inf;
sigmaa1, inv_gamma_pdf, 1, inf;
sigmaa2, inv_gamma_pdf, 1, inf;
sigmaz, inv_gamma_pdf, 1, inf;
sigmatl, inv_gamma_pdf, 1, inf;
sigmatk, inv_gamma_pdf, 1, inf;
sigmatc, inv_gamma_pdf, 1, inf;
sigmagc, inv_gamma_pdf, 1, inf;
psiz, gamma_pdf, 0.2, 0.1;
psitk, gamma_pdf, 1, 0.3;
psitl, gamma_pdf, 0.5, 0.25;
gammaz, normal_pdf, 0.15, 0.1;
gammatk, normal_pdf, 0.15, 0.1;
gammatl, normal_pdf, 0.15, 0.1;
gammagc, normal_pdf, 0.15, 0.1;
stderr e_b, inv_gamma_pdf, 0.035449, inf;
stderr e_l, inv_gamma_pdf, 0.008862, inf;
stderr e_a1, inv_gamma_pdf, 0.008862, inf;
stderr e_a2, inv_gamma_pdf, 0.008862, inf;
stderr e_z, inv_gamma_pdf, 0.008862, inf;
stderr e_tl, inv_gamma_pdf, 0.008862, inf;
stderr e_tk, inv_gamma_pdf, 0.008862, inf;
stderr e_tc, inv_gamma_pdf, 0.008862, inf;
stderr e_gc, inv_gamma_pdf, 0.008862, inf;
end;
varobs y c l;
estimation(order=1, datafile=fsdat_simul, mh_replic=2000, mh_nblocks=2, mh_jscale=0.8);
/*
* The following lines were used to generate the data file. If you want to
* generate another random data file, comment the "estimation" line and uncomment
* the following lines.
*/
//stoch_simul(periods=200, order=1);
//datatomfile('fsdat_simul', char('y', 'c', 'l'));
谢谢epoh老师!
|