是稳态方程求解有问题吗?报错原因也看不懂,求大佬帮忙看看,小白自学DSGE表示很痛苦,尝试用对数线性化求解但不知道金融加速器那块怎么搞,以及稳态值也不会求解。
源代码:
var
N W C Rd pi K I Q Yi mc A r pistar f1 f2 d Y Re
V Z Leverage Omegabar Sigma
ln_N ln_W ln_C ln_Rd ln_pi ln_K ln_I ln_Q ln_Yi ln_mc ln_A ln_r ln_pistar ln_f1 ln_f2 ln_d ln_Y ln_Re
ln_V ln_Z ln_Leverage ln_Omegabar ln_Sigma;
varexo
e_a e_sigma;
parameters
beta eta chi delta fai alpha theta epsilon
F_ss Sigma_ss mu gamma We
rho_a rho_sigma sigma_a sigma_sigma;
beta = 0.9937;
eta = 1;
chi = 1;
delta = 0.025;
fai = 3.5;
alpha = 0.5;
theta = 0.75;
epsilon = 10;
F_ss = 0.01;
Sigma_ss = 0.28;
mu = 0.2149;
gamma = 0.97;
We = 0.0783;
rho_a = 0.9;
rho_sigma = 0.9;
sigma_a = 1; % 1 percent (0.01)
sigma_sigma = 1; % 1 percent (0.01)
model;
# F = normcdf((log(Omegabar) + Sigma(-1)^2/2) / Sigma(-1));
# G = normcdf((log(Omegabar) + Sigma(-1)^2/2) / Sigma(-1) - Sigma(-1));
# GAMMA = Omegabar*(1-F) + G;
# Fp1 = normcdf((log(Omegabar(+1)) + Sigma^2/2) / Sigma);
# Gp1 = normcdf((log(Omegabar(+1)) + Sigma^2/2) / Sigma - Sigma);
# GAMMAp1 = Omegabar(+1)*(1-Fp1) + Gp1;
# dFp1 = 1/(Omegabar(+1)*Sigma)*normpdf((log(Omegabar(+1)) + Sigma^2/2) / Sigma);
chi*N^eta = 1/C*W;
1/C = beta*1/C(+1)*Rd*1/pi(+1);
K(+1) = (1-fai/2*(I/I(-1)-1)^2)*I + (1-delta)*K;
1 = Q*(1-fai/2*(I/I(-1)-1)^2-fai*(I/I(-1)-1)*I/I(-1))
+ beta*C/C(+1)*Q(+1)*fai*(I(+1)/I-1)*(I(+1)/I)^2;
Yi = A*K^alpha*N^(1-alpha);
W = mc*(1-alpha)*A*K^alpha*N^(-alpha);
r = mc*alpha*K^(alpha-1)*N^(1-alpha);
mc = 1/A*(1/alpha)^alpha*(1/(1-alpha))^(1-alpha)*r^alpha*W^(1-alpha);
pistar = epsilon/(epsilon-1)*pi*f1/f2;
f1 = mc*Y + beta*theta*C/C(+1)*pi(+1)^epsilon*f1(+1);
f2 = Y + beta*theta*C/C(+1)*pi(+1)^(epsilon-1)*f2(+1);
(1-theta)*pistar^(1-epsilon) + theta*pi^(epsilon-1) = 1;
d = (1-theta)*pistar^(-epsilon) + theta*pi^epsilon*d(-1);
Y*d = Yi;
Re = (r+Q*(1-delta))/Q(-1);
Leverage = Q*K(+1)/V;
Omegabar*Re*Leverage(-1) = Z(-1)*(Leverage(-1)-1);
(GAMMAp1-mu*Gp1)*Re(+1)*Leverage = Rd*(Leverage-1);
(1-Fp1)/(1-GAMMAp1) = Re(+1)/Rd*(1-Fp1-mu*Omegabar(+1)*dFp1)/(1-Re(+1)/Rd*(GAMMAp1-mu*Gp1));
V = gamma*(1-GAMMA)*Re*Q(-1)*K + We;
Y = C + I;
log(A) = rho_a*log(A(-1)) + e_a;
log(Sigma) = (1-rho_sigma)*log(Sigma_ss) + rho_sigma*log(Sigma(-1)) + e_sigma;
ln_N = log(N);
ln_W = log(W);
ln_C = log(C);
ln_Rd = log(Rd);
ln_pi =log(pi);
ln_K = log(K);
ln_I = log(I);
ln_Q = log(Q);
ln_Yi = log(Yi);
ln_mc = log(mc);
ln_A = log(A);
ln_r = log(r);
ln_pistar = log(pistar);
ln_f1 = log(f1);
ln_f2 = log(f2);
ln_d = log(d);
ln_Y = log(Y);
ln_Re = log(Re);
ln_V = log(V);
ln_Z = log(Z);
ln_Leverage = log(Leverage);
ln_Omegabar = log(Omegabar);
ln_Sigma = log(Sigma);
end;
shocks;
var e_a; stderr sigma_a;
var e_sigma; stderr sigma_sigma;
end;
steady_state_model;
Sigma = Sigma_ss;
Omegabar = exp(norminv(F_ss)*Sigma-Sigma^2/2);
G_ss = normcdf((log(Omegabar) + Sigma^2/2) / Sigma - Sigma);
GAMMA_ss = Omegabar*(1-F_ss) + G_ss;
dF_ss = 1/(Omegabar*Sigma)*normpdf((log(Omegabar) + Sigma^2/2) / Sigma);
A = 1;
Q = 1;
pi = 1;
pistar = 1;
d = 1;
Rd = 1/beta;
Re = 1/(1-mu*(G_ss+Omegabar*dF_ss*(1-GAMMA_ss)/(1-F_ss)))*Rd;
r = Re-(1-delta);
mc = (epsilon-1)/epsilon;
W = (1-alpha)*(r^alpha/(alpha^alpha)*mc)^(1/(alpha-1));
N = (1/chi*W/((alpha/(1-alpha)*W/r)^alpha-delta*(alpha/(1-alpha)*W/r)))^(1/(1+eta));
K = alpha/(1-alpha)*W/r*N;
I = delta*K;
Yi = K^alpha*N^(1-alpha);
Y = Yi;
C = Y-I;
f1 = mc*Y/(1-beta*theta);
f2 = Y/(1-beta*theta);
Leverage = 1/(1-Re/Rd*(GAMMA_ss-mu*G_ss));
Z = Omegabar*Re*Leverage/(Leverage-1);
V = gamma*(1-GAMMA_ss)*Re*K + We;
ln_N = log(N);
ln_W = log(W);
ln_C = log(C);
ln_Rd = log(Rd);
ln_pi =log(pi);
ln_K = log(K);
ln_I = log(I);
ln_Q = log(Q);
ln_Yi = log(Yi);
ln_mc = log(mc);
ln_A = log(A);
ln_r = log(r);
ln_pistar = log(pistar);
ln_f1 = log(f1);
ln_f2 = log(f2);
ln_d = log(d);
ln_Y = log(Y);
ln_Re = log(Re);
ln_V = log(V);
ln_Z = log(Z);
ln_Leverage = log(Leverage);
ln_Omegabar = log(Omegabar);
ln_Sigma = log(Sigma);
end;
% steady;
% check;
% model_diagnostics;
% Timing Convention:
% IRFs of ln_K and ln_Re from 2 to 21, others from 1 to 20
stoch_simul(order=1,irf=21)
ln_Y ln_C ln_I ln_K ln_Re ln_Rd ln_Omegabar ln_Leverage ln_A ln_Sigma;
显示报错:
错误使用 print_info (line 32)
The steadystate file did not compute the steady state
出错 stoch_simul (line 120)
print_info(info, options_.noprint, options_);
出错 nk_bgg1.driver (line 480)
[info, oo_, options_, M_] = stoch_simul(M_, options_, oo_, var_list_);
出错 dynare (line 281)
evalin('base',[fname '.driver']);



雷达卡




京公网安备 11010802022788号







