楼主: rastila
67329 187

[经济学模型] DSGE模型讨论之七——最简单的DSGE模型的Dynare模拟和MLE,Bayesian估计   [推广有奖]

71
tekuai5602 在职认证  发表于 2012-5-22 16:15:14
rastila 发表于 2012-5-22 15:54
rho_f=0.98
没有分号。同时你模型写错了,多了一个equation。我没有时间帮你改。
恩,呵呵,我自己再查一查,多一个式子的话,我可不可以通过合并消除?比方说
ms=(1-eta_ms)*gam_mss+eta_ms*ms(-1)+eta_g*epsilon_g+eta_f*epsilon_f+epsilon_ms;
ms=kk/gam_ms*y-hh*r;
是货币供给和需求,我将它合并可以么?这样并不影响求解吧

72
rastila 在职认证  发表于 2012-5-22 18:23:27
tekuai5602 发表于 2012-5-22 16:15
恩,呵呵,我自己再查一查,多一个式子的话,我可不可以通过合并消除?比方说
ms=(1-eta_ms)*gam_mss+et ...
当然可以

73
tekuai5602 在职认证  发表于 2012-5-22 22:09:33
这个这个。。本来已经好了,我稍微修改了下模型,又出来这个问题了,老师请您指点啊

STEADY-STATE RESULTS:

y     0
k     0
l     0
z     0
c     0
i     0
g     0
ex    0
ms    0
r     0
f     0

EIGENVALUES:
         Modulus             Real        Imaginary
          0.3166           0.3166                0
            0.67             0.67                0
            0.95             0.95                0
            0.95             0.95                0
               1                1                0
           1.026            1.026                0
           9.024            9.024                0

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

The rank conditions ISN'T verified!

??? Error using ==> print_info at 45
Blanchard Kahn conditions are not satisfied: indeterminacy due to rank failure
Error in ==> stoch_simul at 71
    print_info(info, options_.noprint);

Error in ==> lx at 216
info = stoch_simul(var_list_);

Error in ==> dynare at 120


var y k l z c i g ex ms r f;
varexo eps_g eps_z eps_f eps_ms eps_ex;
parameters beta alpha delta gam_l gam_c gam_i gam_g gam_ex
           gam_ms j eta_ms  eta_g eta_f k2 h2
           rho_g rho_z rho_f rho_ex rho_fe rho_ef;
beta=0.9;
alpha=0.355;
delta=0.05;
gam_l=1;
gam_c=0.3778;
gam_i=0.5329;
gam_g=0.1971;
gam_ex=0.5328;
gam_ms=0.1224;
j=0.019;
eta_ms=0.97;
eta_g=0.7;
eta_f=2.2281;
k2=0.3;
h2=0.01;
rho_g=0.67;
rho_z=0.95;
rho_ex=0.2828;
rho_f=1.1485;
rho_fe=-0.1567;
rho_ef=0.5663;
model(linear);
y=alpha*k+(1-alpha)*l+(log((1-beta+delta*beta)/(alpha*beta))+(1-alpha)*log(alpha/(1-alpha)))*z;
c=alpha*k-(alpha-gam_l)*l+(log((1-beta+delta*beta)/(alpha*beta))+(1-alpha)*log(alpha/(1-alpha)))*z;
c-c(+1)+(1-beta+delta*beta)*(1-alpha)*(1/(1-alpha)*log((1-beta+delta*beta)/(alpha*beta))+log(alpha/(1-alpha)))*z=0;
k(+1)=delta*i+(1-delta)*k;
i=-j*r;
y=gam_c*c+gam_i*i+gam_g*g+gam_ex*ex-gam_ms*(ms-ms(-1));
eta_ms*ms(-1)+eta_g*eps_g+eta_f*eps_f=k2/gam_ms*y-h2*r;
g=rho_g*g(-1)+eps_g;
z=rho_z*z(-1)+eps_z;
f=rho_f*f(-1)+rho_fe*ex(-1)+eps_f;
ex=rho_ex*ex(-1)+rho_ef(-1)*f+eps_ex;
end;
initval;
y=0;
k=0;
l=0;
z=0;
c=0;
i=0;
g=0;
ex=0;
ms=0;
r=0;
f=0;
end;
steady;
check;

shocks;
var eps_g=0.09^2;
var eps_z=0.09^2;
var eps_f=0.09^2;
var eps_ex=0.09^2;
var eps_ms=0.09^2;
end;
stoch_simul;

74
rastila 在职认证  发表于 2012-5-23 00:52:20
tekuai5602 发表于 2012-5-22 22:09
这个这个。。本来已经好了,我稍微修改了下模型,又出来这个问题了,老师请您指点啊

STEADY-STATE RESU ...
你有一个多余的equation.

75
tekuai5602 在职认证  发表于 2012-5-23 10:00:33
rastila 发表于 2012-5-23 00:52
你有一个多余的equation.
11个变量,11个方程,怎么会有多余呢?

76
tekuai5602 在职认证  发表于 2012-5-23 10:14:40
现在的问题是不满足bk条件,Blanchard Kahn conditions are not satisfied: indeterminacy due to rank failure,这种错误是来自哪里?是方程设立还是因为参数定值错误?
目前我的方程There are 2 eigenvalue(s) larger than 1 in modulus for 2 forward-looking variable(s),这里看应该是满足条件了啊。。

77
mj2012 发表于 2012-5-23 13:25:23
tekuai5602 发表于 2012-5-23 10:14
现在的问题是不满足bk条件,Blanchard Kahn conditions are not satisfied: indeterminacy due to rank fai ...
c-c(+1)+(1-beta+delta*beta)*(1-alpha)*(1/(1-alpha)*log((1-beta+delta*beta)/(alpha*beta))+log(alpha/(1-alpha)))*z=0;

错误在这里了,这个方程是解不出来的,C(+1)前的系数必须要大于1。

78
tekuai5602 在职认证  发表于 2012-5-24 21:58:23
??? Error using ==> cell.strmatch at 21
Requires character array or cell array of strings as inputs.

这是什么原因,我把数据是按照列排列的啊,而且第一个单元格所标字母与varobs是一样的,所增加的数据是货币供应量和外汇储备的月度数据。

79
rastila 在职认证  发表于 2012-5-24 22:19:28
tekuai5602 发表于 2012-5-24 21:58
??? Error using ==> cell.strmatch at 21
Requires character array or cell array of strings as inputs ...
自己跑一边下面的程序

var y k l z c i g ex ms r f;
varexo eps_g eps_z eps_f eps_ms eps_ex;
parameters beta alpha delta gam_l gam_c gam_i gam_g gam_ex
           gam_ms j eta_ms  eta_g eta_f k2 h2
           rho_g rho_z rho_f rho_ex rho_fe rho_ef;

predetermined_variables k;         
           
beta=0.99;
alpha=0.9;
delta=0.05;
gam_l=1;
gam_c=0.3778;
gam_i=0.9;
gam_g=0.2;
gam_ex=0.5328;
gam_ms=0.01;
j=0.1;
eta_ms=0.6;
eta_g=0.7;
eta_f=2.2281;
k2=0.3;
h2=0.1;
rho_g=0.67;
rho_z=0.5;
rho_ex=0.2828;
rho_f=2;
rho_fe=-1.5;
rho_ef=1.1;

model(linear);
y=alpha*k+(1-alpha)*l+(log((1-beta+delta*beta)/(alpha*beta))+(1-alpha)*log(alpha/(1-alpha)))*z;
c=alpha*k-(alpha-gam_l)*l+(log((1-beta+delta*beta)/(alpha*beta))+(1-alpha)*log(alpha/(1-alpha)))*z;
c-c(+1)+(1-beta+delta*beta)*(1-alpha)*(1/(1-alpha)*log((1-beta+delta*beta)/(alpha*beta))+log(alpha/(1-alpha)))*z=0;
k(+1)=delta*i+(1-delta)*k;
i=-j*r;
y=gam_c*c+gam_i*i+gam_g*g+gam_ex*ex-gam_ms*(ms-ms(-1));
eta_ms*ms(-1)+eta_g*eps_g+eta_f*eps_f=k2/gam_ms*y-h2*r;

g=rho_g*g(-1)+eps_g;
z=rho_z*z(-1)+eps_z;
f=rho_f*f(-1)+rho_fe*ex(-1)+eps_f;
ex=rho_ex*ex(-1)+rho_ef(-1)*f+eps_ex;
end;
initval;
y=0;
k=0;
l=0;
z=0;
c=0;
i=0;
g=0;
ex=0;
ms=0;
r=0;
f=0;
end;
steady;
check;

shocks;
var eps_g=0.09^2;
var eps_z=0.09^2;
var eps_f=0.09^2;
var eps_ex=0.09^2;
var eps_ms=0.09^2;
end;
stoch_simul(order=1);

80
tekuai5602 在职认证  发表于 2012-5-24 22:31:44
rastila 发表于 2012-5-24 22:19
自己跑一边下面的程序

var y k l z c i g ex ms r f;
这个模拟出来的效果比我当时做的好太多了。。谢谢老师。。这个参数设定上有什么讲究没,因为我是参考万解秋老师的一篇论文做的,数值也是参照他的,但是模拟效果却不好。书上也只是笼统的说校准

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

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-26 23:45