//封闭经济,无投资,无资本,无ZF支出,calvo定价,手工计算稳态,
var q Cj P i STj Wj MCh Yh yh ph PH U1 U2 BFkx;//q:债券价格,Cj:消费,P:价格指数,STj:劳动,Wj:工资,MCh:边际成本,Yh:总产出,yh:对商品的需求,ph:商品的价格,PH:本国商品价格指数(其实和P一回事,不过是为讨论开放经济做准备),U1,U2:calvo定价中的辅助变量,BFkx:债券
varexo Mj;//货币供应量
parameters beta rou kai gamma niu you yeta n sigma theta alfa a lambdapai lambday kappa qbar Cjbar Mjbar Pbar ibar STjbar Wjbar MChbar Yhbar yhbar phbar PHbar U1bar U2bar BFkxbar;//很多参数在封闭经济下没有用,放在这里为开放经济讨论做准备
beta=0.99;
rou=3;//如果简化问题 rou=1
kai=8.2;
gamma=1;
niu=3;
you=0.1;
yeta=1;//封闭经济下
n=1;//封闭经济
sigma=10;
theta=1.9;
alfa=0.1;
a=0.3;
lambdapai=2;
lambday=2;
kappa=2;
qbar=beta;
yhbar=((sigma-1)/sigma)^(rou-niu);
Cjbar=yhbar;
Mjbar=3;
//以下手工计算的稳态
Wjbar=(Mjbar*((gamma*((sigma-1)/sigma)^(rou^2-rou*niu))/(1-q))^(-1/kai))*(sigma-1)/sigma;
phbar=(sigma/(sigma-1))*Wjbar;
PHbar=phbar;
Pbar=phbar;
ibar=1/qbar-1;
STjbar=yhbar;
MChbar=Wjbar;
Yhbar=yhbar;
U1bar=Wjbar*yhbar/(1-qbar*alfa);
U2bar=yhbar/(1-qbar*alfa);
BFkxbar=0;
model(linear);
//对数线性近似后的模型,14个内生变量,14个方程
q-rou*Cj=P-rou*Cj(+1)-P(+1); //本国欧拉函数
kai*Mj-kai*P=rou*Cj-i/(1+ibar);//货币需求
STj=Wj-P-rou*Cj;//劳动供给
yh=-sigma*(ph-PH)+Cj;//消费篮子分配于h商品产生的需求
Yh=yh; //封闭经济下本国出清
Yh=STj;//只有劳动这个生产要素
MCh=Wj;//只有劳动这个要素
//以下calvo定价
ph=U1-U2;
U1=(MChbar*yhbar*(yh+MCh)+alfa*qbar*U1bar*(U1(+1)+q))/(MChbar*yhbar+qbar*alfa*U1bar);
U2=(yhbar*yh+qbar*alfa*U2bar*(q+U2(+1)))/(yhbar+qbar*alfa*U2bar);
//以下价格指数
PH=((1-alfa)*phbar^(1-sigma)*ph+alfa*PHbar^(1-sigma)*PH(-1))/((1-alfa)*phbar^(1-sigma)+alfa*PHbar^(1-sigma));
P=PH;
//以下资源约束
phbar*yhbar*yh+alfa*phbar*yhbar*ph(-1)+(1-alfa)*yhbar*phbar*ph=(Pbar*Cjbar*(P+Cj)-BFkxbar*qbar*(BFkx+q)+BFkxbar*BFkx(-1))/(Pbar*Cjbar-BFkxbar*qbar+BFkxbar);
q=-ibar/(1+ibar)*i;//债券价格与名义利率关系
end;
initval;
q=qbar;
Mj=Mjbar;
Cj=Cjbar;
P=Pbar;
i=ibar;
STj=STjbar;
Wj=Wjbar;
MCh=MChbar;
Yh=Yhbar;
yh=yhbar;
ph=phbar;
PH=PHbar;
U1=U1bar;
U2=U2bar;
BFkx=BFkxbar;
end;
resid(1);
steady;
solve algo = 1;
check;
shocks;
var Mj = 2;//什么意思
end;
stoch_simul(periods=2100);
运行的结果:
Residuals of the static equations:
Equation number 1 : 0.99Equation number 2 : -2.99Equation number 3 : 4.3Equation number 4 : 0Equation number 5 : 0Equation number 6 : 0Equation number 7 : 0Equation number 8 : 1.1132Equation number 9 : -0.73171Equation number 10 : 0.00099Equation number 11 : 0Equation number 12 : 0Equation number 13 : 8Equation number 14 : 0.9901
Warning: Matrix is singular to working precision.> In evaluate_steady_state at 85 In steady_ at 54 In steady at 81 In question at 294 In dynare at 180
Residuals of the static equations:
Equation number 1 : NaNEquation number 2 : NaNEquation number 3 : NaNEquation number 4 : NaNEquation number 5 : NaNEquation number 6 : NaNEquation number 7 : NaNEquation number 8 : NaNEquation number 9 : NaNEquation number 10 : NaNEquation number 11 : NaNEquation number 12 : NaNEquation number 13 : NaNEquation number 14 : NaN
??? Error using ==> print_infoThe steady state contains NaN or Inf
Error in ==> steady at 92 print_info(info,options_.noprint, options_);
Error in ==> question at 294steady;
Error in ==> dynare at 180evalin('base',fname) ;