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) ;