用firstopt求解方程组的功能求出了稳态初始值,然后用dynare求解模型。结果matlab告诉我:
“SOLVE: maxit has been reached
??? Error using ==> steady_ at 132
STEADY: convergence problems”
求高手帮助,到底是参数选取的原因,还是模型本身存在问题呢?多谢!!多谢!!
高手肯定都不缺论坛币,不过为聊表谢意,帮我解决问题的朋友,我愿奉上300币
——————————————————————————————————————————————————————
dynare代码:
var q qx Cj Ck P Px Mj Mk i ix STj STk Wj Wk Rj Rk Ij Ik Kj Kk MCh MCf Yh Yf yh yhx yf yfx ph phx pf pfx PH PHx PF PFx BFkx U1 U2 U3 U4 U5 U6;
varexo E;
parameters beta rou kai gamma niu you yeta n sigma theta alfa a lambdapai lambday;
beta=0.99;
rou=7;
kai=8.2;
gamma=1;
niu=3;
you=0.1;
yeta=0.1;
n=0.2;
sigma=10;
theta=1.9;
alfa=0.4;
a=0.3;
lambdapai=2;
lambday=2;
model;
q*Cj^(-rou)=beta*P*Cj(+1)^(-rou)/P(+1); //本国欧拉函数
qx*Ck^(-rou)=beta*Px*Ck(+1)^(-rou)/Px(+1); //外国欧拉函数
(Mj/P)^kai=gamma*Cj^rou*((1+i)/i); //本国货币需求函数
(Mk/Px)^kai=gamma*Ck^rou*((1+ix)/ix); //外国货币需求函数
niu/(1-STj)=Wj/(P*Cj^rou); //本国劳动供给函数
niu/(1-STk)=Wk/(Px*Ck^rou); //外国劳动供给函数
Cj^(-rou)=beta*Cj(+1)^(-rou)*(Rj(+1)/P(+1) +1-niu); //本国投资决策
Ck^(-rou)=beta*Ck(+1)^(-rou)*(Rk(+1)/Px(+1) +1-niu); //本国投资决策
Kj=(1-you)*Kj(-1)+Ij; //本国资本积累函数,predetermined
Kk=(1-you)*Kk(-1)+Ik; //外国资本积累函数
yh=yeta*(ph/PH)^(-sigma)*(PH/P)^(-theta)*(n*Cj+n*Ij)/n; //本国产品的本国需求
yf=(1-yeta)*(pf/PF)^(-sigma)*(PF/P)^(-theta)*(n*Cj+n*Ij)/(1-n); //外国产品的本国需求
yhx=yeta*(phx/PHx)^(-sigma)*(PHx/Px)^(-theta)*((1-n)*Ck+(1-n)*Ik)/n; //本国产品的外国需求
yfx=(1-yeta)*(pfx/PFx)^(-sigma)*(PFx/Px)^(-theta)*((1-n)*Ck+(1-n)*Ik)/(1-n); //外国产品的外国需求
Yh=Kj^a*STj^(1-a); //本国企业生产函数
Yf=Kk^a*STk^(1-a); //外国企业生产函数
Yh=yh+yhx; //单个本国企业产品出清
Yf=yf+yfx; //单个外国企业产品出清
Wj=MCh*(1-a)*Yh/STj; //本国劳动需求
Rj=MCh*a*Yh/Kj; //本国资本需求
Wk=MCf*(1-a)*Yf/STk; //外国劳动需求
Rk=MCf*a*Yf/Kk; //外国资本需求
ph=sigma*U1/((sigma-1)*U2); //本国企业国内销售产品定价方程
phx= sigma*U3/((sigma-1)*U4); //本国企业出口产品定价方程
pfx= sigma*U5/((sigma-1)*U6); //外国企业国内销售产品定价方程
pf=E*pfx; //外国商品遵守一价定律
//以下为企业定价方程使用的辅助变量
U1=MCh*yh+q*alfa*U1(+1);
U2=yh+q*alfa*U2(+1);
U3=MCh*yhx+q*alfa*U3(+1);
U4=yhx+q*E*alfa*U4(+1);
U5=MCf*(yf+yfx)+q*alfa*U5(+1);
U6=(yf+yfx)+q*alfa*U6(+1);
//以上为企业定价方程使用的辅助变量
PH=((1/n)*(1-alfa)*ph^(1-sigma)+(1/n)*alfa*PH(-1)^(1-sigma))^(1/(1-sigma)); //本国代理人消费的本国商品篮子的价格水平
PF=((1/(1-n))*(1-alfa)*pf^(1-sigma)+(1/(1-n))*alfa*PF(-1)^(1-sigma))^(1/(1-sigma)); //本国代理人消费的外国商品篮子的价格水平
PHx=((1/n)*(1-alfa)*phx^(1-sigma)+(1/n)*alfa*PHx(-1)^(1-sigma))^(1/(1-sigma)); //外国代理人消费的本国商品篮子的价格水平
PFx=((1/(1-n))*(1-alfa)*pfx^(1-sigma)+(1/(1-n))*alfa*PFx(-1)^(1-sigma))^(1/(1-sigma)); //外国代理人消费的外国商品篮子的价格水平
P=(yeta*PH^(1-theta)+(1-yeta)*PF^(1-theta))^(1/(1-theta)); //本国价格水平
Px=(yeta*PHx^(1-theta)+(1-yeta)*PFx^(1-theta))^(1/(1-theta)); //本国价格水平
q=1/(1+i); //本国债券价格
qx=1/(1+ix); //外国债券价格
(1+i)=E(+1)*(1+ix)/E; //无抛补利率平价
yh*(alfa*ph(-1)+(1-alfa)*ph)+ yhx*(alfa*phx(-1)+(1-alfa)*phx)=P*Cj+P*Ij-(1-n)*BFkx*qx*E/n+(1-n)*BFkx(-1)*E/n; //本国预算约束
yf*(alfa*pf(-1)+(1-alfa)*pf)+ yfx*(alfa*pfx(-1)+(1-alfa)*pfx)=P*Ck+P*Ik+BFkx*qx-BFkx(-1); //外国预算约束
end;
initval;
q=0.99;
qx=0.99;
Cj= 1.16962579875372;
Ck= 1.35020003417081;
P= 1.18085409192841;
Px= 1.10511367531447;
Mj= 2.36694152196589;
Mk= 2.50394540751895;
i=1/0.99-1;
ix=1/0.99-1;
STj= 537479.56487623;
STk= 461071.147563386;
Wj= 0.892566981126886;
Wk= 0.238223208660332;
Rj= 3.55450731417564;
Rk= 3.32650467709209;
Ij= 0.0105799541371812;
Ik= 0.0121477615741064;
Kj= 0.105861590183981;
Kk= 0.121480220853815;
MCh= 2.48873623455363;
MCf= 0.967786073900144;
Yh= 0.503985110533864;
Yf= 1.39185209770944;
yh= 0.192701861646722;
yhx= 0.311282624700545;
yf= 0.357404298656538;
yfx= 1.03444762359949;
ph= 2.76526347668879;
phx= 2.76526871145581;
pf= 1.10009157022826;
pfx= 1.07532909566605;
PH= 2.16625643261309;
PHx= 2.16625896878566;
PF= 1.12238426199566;
PFx= 1.04627102927767;
U1=0.79401342;
U2=0.319042817;
U3=1.282616469;
U4=0.515368584;
U5=2.230157131;
U6=2.3043906;
BFkx=0;
E=1;
end;
steady;
solve algo = 0;
check;
shocks;
var E = sigma^2;
end;
stoch_simul(periods=2100);
————————————————————————————————————————————
firstopt 代码
Title "3";
parameter Cj[0,100],Ck[0,100],P[0,100],Px[0,100],Mj[0,100],Mk[0,100],STj[0,100],STk[0,100],Wj[0,100],Wk[0,100],Rj[0,100],Rk[0,100],Inj[0,100],Ink[0,100],Kj[0,100],Kk[0,100],MCh[0,100],MCf[0,100],YTh[0,100],YTf[0,100],yh[0,100],yhx[0,100],yf[0,100],yfx[0,100],ph[0,100],phx[0,100],pf[0,100],pfx[0,100],PTH[0,100],PTHx[0,100],PTF[0,100],PTFx[0,100];
constant
beta=0.99, rou=7, kai=8.2, gamma=1, niu=3, you=0.1, yeta=0.1, n=0.2, sigma=10, theta=1.9, alfa=0.1, a=0.3, lambdapai=2, lambday=2, E=1,q=0.99,qx=0.99,i=1/0.99-1,ix=1/0.99-1;
Function
(Mj/P)^kai-gamma*Cj^rou*((1+i)/i)=0;
(Mk/Px)^kai-gamma*Ck^rou*((1+ix)/ix)=0;
niu/(1-STj)-Wj/(P*Cj^rou)=0;
niu/(1-STk)-Wk/(Px*Ck^rou)=0;
1-beta*(Rj/P+1-niu)=0;
1-beta*(Rk/Px+1-niu)=0;
Inj-you*Kj=0;
Ink-you*Kk=0;
yh-yeta*(ph/PTH)^(-sigma)*(PTH/P)^(-theta)*(n*Cj+n*Inj)/n=0;
yf-(1-yeta)*(pf/PTF)^(-sigma)*(PTF/P)^(-theta)*(n*Cj+n*Inj)/(1-n)=0;
yhx-yeta*(phx/PTHx)^(-sigma)*(PTHx/Px)^(-theta)*((1-n)*Ck+(1-n)*Ink)/n=0;
yfx-(1-yeta)*(pfx/PTFx)^(-sigma)*(PTFx/Px)^(-theta)*((1-n)*Ck+(1-n)*Ink)/(1-n)=0;
YTh-yh-yhx=0;
YTf-yf-yfx=0;
Wj-MCh*(1-a)*YTh/STj=0;
Rj-MCh*a*YTh/Kj=0;
Wk-MCf*(1-a)*YTf/STk=0;
Rk-MCf*a*YTf/Kk=0;
ph-sigma*MCh/(sigma-1)=0;
phx-sigma*MCh/((sigma-1)*E)=0;
pfx-sigma*MCf/(sigma-1)=0;
pf-E*pfx=0;
MCh-(Rj/a)^a*((1-a)/Wj)^(a-1)=0;
MCf-(Rk/a)^a*((1-a)/Wk)^(a-1)=0;
PTH-((1-alfa)/(n-alfa))^(1/(1-sigma))*ph=0;
PTF-((1-alfa)/(1-n-alfa))^(1/(1-sigma))*pf=0;
PTHx-((1-alfa)/(n-alfa))^(1/(1-sigma))*phx=0;
PTFx-((1-alfa)/(1-n-alfa))^(1/(1-sigma))*pfx=0;
P-(yeta*PTH^(1-theta)+(1-yeta)*PTF^(1-theta))^(1/(1-theta))=0;
Px-(yeta*PTHx^(1-theta)+(1-yeta)*PTFx^(1-theta))^(1/(1-theta))=0;
yh*ph+yhx*phx-P*Cj-P*Inj=0;
yf*pf+yfx*pfx-Px*Ck-Px*Ink=0;
U1= MCh*yh/(1- q*alfa);
U2=yh/(1- q*alfa);
U3= MCh*yhx/(1- q*alfa);
U4= yhx/(1- q*E*alfa);
U5= MCf*(yf+yfx)/ (1- q*alfa);
U6= (yf+yfx)/ (1- q*alfa);