全部版块 我的主页
论坛 经济学论坛 三区 宏观经济学
6232 7
2018-09-07
我按照GK2010的论文用dynare模拟结果,运行之后显示“The rank condition ISN'T verified!”以及“Blanchard Kahn conditions are not satisfied: indeterminacy due to rank failure”,请各位大佬指点!
代码如下:
var y k c z l uc r qi i phin ni nn n d qbar phii nu omegai omegan mui qn rkii rkin rkni rknn wuc wc wi womegai womegan wrkii wrkin wrkni wrknn a psi phic psig;
varexo ea epsi;
parameters alpha gamma beta pii pin chi epsilon theta xi rhoa rhopsi sigmaa sigmapsi delta sigma kappa C Y Z I Ni Nn K Qn RKin RKii N D Qbar MUi PHIi PHIn OMEGAi OMEGAn NU RKni RKnn etac etauc etai etaomegai etaomegan etarkii etarkin etarkni etarknn nug;
alpha = 0.33;
gamma = 0.5;
beta = 0.99;
pii = 0.25;
pin = 1-pii;
chi = 5.013;
epsilon = 0.1;
theta = 0.1288;
xi = 0.0019;
rhoa=0.95;
sigmaa=0.02;
rhopsi=0.66;
sigmapsi=-0.05;
delta = 0.025;
sigma = 0.972;
kappa = 1;
C = 3.2706;
Y = 4.1817;
Z = 0.0379;
I = 0.9110;
Ni = 2.2781;
Nn = 6.8323;
K = 36.4417;
Qn = 1.0094;
RKin = 1.0220;
RKii = 1.0129;
N = 9.1104;
D = 27.3313;
Qbar = 1.0070;
MUi = 0.0050;
PHIi = 4.2991;
PHIn = 3.9369;
OMEGAi = 0.5661;
OMEGAn = 0.5207;
NU = 0.5321;
RKni = 1.0034;
RKnn = 1.0125;
etac = 0;
etauc = 0;
etai = 0;
etaomegai = 0;
etaomegan = 0;
etarkii = 0;
etarkin = 0;
etarkni = 0;
etarknn = 0;
nug =0;

model(linear);
y = a + alpha*k +(1-alpha)*l;  // prod f
k(+1) - psi(+1) = (1-delta)*k+delta*i;  // k accum
y -C/Y*c -I/Y*i=0;  // mkt clearing
z -a - (1-alpha)*l+(1-alpha)*k=0;  // k gross return
l - 1/(epsilon + alpha)*a - alpha/(epsilon + alpha)*k - 1/(epsilon + alpha)*uc=0;  // labor
(1-beta*gamma)*(1-gamma)*uc + (1+beta*gamma^2)*c - (beta*gamma)*wc = gamma*c(-1);  // mg U of C
r - uc + wuc = 0;  // risk-free rate
qi -(1-beta)*kappa*i - beta*kappa*wi = -kappa*i(-1); // qi
qi + delta/(delta+pii*(1-delta))*i + pii*(1-delta)/(delta+pii*(1-delta))*k - phic- ni=0;  // investment demand
qn + k -phin - nn =0; // leverage of n-banks
ni - (sigma+xi)*pii*K*Z/Ni*z - (sigma+xi)*pii*K*(1-delta)/Ni*qi -(sigma+xi)*pii*K*RKii/Ni*k(-1) = -sigma*pii*D/(beta*Ni)*r - sigma*pii*D/(beta*Ni)*d(-1); // net worth of i-banks
nn -(sigma+xi)*pin*K*Z/Nn*z -(sigma+xi)*pin*K*(1-delta)*Qn/Nn*qn -(sigma+xi)*pin*K*RKin/Nn*k(-1) = -sigma*pin*D/(beta*Nn)*r - sigma*pin*D/(beta*Nn)*d(-1);  // net worth of n-banks
n -Ni/N*ni-Nn/N*nn = 0;  // Aggregate net worth
D*d -Ni*PHIi*phic - (PHIi-1)*Ni*ni - PHIn*Nn*phin - (PHIn-1)*Nn*nn = 0;   // debt
qbar -pii/Qbar*qi - pin*Qn/Qbar*qn = 0;  // qbar
phii - nu - MUi/(theta-MUi)*mui = 0;  // phii (leverage of i-banks)
(pii*OMEGAi+pin*OMEGAn)*nu - pii*OMEGAi*womegai - pin*OMEGAn*womegan = 0;  // nu
omegai -(sigma*theta*PHIi)/(1-sigma+sigma*theta*PHIi)*phii = 0;   // omega_i
omegan -sigma*NU/(1-sigma+sigma*NU)*nu = 0;  // omega_n
MUi*mui -pii*OMEGAi*beta*RKii*wrkii-pin*OMEGAn*beta*RKin +beta*(pii*OMEGAi*RKii+pin*OMEGAn*RKin)*r -pii*OMEGAi*(beta*RKii-1)*womegai -pin*OMEGAn*(beta*RKin-1)*womegan =0;  // mui
pii*OMEGAi*beta*RKni*wrkni +pin*OMEGAn*beta*RKnn*wrknn -(pii*OMEGAi*beta*RKni+pin*OMEGAn*beta*RKnn)*r + pii*OMEGAi*(beta*RKni-1)*womegai +pin*OMEGAn*(beta*RKnn-1)*womegan = 0;  // mun=0
rkii(+1) - psi(+1) -Z/(Z+1-delta)*z(+1) - (1-delta)/(Z+1-delta)*qi(+1) = -qi;   // rkii
rkin(+1) - psi(+1) -Z/(Z+(1-delta)*Qn)*z(+1) -(1-delta)*Qn/(Z+(1-delta)*Qn)*qn(+1) = -qi;  // rkin
rkni(+1) - psi(+1) -Z/(Z+1-delta)*z(+1) -(1-delta)/(Z+1-delta)*qi(+1) = -qn;  // rkni
rknn(+1) - psi(+1) -Z/(Z+(1-delta)*Qn)*z(+1) -(1-delta)/(Z+(1-delta)*Qn)*qn(+1) = -qn;  // rknn
c = wc(-1) + etac;  // wc
uc = wuc(-1) +etauc;  // wuc
i = wi(-1) +etai;  // wi
omegai = womegai(-1) +etaomegai;  // womegai
omegan = womegan(-1) +etaomegan;  // womegan
rkii(+1) = wrkii +etarkii(+1);  // wrkii
rkin(+1) = wrkin +etarkin(+1);  // wrkin
rkni(+1) = wrkni +etarkni(+1);  // wrkni
rknn(+1) = wrknn +etarknn(+1);  // wrknn
a = rhoa*a(-1) +sigmaa*ea;  //a
psi = rhopsi*psi(-1)+sigmapsi*epsi;  //psi
phic - phii -psig = 0;  // effective leverage of investing banks
psig -nug*pii*RKii*wrkii -nug*pin*RKin*wrkin + nug/beta*r = 0;  // policy response to spread
end;
initval;
y = 0;
k = 0;
c = 0;
z = 0;
l = 0;
uc = 0;
r = 0;
qi = 0;
i = 0;
phin = 0;
ni = 0;
nn = 0;
n = 0;
d = 0;
qbar = 0;
phii = 0;
nu = 0;
omegai = 0;
omegan = 0;
mui = 0;
qn = 0;
rkii = 0;
rkin = 0;
rkni = 0;
rknn = 0;
wuc = 0;
wc = 0;
wi = 0;
womegai = 0;
womegan = 0;
wrkii = 0;
wrkin = 0;
wrkni = 0;
wrknn = 0;
a = 0;
psi = 0;
phic = 0;
psig = 0;
end;
steady;
check;
shocks;
var ea = sigmaa^2;
var epsi = sigmapsi^2;
end;

stoch_simul;

二维码

扫码加我 拉你入群

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

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

全部回复
2018-9-7 10:40:43
运行结果显示:
There are 9 eigenvalue(s) larger than 1 in modulus
for 9 forward-looking variable(s)

The rank condition ISN'T verified!

Warning: Log of zero.
> In dyn_first_order_solver at 270
  In stochastic_solvers at 267
  In resol at 144
  In stoch_simul at 89
  In LGK at 528
  In dynare at 235
??? Error using ==> print_info at 48
Blanchard Kahn conditions are not satisfied: indeterminacy due to rank
failure

Error in ==> stoch_simul at 100
    print_info(info, options_.noprint, options_);

Error in ==> LGK at 528
info = stoch_simul(var_list_);

Error in ==> dynare at 235
evalin('base',fname) ;
二维码

扫码加我 拉你入群

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

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

2018-9-9 18:53:59
模型是不是自己写的?可能是模型本身有问题,需要改。(但具体是哪一个/哪几个方程有问题,无法直接看出来。)有时候是参数赋值的问题,可能有些参数在某一个范围内BK条件是满足的,但是超出了某一个范围,就不行了。当然,也有可能模型和参数没问题,是你dynare代码打字的时候打错字了,可以自己先认真检查下看看排除这个可能性。

如果是从某一个经典模型改编过来的,可以采取如下方式尝试:
先把那个原始模型的dynare代码编出来,然看是否能运行。如果能运行,再往上面一个一个添加方程或者改方程,这样就有可能找到出问题的地方。
二维码

扫码加我 拉你入群

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

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

2018-9-9 18:56:40
看了你的代码,感觉你这个方程的timing可能有问题,具体可以参见dynare的说明手册中的相关资料。
k(+1) - psi(+1) = (1-delta)*k+delta*i;  // k accum
二维码

扫码加我 拉你入群

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

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

2018-9-10 15:43:48
ddx2009 发表于 2018-9-9 18:56
看了你的代码,感觉你这个方程的timing可能有问题,具体可以参见dynare的说明手册中的相关资料。
k(+1) -  ...
谢谢老师的耐心回复。我是直接用的原程序,原程序是matlab,我把它改写成了dynare。我把模型都表示成了线性化的模式(原matlab里面有),然后把参数换成了稳态值,结果还是不满足BK条件。
二维码

扫码加我 拉你入群

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

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

2018-9-11 13:16:55
Mr.Cheng被占用 发表于 2018-9-10 15:43
谢谢老师的耐心回复。我是直接用的原程序,原程序是matlab,我把它改写成了dynare。我把模型都表示成了线 ...
感觉你dynare代码中涉及到state variable的几个方程的timing可能有问题
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
栏目导航
热门文章
推荐文章

说点什么

分享

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