楼主: zijiu
6576 16

[宏观经济指标] 求助一个DSGE开放经济模型的求解 [推广有奖]

  • 0关注
  • 2粉丝

硕士生

72%

还不是VIP/贵宾

-

威望
0
论坛币
734 个
通用积分
0.2486
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2774 点
帖子
139
精华
0
在线时间
115 小时
注册时间
2006-10-11
最后登录
2024-4-13

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
用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);
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:DSGE 开放经济 经济模型 Convergence parameters problems matlab 方程组 Error 朋友

沙发
dawang_0319 发表于 2011-5-29 08:04:53 |只看作者 |坛友微信交流群
dynare在两国模型不太好用,网上也没几个例子,以前也尝试练习了一个新开放经济模型,也老出错,最后还是用Ulhig的程序做出的。楼主变量个数和方程个数相同吗?在2国经济中一般由于瓦尔拉斯定律,会多出一个方程的。
已有 1 人评分热心指数 收起 理由
西北望月 + 1 CGE模型也是这样情况

总评分: 热心指数 + 1   查看全部评分

使用道具

藤椅
zhangtao 发表于 2011-5-29 09:25:09 |只看作者 |坛友微信交流群
??? Error: File: C:\MATLAB7\work\Untitled2011.m Line: 19 Column: 12
The expression to the left of the equals sign is not a valid target for an assignment.

使用道具

板凳
zhangtao 发表于 2011-5-29 09:30:13 |只看作者 |坛友微信交流群
??? Error: File: C:\MATLAB7\work\Untitled2011.m Line: 19 Column: 12
The expression to the left of the equals sign is not a valid target for an assignment.
以上我运行时的错误提示,想了很多办法还是无法解决,我用的是matlab7

使用道具

报纸
slackscholar 发表于 2011-5-29 21:00:56 |只看作者 |坛友微信交流群
我觉得lz还是log linearize了然后化简一下比较容易看。。。

使用道具

地板
jenson2023 发表于 2011-5-29 21:51:47 |只看作者 |坛友微信交流群
he a eqr大二 请问饿

使用道具

7
xiaolanliluo 发表于 2011-8-26 10:22:45 |只看作者 |坛友微信交流群
可能是参数设置的问题,那边不是提示没有收敛么?

使用道具

8
xiaolanliluo 发表于 2011-8-26 10:25:06 |只看作者 |坛友微信交流群
请问楼主现在问题解决了么?

使用道具

9
猪人 发表于 2011-8-26 16:17:20 |只看作者 |坛友微信交流群
lz把方程贴出来吧,看看是软件问题还是结构方程的问题。

使用道具

10
一夫 发表于 2012-7-28 19:33:43 |只看作者 |坛友微信交流群
遇到了同样的问题
杨昆,武汉大学经济与管理学院07级政治经济学硕士研究生,研究方向:制度经济学和企业理论. email: yang2005kun@yahoo.com.cn博客:blog.sina.com.cn/kun19850720

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加JingGuanBbs
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 22:38