最近正在学DSGE,试着自己编了一个dynare的程序,但是无法运行,希望大家帮我看看哪里错了,谢谢大家了!
以下是我的程序:
var c r dp w n q h b y k a g i Cbar Qbar Hbar Ybar Kbar Bbar DPbar;
varexo eh ea er eg ec;
parameters beta eta theta_h d gamma nu miu x sigma theta omicron rho_r theta_dp theta_y theta_q tw tc th phi_h phi_a phi_r phi_g phi_c eps;
beta=0.97;
eta=1.01;
theta_h=0.4;
d=0.75;
gamma=0.98;
nu=0.007;
miu=0.3;
x=1.1;
sigma=0.025;
theta=0.75;
omicron=0.1;
rho_r=0.75;
theta_dp=1.5;
theta_y=0.6;
theta_q=0.35;
tw=0.25;
tc=0.16;
th=0.2;
phi_h=0.9;
phi_a=0.9;
phi_r=0.9;
phi_g=0.9;
phi_c=0.9;
eps=0;
model;
c/(Cbar+eps)=1/(Cbar+eps)/(DPbar+eps)*(r-c(+1)-dp(+1))-r/beta;
w-c=eta*n;
Qbar/(Cbar+eps)*(q-c)=beta*Qbar/(Cbar+eps)*(q(+1)-c(+1))-theta_h*h/(Hbar+eps)+d*Qbar*DPbar*(q(+1)+dp(+1));
-c/(Cbar+eps)=gamma/(Cbar+eps)/(DPbar+eps)/beta*(r-c(+1)-dp(+1))+r/beta;
w=y-n;
-c=gamma*miu*Ybar/x/(Kbar+eps)*(y-c(+1)-k)-gamma*(1-sigma)*c(+1);
Qbar*(q-c)=gamma*nu*Ybar/x/(Hbar+eps)*(y(+1)-c(+1)-h)+gamma*Qbar*(q(+1)-c(+1))+gamma*d*Qbar*DPbar*(q(+1)+dp(+1)-c(+1));
y=a+miu*k(-1)+nu*h(-1)+(1-nu-miu)*n;
dp=beta*dp(+1)+(1-beta*theta)*x*(1-theta)/theta/(DPbar+eps);
b*Bbar=beta*d*Qbar*Hbar*DPbar/(1+omicron)*(q(+1)+h+dp(+1)-r);
r=rho_r*r(-1)+(1-rho_r)*(theta_dp*dp+theta_y*y+theta_q*q);
y=c+i+g;
g=tw*w+tc*c+th*h;
i=k-(1-sigma)*k(-1);
h=k+(1-r-sigma)*h(-1);
h=h(-1)*phi_h+eh;
a=a(-1)*phi_a+ea;
r=r(-1)*phi_r+er;
c=c(-1)*phi_c+ec;
g=g(-1)*phi_g+eg;
end;
initval;
c=log(Cbar+eps);
dp=log(DPbar+eps);
h=log(Hbar+eps);
k=log(Kbar+eps);
y=log(Ybar+eps);
b=log(Bbar+eps);
r=0;
w=0;
n=0;
q=0;
a=0;
g=0;
i=0;
eh=0;
ea=0;
er=0;
ec=0;
eg=0;
end;
steady;
check;
shocks;
var eh;stderr 1;
var ea;stderr 1;
var er;stderr 1;
var ec;stderr 1;
var eg;stderr 1;
end;
stoch_simul(periods=1000);