DSGE贝叶斯参数估计报错,代码如下
var Y C I N K W R G A E tau CE Q L JQ zeta gp gf P T F;
varexo e_1 e_2 e_3 e_4 e_5;
parameters beta delta eta alpha fai rho_1 rho_2 rho_3 rho_4 rho_5 gamma_1 gamma_2;
beta=0.95;
delta=0.1;
eta=0.77;
alpha=0.45;
fai=0.16;
rho_1=0.78;
rho_2=0.42;
rho_3=0.7;
gamma_1=0.15;
gamma_2=2.5;
rho_4=0.55;
rho_5=0.55;
model;
//(1)labor supply
C*eta/(1-N)=W;
//(2)euler equation
1=beta*(C/C(+1))*(R(+1)+(1-delta));
//(4)labor demand
W=(1+fai*L*zeta/E-gamma_1*L^(gamma_2))*(1-alpha)*A*K(-1)^(alpha)*N^(-alpha);
//(5)capital demand
R=(1+fai*L*zeta/E-gamma_1*L^(gamma_2))*alpha*A*K(-1)^(alpha-1)*N^(1-alpha)-delta;
//(6)account accumulation
Y=C+I+G;
//(7)capital accumulation
K=(1-delta)*K(-1)+I;
//(8)pruduction function
Y=A*K(-1)^(alpha)*N^(1-alpha);
//(9)carbon
CE=fai*Y/E;
//(10)JQ
JQ=L*fai*Y/E;
//(11)cost
Q=gamma_1*L^(gamma_2)*Y;
//(12)goverment balance
G=tau*CE;
//(13)g
G=gp+gf;
//(18)
gf=zeta*L*CE;
//(14)technology shock
ln(A)=rho_1*ln(A(-1))+e_1;
//(15)green shock
ln(E)=rho_2*ln(E(-1))+e_2;
//(16)tau shock
ln(tau)=rho_3*ln(tau(-1))+e_3;
//(17)effort level shock
ln(L)=rho_4*ln(L(-1))+e_4;
//(18)subdidy shock
ln(zeta)=rho_5*ln(zeta(-1))+e_5;
//(19)P
P=W*N+(R+delta)*K(-1)+gp;
//(20)T
T=Y-W*N-(R+delta)*K(-1)-Q+gf;
//(21)F
F=ln(C)+ln(1-N)-ln(CE)+beta*F(+1);
end;
shocks;
var e_1;stderr 0.01;
var e_2;stderr 0.01;
var e_3;stderr 0.01;
var e_4;stderr 0.01;
var e_5;stderr 0.01;
end;
estimated_params;
stderr e_4,inv_gamma_pdf,0.01,inf;
stderr e_5,inv_gamma_pdf,0.01,inf;
rho_4,beta_pdf,0.55,0.01;
rho_5,beta_pdf,0.55,0.01;
end;
estimated_params_bounds;
stderr e_4, 0.001, .2;
stderr e_5, 0.001, .2;
rho_4, .001,.95;
rho_5, .001,.95;
end;
estimated_params_init;
stderr e_4, 0.01;
stderr e_5, 0.01;
rho_4, 0.55;
rho_5, 0.55;
end;
varobs Y ;
estimation(datafile=xinxinxin,conf_sig =.95,first_obs=101,smoother,moments_varendo,filtered_vars,forecast =40,nobs=40,mode_check,mode_compute=4,mh_replic=1200,mh_jscale=1.4,mh_nblocks=2)Y C I N K W R G CE Q L JQ gp gf P T F;
报错
错误使用 dates/subsref (line 166)
dates::subsref: indices has to be a vector of positive integers less than or equal to 1!
出错 dseries/subsref (line 256)
B = subsref(B, S);
出错 makedataset (line 215)
firstobs = DynareDataset.dates(DynareOptions.first_obs);
出错 dynare_estimation_init (line 538)
[dataset_, dataset_info, newdatainterfaceflag] = makedataset(options_, options_.dsge_var*options_.dsge_varlag, gsa_flag);
出错 dynare_estimation_1 (line 116)
dynare_estimation_init(var_list_, dname, [], M_, options_, oo_, estim_params_, bayestopt_);
出错 dynare_estimation (line 105)
dynare_estimation_1(var_list,dname);
出错 canshu1 (line 291)
oo_recursive_=dynare_estimation(var_list_);
出错 dynare (line 223)
evalin('base',fname) ;
>>