全部版块 我的主页
论坛 经济学论坛 三区 宏观经济学
7066 3
2014-10-07
各位坛友,我在尝试实现 " A Small Open Economy DSGE Model for Pakistan " by ADNAN HAIDER AND SAFDAR ULLAH KHAN (2008) 一文中的DSGE模型(原文:http://mpra.ub.uni-muenchen.de/12977/1/MPRA_paper_12977.pdf),这篇文章在附录中提供了线性化之后的模型描述,但是我尝试编写之后始终出现如下提示:

There are 5 eigenvalue(s) larger than 1 in modulus
for 6 forward-looking variable(s)

The rank condition ISN'T verified!

model_diagnostic: the Jacobian of the static model is singular
there is 1 colinear relationships between the variables and the equations
Colinear variables:
rstar
pistar
Colinear equations
     4     6    12

The presence of a singularity problem typically indicates that there is one
redundant equation entered in the model block, while another non-redundant equation
is missing. The problem often derives from Walras Law.
Error using print_info (line 45)
Blanchard Kahn conditions are not satisfied: indeterminacy

Error in stoch_simul (line 98)
    print_info(info, options_.noprint, options_);

Error in dsgeforpak (line 257)
info = stoch_simul(var_list_);

Error in dynare (line 180)
evalin('base',fname) ;


请各位坛友赐教,不胜感激!
我的代码如下:
/*
*小型开放经济体
*/

var pi,mc,pih,pif,psi,c,r,y,s,q,rstar,pistar,ystar,a;
varexo epsilonpih,epsilonpif,epsilonq,epsilons,epsilonys,epsilonrs,epsilona;

parameters lamdah,beta,thetah,thetaf,lamdaf,alpha,sigma,phi,eta,h,rhoy,rhor,rho,phir,phipi,phiy;
//beta为主观贴现因子
beta=0.98;
//thetah为本地价格粘性,表示本地厂商不调价的比率
thetah = 0.5;
thetaf = 0.5;
//lamdah=(1-thetah)*(1-beta*thetah)/thetah
lamdah = 0.505;
lamdaf = 0.505;
//alpha表示开放程度,进口市场份额
alpha = 0.35;
//sigma表示消费的跨期替代弹性的倒数
sigma = 1;
//phi表示劳动供给对真实工资的弹性的倒数
phi   = 1;
//eta表示国内产品与国际产品间的替代弹性
eta   = 1;
//h表示前一起的影响程度
h     = 0.5;
rhoy  = 0.5;
rhor  = 0.5;
rho   = 0.5;
phir  = 0.5;
phipi = 1.5;
phiy  = 0.25;

model;
//通胀
//本国产品通胀
pih=lamdah*mc+beta*(1-thetah)*pih(+1)+thetah*pih(-1)+epsilonpih;
//进口产品通胀
pif=beta*(1-thetaf)*pif(+1)+thetaf*pif(-1)+lamdaf*psi+epsilonpif;
//总通胀水平
pi=(1-alpha)*pih+alpha*pif;
//消费欧拉方程
c(+1)-h*c-(1-h)*(r-pi(+1))/sigma=c-h*c(-1);
//厂商边际成本
mc=phi*y+sigma*(c-h*c(-1))/(1-h)+alpha*s-(1+phi)*a;
//汇率
//UIP
q(+1)-q=-(r-pi(+1))-(rstar-pistar(+1))+epsilonq;
//一价定律缺口
psi=-q-(1-alpha)*s;
//TOT
s-s(-1)=pif-pih+epsilons;
//国际风险分担
ystar-h*ystar(-1)-(1-h)*q/sigma=c-h*c(-1);
//市场出清
y=(2-alpha)*eta*alpha*s+(1-alpha)*c+alpha*eta*psi+alpha*ystar;
//外生冲击
//国外产出
ystar=rhoy*ystar(-1)+epsilonys;
//国外利率水平
rstar-pistar(+1)=rhor*(rstar-pistar)+epsilonrs;
//rstar=rhor*(rstar(-1))+epsilonrs;
//技术冲击
a=rho*a(-1)+epsilona;
//货币政策
r=phir*r(-1)+(1-phir)*(phipi*pi+phiy*(y-y(-1)));
end;

initval;
pi=0;
mc=0;
pih=0;
pif=0;
psi=0;
c=0;
r=0;
y=0;
s=0;
q=0;
rstar=0;
pistar=0;
ystar=0;
epsilonpif=0;
epsilonpih=0;
epsilonq=0;
epsilonys=0;
epsilona=0;
epsilons=0;
epsilonrs=0;
end;
resid(1);
steady;
check;
model_diagnostics;
shocks;
var epsilona;stderr 0.009;
end;

stoch_simul;


二维码

扫码加我 拉你入群

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

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

全部回复
2014-10-7 18:14:45
这个可以学习一下                                                                        
                                       
                                                     
                                                     
                                             
                                                                 
                                                                                 
二维码

扫码加我 拉你入群

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

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

2016-7-4 23:05:05
楼主,我遇到了这个问题,非常困惑,试着调参数,但是还是没有解决问题,请问你现在解决这个问题了吗,能否赐教一下,谢谢!
二维码

扫码加我 拉你入群

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

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

2017-7-5 23:11:37
一般来说,出现这种情况是因为单位根发散,加入冲击后,没办法收敛到稳态值,注意初始值的选择。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群