楼主: blueice38
5838 9

[DSGE讨论专题] 各位大神,求助两国模型的DSGE,用dynare做的问题 [推广有奖]

  • 0关注
  • 0粉丝

大专生

83%

还不是VIP/贵宾

-

威望
0
论坛币
497 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
95 点
帖子
6
精华
0
在线时间
126 小时
注册时间
2015-5-2
最后登录
2023-8-21

楼主
blueice38 学生认证  发表于 2015-12-12 02:01:44 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位大神,求助两国模型下的DSGE模型,用dynare来做,已经在完全对称的情况下,求出稳态解,dynare后出现如下错误:
Warning: Matrix is singular to working precision.
> In stochastic_solvers at 188
  In resol at 137
  In stoch_simul at 88
  In lk12111500 at 270
  In dynare at 180
Warning: Matrix is singular to working precision.
> In stochastic_solvers at 190
  In resol at 137
  In stoch_simul at 88
  In lk12111500 at 270
  In dynare at 180
Error using eig
Input to EIG must not contain NaN or Inf.
Error in stochastic_solvers (line 192)
        dr.eigval = eig(transition_matrix(dr));
Error in resol (line 137)
    [dr,info] = stochastic_solvers(dr,check_flag,M,options,oo);
Error in stoch_simul (line 88)
    [oo_.dr,info,M_,options_,oo_] = resol(0,M_,options_,oo_);
Error in lk12111500 (line 270)
info = stoch_simul(var_list_);
Error in dynare (line 180)
evalin('base',fname) ;


是什么问题啊?是不是效用函数欧拉方程后,没有加横截性条件,还是dynare就不能设置为完全对称的情形呢?

二维码

扫码加我 拉你入群

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

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

关键词:dynare DSGE ARE Stochastic Transition 模型

已有 1 人评分经验 论坛币 收起 理由
linmengmiki + 20 + 20 鼓励积极发帖讨论

总评分: 经验 + 20  论坛币 + 20   查看全部评分

沙发
きずな 发表于 2015-12-12 11:33:11
请提供具体模型和code~~另外,你是log-linearization的模型还是nonlinear让dynare求稳态?

藤椅
gssdzc 在职认证  发表于 2015-12-12 19:07:41
矩阵是奇异矩阵,两国模型比较复杂,模型越复杂,调试越麻烦

板凳
blueice38 学生认证  发表于 2015-12-12 21:36:52
きずな 发表于 2015-12-12 11:33
请提供具体模型和code~~另外,你是log-linearization的模型还是nonlinear让dynare求稳态?
我求出稳态后,直接用原方程;或线性化后来做;都出现同样的问题!大概是啥问题呀?code如下:

var ch yh ih kh wh lh dh qh chh chf ihh ihf shh shf cah nfah vah zh cf yf if kf wf lf df qf cff cfh iff ifh sff sfh caf nfaf vaf zf ;
varexo epszh epszf;
parameters sigma kappa alpha delta phi beta omega rhoh rhof etaa etab etac etad muc muy mui muk muw mul mud muq much mucf muih muif mush musf ;

sigma   = 2.00;  //elasticity of substitution (consumption)
kappa   = 0.34;  //captial weight
alpha   = 0.85;  //home bias
delta   = 0.06;  //depreciation rate
phi     = 2.00;  //elasticity of substitution between home and foreign
beta    = 0.96;  //discount factor
omega   = 0.50;  //elasticity of labor supply w.r.t. real wage
rhoh    = 0.50;  //persistence of home
rhof    = 0.30;  //persistence of foreign

etaa = 1-beta+delta*beta-delta*kappa*beta;
etab = 1-beta+delta*beta;
etac = sigma+omega-kappa*sigma-kappa*omega;
etad = (1-kappa)^(1/(sigma+omega)); //temporary variable

//steady
muc=(etaa^(omega/(sigma+omega)))*((kappa*beta)^((kappa+omega*kappa)/etac))*etad/(etab^((omega+kappa)/etac));
muy=(etaa^(-sigma/(sigma+omega)))*((kappa*beta)^((kappa+omega*kappa)/etac))*etad/(etab^((kappa-sigma+kappa*sigma+kappa*omega)/etac));
mui=delta*(etaa^(-sigma/(sigma+omega)))*((kappa*beta)^((kappa+sigma+omega-kappa*sigma)/etac))*etad/(etab^((kappa+omega)/etac));
muk=(etaa^(-sigma/(sigma+omega)))*((kappa*beta)^((kappa+sigma+omega-kappa*sigma)/etac))*etad/(etab^((kappa+omega)/etac));
muw=(1-kappa)*((kappa*beta)/etab)^(kappa/(1-kappa));
mul=(etaa^(-sigma/(sigma+omega)))*((kappa*beta)^(kappa*(1-sigma)/etac))*etad/(etab^((kappa-sigma)/etac));
mud=(1-beta)*(etaa^(-sigma/(sigma+omega)))*((kappa*beta)^((kappa+sigma+omega-kappa*sigma)/etac))*etad/(beta*(etab^((kappa+omega)/etac)));
muq=(etaa^(-sigma/(sigma+omega)))*((kappa*beta)^((kappa+sigma+omega-kappa*sigma)/etac))*etad/(etab^((kappa+omega)/etac));
much=alpha*(etaa^(omega/(sigma+omega)))*((kappa*beta)^((kappa+omega*kappa)/etac))*etad/(etab^((omega+kappa)/etac));
mucf=(1-alpha)*(etaa^(omega/(sigma+omega)))*((kappa*beta)^((kappa+omega*kappa)/etac))*etad/(etab^((omega+kappa)/etac));
muih=alpha*delta*(etaa^(-sigma/(sigma+omega)))*((kappa*beta)^((kappa+sigma+omega-kappa*sigma)/etac))*etad/(etab^((kappa+omega)/etac));
muif=(1-alpha)*delta*(etaa^(-sigma/(sigma+omega)))*((kappa*beta)^((kappa+sigma+omega-kappa*sigma)/etac))*etad/(etab^((kappa+omega)/etac));
mush=0.5+0.5*((1-kappa)*(2*alpha-1))/(1-kappa*(2*alpha-1));
musf=0.5-0.5*((1-kappa)*(2*alpha-1))/(1-kappa*(2*alpha-1));


model(linear);

//consumption CES home
ch(-1) = alpha*chh(-1)+(1-alpha)*chf(-1); // 1
//consumption CES foreign
cf(-1) = alpha*cff(-1)+(1-alpha)*cfh(-1); // 2
//production function home
yh(-1) = kappa*kh(-1)+(1-kappa)*lh(-1)+zh(-1); // 3
//production function foreign
yf(-1) = kappa*kf(-1)+(1-kappa)*lf(-1)+zf(-1); // 4
//dynamic capital home
kh = (1-delta)*kh(-1)+delta*ih(-1); // 5
//dynamic capital foreign
kf = (1-delta)*kf(-1)+delta*if(-1); // 6
//investment index home
ih(-1) = alpha*ihh(-1)+(1-alpha)*ihf(-1); // 7
//investment index foreign
if(-1) = alpha*iff(-1)+(1-alpha)*ifh(-1); // 8
//wage and output home
wh(-1)+lh(-1) = yh(-1); // 9
//wage and output foreign
wf(-1)+lf(-1) = yf(-1); // 10
//dividend appartment home
yh(-1) =(mud*dh(-1)+mui*ih(-1))/(mud+mui); // 11
//dividend appartment foreign
yf(-1) = (mud*df(-1)+mui*if(-1))/(mud+mui); // 12
//firm optimal home
kh-sigma*ch(-1)+sigma*ch = ((kappa*muy)/(kappa*muy+1-delta))*yh(-1); // 13
//firm optimal foreign
kf-sigma*cf(-1)+sigma*cf = ((kappa*muy)/(kappa*muy+1-delta))*yf(-1); // 14
//budget consumption home
muc*ch(-1)+shh*mush*muq+shf*musf*muq = (wh(-1)+lh(-1))*muw*mul+shh(-1)*mush*muq+(shh(-1)+dh(-1))*mush*mud+shf(-1)*musf*muq+(shf(-1)+df(-1))*musf*mud; //15
//budget consumption foreign
muc*cf(-1)+sff*mush*muq+sfh*musf*muq = (wf(-1)+lf(-1))*muw*mul+sff(-1)*mush*muq+(sff(-1)+df(-1))*mush*mud+sfh(-1)*musf*muq+(sfh(-1)+dh(-1))*musf*mud; //16
//euler of consumption home
sigma*ch-sigma*ch(-1) = (muq*qh+mud*dh)/(muq+mud);  //17
//euler of consumption foreign
sigma*cf-sigma*cf(-1) = (muq*qf+mud*df)/(muq+mud);  //18
//euler of equity share home/foreign
sigma*(ch(-1)-cf(-1))=sigma*(ch-cf);    //19
//euler labor home
wh(-1)-omega*lh(-1) = sigma*ch(-1);  //20
//euler labor foreign
wf(-1)-omega*lf(-1) = sigma*cf(-1);   //21
//market clean production home
much*chh(-1)+mucf*cfh(-1)+muih*ihh(-1)+muif*ifh(-1) = muy*yh(-1);  //22
//market clean production foreign
much*cff(-1)+mucf*chf(-1)+muih*iff(-1)+muif*ihf(-1) = muy*yf(-1);  //23
//market clean equity
mush*shh(-1)+musf*sfh(-1) = mush*sff(-1)+musf*shf(-1);  //24
//NFA expression home
nfah(-1)=(musf*muq/muy)*(shf(-1)+qf(-1))-(musf*muq/muy)*(sfh(-1)+qh(-1));  //25
//NFA expression foreign
nfaf(-1) = -nfah(-1);  //26
//CA expression home
cah(-1) = nfah-nfah(-1)-vah(-1);  //27
//CA expression foreign
caf(-1) = cah(-1);  //28
//VA expression home
vah(-1) = (musf*muq/muy)*(qf(-1)-qf)-(musf*muq/muy)*(qh-qh(-1));  //29
//VA expression foreign
vaf(-1) = -vah(-1);  //30
//consumption chh and chf home
chh(-1) = ch(-1);  //31
//consumption cff and cfh foreign
cff(-1) = cf(-1);  //32
//investment ihh and ihf home
ihh(-1) = ih(-1);  //33
//investment ihh and ihf foreign
iff(-1) = if(-1);  //34
//technology shock home
zh(-1) = rhoh*zh(-2)+epszh; //35
//technology shock foreign
zf(-1) = rhof*zf(-2)+epszf; //36

end;


shocks;
var epszh; stderr 0.0210;
var epszf; stderr 0.0150;
corr epszh, epszf = 0.25;
end;


steady;
stoch_simul(order=1,irf=20);

报纸
blueice38 学生认证  发表于 2015-12-13 12:23:23
blueice38 发表于 2015-12-12 21:36
我求出稳态后,直接用原方程;或线性化后来做;都出现同样的问题!大概是啥问题呀?code如下:

var ch ...
好像找到问题了,k要降低一期

地板
kkkrain 发表于 2015-12-27 13:49:04
看楼主的资本是降低一期的啊,奇异矩阵是不是模型本身写成LER state space情形就有问题,导致无法谱分解获得特征根

7
qh19810 发表于 2017-4-25 17:14:00
楼主,你的问题最后怎么解决的》?我也遇到同样的问题啊 ,提示:矩阵为奇异工作精度。

8
superwasami 发表于 2017-5-19 08:27:19
学习了

9
zcs376569 学生认证  发表于 2017-9-19 21:13:50
搞定了么老铁

10
HW991786955 发表于 2020-1-31 12:02:13
老铁,我也遇到同样的问题,求指教。

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

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-30 08:34