Hi everyone, I am a fresh guy who is learning Dynare and DSGE now, I have written a SOE model but couldn't get the steady state, the Dynare told me I did wrong with some equations, but I didn't know how to deal with this equations and wrong steady state. If someone would love to help me, please contact with me, I really wanna get close to DSGE and lead to a high level. Thanks ! Looking forward to replying.
- Code: Select all
// two countries, two sectors in each country, tradable goods and nontradable goods;
//consumers in each country consum export goods, import goods and domestic goods;
// endogenous variables
var p p_s pt pt_s pn pn_s pm px_s s c c_s ct ct_s cn cn_s cx cx_s cm cm_s
yn yn_s yx yx_s kx kx_s kn kn_s h h_s hn hn_s hx hx_s i i_s ix ix_s in in_s
w w_s wx wx_s wn wn_s rx rx_s rn rn_s B B_s r r_s T T_s g g_s e a a_s;
//exogenous variables
varexo eps_a eps_as eps_g eps_gs;
//parameters
parameters miu miu_s omega lam lam_s gam gam_s thet thet_s alpha alpha_s bet delta delta_s tao tao_s
phi phi_s sigma sigma_s rho_g rho_gs kappa kappa_s x rho_a rho_as a_shock_correl
//steady state values of endogenous variables
C_bar C_sbar CX_bar CX_sbar CM_bar CM_sbar CN_bar CN_sbar CT_bar CT_sbar Y_bar Y_sbar YX_bar YX_sbar
YN_bar YN_sbar W_bar W_sbar WN_bar WN_sbar WX_bar WX_sbar R_bar R_sbar RX_bar RX_sbar E_bar
RN_bar RN_sbar HN_bar HN_sbar HX_bar HX_sbar H_bar H_sbar KX_bar KX_sbar KN_bar KN_sbar
B_bar B_sbar T_bar T_sbar P_bar P_sbar PM_bar PX_sbar PT_bar
PT_sbar PN_bar PN_sbar IN_bar IX_bar I_bar I_sbar IN_sbar IX_sbar E E_s;
//parameter values
bet = 0.94; miu_s =6.5; //discount factor
miu = 6.5;
omega = 0.165; miu = 1; // the price's parameters
lam = 1.5; lam_s = 1.5;
gam =0.5 ; gam_s =0.5 ;
thet = 0.75; thet_s = 0.75;
alpha = 0.36; alpha_s = 0.36;
delta = 0.1;delta_s =0.1 ;
phi = -1; phi_s =-1 ;
sigma =1 ;sigma_s = 1;
rho_a =0.9 ; rho_as = 0.9;
kappa=0.36 ; kappa_s = 0.36;
tao =0 ; tao_s =0 ;
x = 0.01;
rho_g = 0.93;6
rho_gs = 0.9;
a_shock_correl = 0.77;
%steady state value
E_bar =1; %assum exchange rate = 1
P_bar = 1;
P_sbar = P_bar/E_bar;
PX_sbar = 1;
PM_bar = 1;
H_bar = 1;
H_sbar = 1;
PT_bar =(miu*omega+(1-omega))^(1/(1-lam));
PT_sbar =(omega+miu*(1-omega))^(1/(1-lam));
PN_bar =(((1-gam*PT_bar^(1-thet))/(1-gam)))^(1/(1-thet));
PN_sbar =(((E_bar^(thet-1)-gam*PT_sbar^(1-thet))/(1-gam)))^(1/(1-thet));
R_bar = 1/bet-1;
R_sbar = 1/bet-1;
RX_bar = 1/bet-(1-delta);
RN_bar = 1/bet-(1-delta);
RX_sbar = 1/bet-(1-delta);
RN_sbar = 1/bet-(1-delta);
WX_bar = (1-alpha)*(1-tao_s)*(alpha*(1-tao_s)/RX_bar)^(alpha/(1-alpha));
WN_bar = (1-kappa)*PN_bar*(PN_bar*kappa/RN_bar)^(kappa/(1-kappa));
WX_sbar = (1-alpha)*(1-tao)*(alpha*(1-tao)/RX_sbar)^(alpha/(1-alpha));
WN_sbar = (1-kappa)*PN_sbar*(PN_sbar*kappa/RN_sbar)^(kappa/(1-kappa));
W_bar = WX_bar;
W_sbar = WN_sbar;
C_bar = W_bar^(1/sigma);
C_sbar = E_bar^(1/sigma)*C_bar;
CT_bar = gam*PT_bar^(-thet)*C_bar;
CN_bar = (1-gam)*PN_bar^(-thet)*C_bar;
CM_bar = gam*(1-omega)*PT_bar^(lam-thet)*C_bar;
CX_bar = miu*omega*PT_bar^lam*CT_bar;
CT_sbar = gam*(E_bar*PT_sbar)^(-thet)*C_sbar;
CN_sbar = (1-gam)*(E_bar*PN_sbar)^(-thet)*C_sbar;
CM_sbar = gam*(1-omega)*PT_sbar^(lam-thet)*C_sbar;
CX_sbar = miu*omega*PT_sbar^lam*CT_sbar;
YN_bar= (1-gam)*PN_bar^(-thet)*W_bar^(1/sigma);
E = gam*(miu*omega*PT_bar^(lam-thet)+PT_sbar^(lam-thet)*E_bar^(1/sigma))*(1-omega)*(1-delta*kappa*PN_bar/RN_bar)/((1-delta*(1-tao_s)*alpha/RX_bar)*(1-gam)*PN_bar^(-thet));
YX_bar= E*YN_bar;
YN_sbar =(1-gam)*PN_sbar^(-thet)* E_bar^(1/sigma)*W_bar^(1/sigma);
E_s = gam*(miu*omega*PT_sbar^(lam-thet)+(1-omega)*PT_bar^(lam-thet)*E_bar^(-1/sigma))*(1-delta*kappa*PN_sbar/RN_sbar)/((1-delta*(1-tao)*alpha/RX_sbar)*(1-gam)*PN_sbar^(-thet));
YX_sbar= E_s*YN_sbar;
Y_bar = YX_bar+YN_bar;
Y_sbar = YX_sbar+YN_sbar;
HX_bar =(1-tao_s)*(1-alpha)*E*YN_bar/WX_bar;
HN_bar =(1-kappa)*PN_bar*YN_bar/WN_bar;
HN_sbar =(1-kappa)*PN_sbar*YN_sbar/WN_sbar;
HX_sbar = (1-tao)*(1-alpha)*E_s*YN_sbar/WX_sbar;
KX_bar = alpha*(1-tao_s)*YX_bar/RX_bar;
KN_bar = kappa*PN_bar*YN_bar/RN_bar;
KX_sbar = alpha*YX_sbar/RX_sbar;
KN_sbar = kappa*PN_sbar*YN_sbar/RN_sbar;
IN_sbar =delta*KN_sbar;
IX_sbar = IN_sbar;
I_sbar = IX_sbar+IN_sbar;
IN_bar =delta*KN_bar;
IX_bar = delta*KX_bar;
I_bar = IX_bar+IN_bar;
B_sbar = (C_sbar+I_sbar-YX_sbar-PN_sbar*YN_sbar)/R_sbar;
B_bar = (C_bar+I_bar/E_bar-YX_bar-PN_bar*YN_bar)/R_bar;
T_bar = 0;
T_sbar =0;
model;
%1 #1
cx = miu*omega*(pt^lam)*ct;
%2 #2
cx_s = miu*omega*pt_s^lam*ct_s;
%3 #3
cm = (1-omega)*(pt/pm)^lam*ct;
%4 #4
cm_s = (1-omega)*pt_s^lam_s*ct_s;
%5 #5
ct = gam*(p/pt)^thet*c;
%6 #6
ct_s = gam_s*(p_s/pt_s)^thet_s*c_s;
%7 #7
cn = (1-gam)*(p/pn)^thet*c;
%8 #8
cn_s = (1-gam_s)*(p_s/pn_s)^thet_s*c_s;
%9 #9 #10
s = pm;
e = p/p_s;
%10 #11
pt = (miu*omega+(1-omega)*s^(1-lam))^(1/(1-lam));
%11 #12
pt_s = (omega+miu*(1-omega)*(1/s)^(1-lam_s))^(1/(1-lam_s));
%12 #13
p = (gam*pt^(1-thet)+(1-gam)*pn^(1-thet))^(1/(1-thet));
%13 #14
p_s = (gam_s*pt_s^(1-thet_s)+(1-gam_s)*pn_s^(1-thet_s))^(1/(1-thet_s));
%14 #15
yx = a*((kx(-1))^alpha)*(hx^(1-alpha));
%15 #16
yn = a*((kn(-1))^kappa)*(hn^(1-kappa));
%16 #17
yx_s = a*(kx_s(-1)^alpha_s)*(hx_s^(1-alpha_s));
%17 #18
yn_s = a*(kn_s(-1)^kappa_s)*(hn_s^(1-kappa_s));
%18 #19
p*g = p_s*tao*yx_s+T;
%19 #20
p_s*g_s =tao_s*yx+T_s;
%20 #21
%yn = (1-gam)*(c+g+i)*(p/pn)^thet;
yn = cn+in+(1-gam)*(p/pn)^thet*g;
%21 #22
yx = miu*omega*(pt^lam)*gam*((p/pt)^thet)*(c+g+i)+(1-omega)*(pt_s^lam_s)*gam_s*((p_s/pt_s)^(-thet_s))*(c_s+g_s+i_s);
%22 #23
r = r_s-x*B;
%23 #24
yn_s = cn_s+in_s+(1-gam)*(p/pn_s)^thet*g_s;
%24 #25
yx_s = cx_s+cm+ix_s+omega*((pt/pm)^lam)*gam*((p/pt)^thet)*g+miu*(1-omega)*((pt_s/px_s)^lam_s)*gam_s*((p_s/pt_s)^thet_s)*g_s;
%29 #26
(h^phi)*(c^sigma) = w/p;
%30 #27
c^(-sigma)=bet*rx(+1)*c(+1)^(-sigma)/p(+1)+bet*(1-delta)*c(+1)^(-sigma);
%31 #28
c^(-sigma)=bet*rn(+1)*c(+1)^(-sigma)/p(+1)+bet*(1-delta)*c(+1)^(-sigma);
%32 #29
(c(+1)/c)^sigma = bet*(1+r(+1))*p/p(+1);
%38 #30
wx = (1-tao_s)*(1-alpha)*yx/hx;
%40 #31
wn = (1-kappa)*pn*yn/hn;
%41 #32
rx = (1-tao_s)*alpha*yx/kx(-1);
%42 #33
rn = kappa*pn*yn/(kn(-1));
%43 #34
(c(+1)/c)^sigma = (e/e(+1))*(c_s(+1)/c_s)^sigma-bet*x*B(+1)*p/p(+1);
%29_f #35
h_s^phi*c_s^sigma = w_s/p_s;
%30_f #36
%(c_s(+1)/c_s)^sigma = bet*(rx_s(+1)/p_s(+1)+qx_s(+1)*(delta*(ix_s(+1)/kx_s(-1))^(0.5)+(1-delta)))/qx_s;
c_s^(-sigma)=bet*rx_s(+1)*c_s(+1)^(-sigma)/p_s(+1)+bet*(1-delta)*c_s(+1)^(-sigma);
%31_f #37
%(c_s(+1)/c_s)^sigma = bet*(rn_s(+1)/p_s(+1)+qx_s(+1)*(delta*(in_s(+1)/kn_s(-1))^(0.5)+(1-delta)))/qx_s;
c_s^(-sigma)=bet*rn_s(+1)*c_s(+1)^(-sigma)/p_s(+1)+bet*(1-delta)*c_s(+1)^(-sigma);
%32_f #38
(c_s(+1)/c_s)^sigma = bet*(1+r_s(+1))*p_s/p_s(+1);
%39_f #39
wx_s = (1-tao)*(1-alpha_s)*yx_s/hx_s;
%40 #40
wn_s = (1-kappa_s)*pn_s*yn_s/hn_s;
%41 #41
rx_s = (1-tao)*alpha_s*yx_s/kx_s(-1);
%42 #42
rn_s = kappa_s*pn_s*yn_s/(kn_s(-1));
%technology shock #43 44 45 46
a_s = rho_as*a_s(-1)+eps_as;
a = rho_a*a(-1)+eps_a+a_shock_correl*eps_as;
g = rho_g*g(-1)+eps_g;
g_s = rho_gs*g_s(-1)+eps_gs;
% #47 48 49 50 51 52
h = hn+hx;
h_s = hn_s+hx_s;
w = wx;
w = wn;
w_s = wx_s;
w_s = wn_s;
% # 53 54 55 56 57 58 59 60
kx = ix+(1-delta)*kx(-1);
kn = in+(1-delta)*kn(-1);
kn_s = in_s + (1-delta)*kn_s(-1);
kx_s = ix_s + (1-delta)*kx_s(-1);
i_s = ix_s +in_s;
i = ix+in;
p*c+B(+1)+p*ix+p*in = w*h +rx*kx(-1)+rn*kn(-1)+(1+r)*B-T;
p_s*c_s+B_s(+1)+p_s*ix_s+p_s*in_s = w_s*h_s +rx_s*kx_s(-1)+rn_s*kn_s(-1)+(1+r_s)*B_s-T_s;
//60equations
end;
steady_state_model;
e= E_bar; p=P_bar; p_s = P_sbar; pt=PT_bar; pt_s= PT_sbar; pn= PN_bar; pn_s=PN_sbar; pm=PM_bar; px_s= PX_sbar;
s= PM_bar;r= R_bar; r_s= R_sbar;rx= RX_bar; rx_s= RX_sbar; rn= RN_bar; rn_s= RN_sbar;w=W_bar; w_s=W_sbar;
wx =WX_bar;wx_s= WX_sbar; wn= WN_bar; wn_s=WN_sbar;yn=YN_bar; yn_s=YN_sbar; yx=YX_bar; yx_s=YX_sbar;
kx=KX_bar; kx_s=KX_sbar; kn=KN_bar; kn_s=KN_sbar; hn=HN_bar; hn_s=HN_sbar; hx=HX_bar;ix= IX_bar;ix_s=IX_sbar; in=IN_bar; in_s=IN_sbar;i= I_bar; i_s=I_sbar;
hx_s= HX_sbar; h=HN_bar+HX_bar; h_s=HN_sbar+HX_sbar; c= C_bar; c_s=C_sbar; ct= CT_bar; ct_s=CT_sbar; cn=CN_bar; cn_s=CN_sbar; cx=CX_bar; cx_s=CX_sbar;
cm= CM_bar; cm_s=CM_sbar;T=0; T_s=0; g=0; g_s=0; e_bar= P_bar/P_sbar;B_s=B_sbar;a =0; a_s=0;B = B_bar;
end;
steady;
check;
shocks;
var eps_a; stderr 1;
var eps_as; stderr 2;
var eps_g; stderr 1;
var eps_gs; stderr 1;
end;
stoch_simul;
The Dynare error message:
[list]Configuring Dynare ...
[mex] Generalized QZ.
[mex] Sylvester equation solution.
[mex] Kronecker products.
[mex] Sparse kronecker products.
[mex] Local state space iteration (second order).
[mex] Bytecode evaluation.
[mex] k-order perturbation solver.
[mex] k-order solution simulation.
[mex] Quasi Monte-Carlo sequence (Sobol).
[mex] Markov Switching SBVAR.
Starting Dynare (version 4.4.2).
Starting preprocessing of the model file ...
Found 60 equation(s).
Evaluating expressions...done
Computing static model derivatives:
- order 1
Computing dynamic model derivatives:
- order 1
- order 2
Processing outputs ...done
Preprocessing completed.
Starting MATLAB/Octave computing.
ans =
6
Residuals of the static equations:
Equation number 1 : 0
Equation number 2 : 0
Equation number 3 : 0
Equation number 4 : 0
Equation number 5 : 0
Equation number 6 : 0
Equation number 7 : 0
Equation number 8 : 0
Equation number 9 : 0
Equation number 10 : 0
Equation number 11 : 0
Equation number 12 : 0
Equation number 13 : 0
Equation number 14 : 0
Equation number 15 : 0.48472
Equation number 16 : 0.49828
Equation number 17 : 0.49828
Equation number 18 : 0.49828
Equation number 19 : 0
Equation number 20 : 0
Equation number 21 : -0.10949
Equation number 22 : -0.12281
Equation number 23 : 0.035966
Equation number 24 : -0.10949
Equation number 25 : -0.10949
Equation number 26 : 0.58205
Equation number 27 : 0
Equation number 28 : 0
Equation number 29 : 0
Equation number 30 : 0
Equation number 31 : 0
Equation number 32 : 0
Equation number 33 : 0
Equation number 34 : 0.033808
Equation number 35 : 0.56057
Equation number 36 : 0
Equation number 37 : 0
Equation number 38 : 0
Equation number 39 : 0
Equation number 40 : 0
Equation number 41 : 0
Equation number 42 : 0
Equation number 43 : 0
Equation number 44 : 0
Equation number 45 : 0
Equation number 46 : 0
Equation number 47 : 0
Equation number 48 : 0
Equation number 49 : 0
Equation number 50 : 0
Equation number 51 : 0
Equation number 52 : 0
Equation number 53 : 0
Equation number 54 : 0
Equation number 55 : 0
Equation number 56 : 0
Equation number 57 : 0
Equation number 58 : 0
Equation number 59 : 0
Equation number 60 : 0
Error using print_info (line 72)
The steadystate file did not compute the steady state
Error in resid (line 112)
print_info(info,options_.noprint, options_)
Error in steady (line 90)
resid;
Error in Sino1118 (line 748)
steady;
Error in dynare (line 180)
evalin('base',fname) ;