Dear all,
I am trying to use a DSGE model based on Adolfson 2005 to do forecast. While searching this forum to find answer to my previous problems, I realize I didn’t update steady state values which depending on the deep parameters of the model, so I move all _ss equations under model-block with “#”, see below:
…
model(linear);
// --------------------------------- Coefficients for equation (10)-------------------
#b_w=(lambda_wsigma_L-1+lambda_w)/((1-betaxi_w)(1-xi_w));
#eta_0=b_wxi_w;
#eta_1=sigma_Llambda_w-b_w(1+betaxi_w^2);
#eta_2=b_wbetaxi_w;
#eta_3=-b_wxi_w;
#eta_4=b_wbetaxi_w;
#eta_5=b_wxi_wkappa_w;
#eta_6=-b_wbetaxi_wkappa_w;
#eta_7=1-lambda_w;
#eta_8=-(1-lambda_w)sigma_L;
#eta_9=-(1-lambda_w)(tau_y_ss/(1-tau_y_ss));
#eta_10=-(1-lambda_w)(tau_w_ss/(1+tau_w_ss));
#eta_11=-1+lambda_w;
// ------------------------------------ STEADY STATE BLOCK------------------------------------------------
#gamma_i_d_ss=((1-omega_i+omega_i*(lambda_m_i_ss^(1-eta_i)))^(1/(1-eta_i))); // Equation (SS6)
#gamma_c_d_ss=((1-omega_c+omega_clambda_m_c_ss^(1-eta_c))^(1/(1-eta_c))); // Equation (SS6-a)
#gamma_c_mc_ss=((omega_c+(1-omega_c)(1/lambda_m_c_ss)^(1-eta_c))^(1/(1-eta_c))); // Equation (SS6-b)
#gamma_i_mi_ss=((omega_i+(1-omega_i)*(1/lambda_m_i_ss)^(1-eta_i))^(1/(1-eta_i))); // Equation (SS6-c)
#pi_ss=(mu_ss/mu_z_ss); // Equation (SS1’)
#R_ss=(pi_ssmu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta); // Equation (SS1)
#R_f_ss=nu_ssR_ss+1-nu_ss; // Equation (SS2) // Equation (SS2)
#r_k_ss=((mu_z_ssgamma_i_d_ss-beta(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta); // Equation (SS5)
#w_bar_ss=(1-alpha)*lambda_d_ss^(-1/(1-alpha))*alpha^(alpha/(1-alpha))r_k_ss^(-alpha/(1-alpha))R_f_ss^(-1);
#H_over_k_ss=alpha/(1-alpha)mu_z_ssw_bar_ssR_f_ssr_k_ss^(-1);
#D1=(((1-omega_c)gamma_c_d_ss^eta_c)+(omega_cgamma_c_mc_ss^eta_c));
#D2=(1-g_r)/lambda_d_ssmu_z_ss^(-alpha)H_over_k_ss^alpha-((1-omega_i)gamma_i_d_ss^eta_i+omega_igamma_i_mi_ss^eta_i)(1-(1-delta)/mu_z_ss)H_over_k_ss;
#D3=(((1-tau_y_ss)/lambda_ww_bar_ss/(1+tau_w_ss))/A_L)^(1/sigma_L);
#D4=((mu_z_ss-betab)/((1+tau_c_ss)*(mu_z_ss-b)))*gamma_c_d_ss^(-1);
#H_ss=(D3D4^(1/sigma_L)(D2/D1)^(-1/sigma_L))^(sigma_L/(1+sigma_L));
#c_ss=D2/D1H_ss;
#psi_z_ss=1/c_ssD4;
#phi_ss=((lambda_d_ss-1)(mu_z_ss^(-alpha))((((1-alpha)(((mu_z_ssgamma_i_d_ss-beta*(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta)))/(alphamu_z_ss(((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))((1/alpha)^alpha)((((mu_z_ssgamma_i_d_ss-beta(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta)))((nu_ss(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta))+1-nu_ss))))^(-alpha))(((((((1-tau_y_ss)(1/lambda_w)((((1/(lambda_d_ss((1/(1-alpha))^(1-alpha))((1/alpha)^alpha)((((mu_z_ssgamma_i_d_ss-beta(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta)))/(1+tau_w_ss))/A_L)^(1/sigma_L)))(((((mu_z_ss-betab)/((1+tau_c_ss)(mu_z_ss-b)))/gamma_c_d_ss))^(1/sigma_L))(((((((1-g_r)/lambda_d_ss)(mu_z_ss^(-alpha))((((1-alpha)(((mu_z_ssgamma_i_d_ss-beta(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta)))/(alphamu_z_ss(((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))((1/alpha)^alpha)((((mu_z_ssgamma_i_d_ss-beta(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta)))((nu_ss(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta))+1-nu_ss))))^(-alpha)))-(((1-omega_i)(gamma_i_d_ss^eta_i))+(omega_igamma_i_mi_ss^eta_i))(1-((1-delta)/mu_z_ss))(1/(((1-alpha)(((mu_z_ssgamma_i_d_ss-beta*(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta)))/(alphamu_z_ss(((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))((1/alpha)^alpha)((((mu_z_ssgamma_i_d_ss-beta(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta)))((nu_ss(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta))+1-nu_ss)))))))/((((1-omega_c)gamma_c_d_ss^eta_c)+(omega_cgamma_c_mc_ss^eta_c))))^(-1/sigma_L)))^(sigma_L/(1+sigma_L)))))/lambda_d_ss; // Equation (SS10)
#k_ss=H_over_k_ssH_ss;
#y_ss=1/lambda_d_ss(mu_z_ss)^(-alpha)(H_over_k_ss)^alphaH_ss;
#g_ss=g_ry_ss;
#q_ss=(A_q/((1-tau_k_ss)psi_z_ss(R_ss-1)))^(1/sigma_q);
#i_ss=(1-(1-delta)/mu_z_ss)k_ss;
#x_tilda_ss=(omega_c(gamma_c_mc_ss^eta_c)((((((((1-g_r)/lambda_d_ss)(mu_z_ss^(-alpha))((((1-alpha)(((mu_z_ssgamma_i_d_ss-beta*(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta)))/(alphamu_z_ss(((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))((1/alpha)^alpha)((((mu_z_ssgamma_i_d_ss-beta(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta)))((nu_ss(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta))+1-nu_ss))))^(-alpha)))-(((1-omega_i)(gamma_i_d_ss^eta_i))+(omega_igamma_i_mi_ss^eta_i))(1-((1-delta)/mu_z_ss))(1/(((1-alpha)(((mu_z_ssgamma_i_d_ss-beta*(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta)))/(alphamu_z_ss(((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))((1/alpha)^alpha)((((mu_z_ssgamma_i_d_ss-beta(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta)))((nu_ss(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta))+1-nu_ss)))))))(((((((1-tau_y_ss)(1/lambda_w)((((1/(lambda_d_ss((1/(1-alpha))^(1-alpha))((1/alpha)^alpha)((((mu_z_ssgamma_i_d_ss-beta(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta)))/(1+tau_w_ss))/A_L)^(1/sigma_L)))(((((mu_z_ss-betab)/((1+tau_c_ss)(mu_z_ss-b)))/gamma_c_d_ss))^(1/sigma_L))(((((((1-g_r)/lambda_d_ss)(mu_z_ss^(-alpha))((((1-alpha)(((mu_z_ssgamma_i_d_ss-beta(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta)))/(alphamu_z_ss(((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))((1/alpha)^alpha)((((mu_z_ssgamma_i_d_ss-beta(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta)))((nu_ss(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta))+1-nu_ss))))^(-alpha)))-(((1-omega_i)(gamma_i_d_ss^eta_i))+(omega_igamma_i_mi_ss^eta_i))(1-((1-delta)/mu_z_ss))(1/(((1-alpha)(((mu_z_ssgamma_i_d_ss-beta*(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta)))/(alphamu_z_ss(((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))((1/alpha)^alpha)((((mu_z_ssgamma_i_d_ss-beta(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta)))((nu_ss(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta))+1-nu_ss)))))))/((((1-omega_c)gamma_c_d_ss^eta_c)+(omega_cgamma_c_mc_ss^eta_c))))^(-1/sigma_L)))^(sigma_L/(1+sigma_L)))))/((((1-omega_c)gamma_c_d_ss^eta_c)+(omega_cgamma_c_mc_ss^eta_c)))))+omega_i(gamma_i_mi_ss^eta_i)(((1-((1-delta)/mu_z_ss))((1/(((1-alpha)(((mu_z_ssgamma_i_d_ss-beta(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta)))/(alphamu_z_ss(((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))((1/alpha)^alpha)((((mu_z_ssgamma_i_d_ss-beta(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta)))((nu_ss(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta))+1-nu_ss)))))(((((((1-tau_y_ss)(1/lambda_w)((((1/(lambda_d_ss((1/(1-alpha))^(1-alpha))((1/alpha)^alpha)((((mu_z_ssgamma_i_d_ss-beta(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta)))/(1+tau_w_ss))/A_L)^(1/sigma_L)))(((((mu_z_ss-betab)/((1+tau_c_ss)(mu_z_ss-b)))/gamma_c_d_ss))^(1/sigma_L))(((((((1-g_r)/lambda_d_ss)(mu_z_ss^(-alpha))((((1-alpha)(((mu_z_ssgamma_i_d_ss-beta(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta)))/(alphamu_z_ss(((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))((1/alpha)^alpha)((((mu_z_ssgamma_i_d_ss-beta(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta)))((nu_ss(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta))+1-nu_ss))))^(-alpha)))-(((1-omega_i)(gamma_i_d_ss^eta_i))+(omega_igamma_i_mi_ss^eta_i))(1-((1-delta)/mu_z_ss))(1/(((1-alpha)(((mu_z_ssgamma_i_d_ss-beta*(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta)))/(alphamu_z_ss(((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))((1/alpha)^alpha)((((mu_z_ssgamma_i_d_ss-beta(1-delta)gamma_i_d_ss))/((1-tau_k_ss)beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta)))((nu_ss(((mu_ss/mu_z_ss)mu_z_ss-tau_k_ssbeta)/((1-tau_k_ss)beta))+1-nu_ss)))))))/((((1-omega_c)gamma_c_d_ss^eta_c)+(omega_cgamma_c_mc_ss^eta_c))))^(-1/sigma_L)))^(sigma_L/(1+sigma_L)))))))); // Equation (SS15)
#m_bar_ss=nu_ssw_bar_ssH_ss+q_ss;
#c_m_ss= omega_cgamma_c_mc_ss^eta_cc_ss;
#i_m_ss=omega_igamma_i_mi_ss^eta_ii_ss;
#y_STAR_ss=omega_cgamma_c_mc_ss^eta_cc+omega_igamma_i_mi_ss^eta_ii_ss;
//1/--------------- Phillips Curve
pi-pi_bar_c=(beta/(1+kappa_dbeta))(pi(+1)-rho_pi_bar_cpi_bar_c)+(kappa_d/(1+kappa_dbeta))(pi(-1)-pi_bar_c)
-((kappa_dbeta*(1-rho_pi_bar_c))/(1+kappa_dbeta))pi_bar_c+(((1-xi_d)(1-betaxi_d))/(xi_d*(1+kappa_dbeta)))(mc+lambda_d);
//2/--------------- Real marginal cost of the intermediate firms
mc=alphar_k+(1-alpha)(w_bar+R_f)-epsilon;
//3/--------------- Real rental rate of capital
r_k=mu_z+w_bar+R_f+H-k;
//4/--------------- Gross effective nominal rate of interest paid by firms
//# denomRf=nu_ssR_ss+1-nu_ss;
R_f=(nu_ssR_ssR(-1))/(nu_ssR_ss+1-nu_ss);
//5/--------------- Phillips curve for the imported consumption goods
(pi_m_c-pi_bar_c)(1+kappa_m_cbeta)=beta*(pi_m_c(+1)-rho_pi_bar_cpi_bar_c)+kappa_m_c(pi_m_c(-1)-pi_bar_c)-kappa_m_cbeta(1-rho_pi_bar_c)pi_bar_c+((1-xi_m_c)(1-betaxi_m_c)(mc_m_c+lambda_m_c)/xi_m_c);
//6/--------------- Phillips curve for the imported investment goods
(pi_m_i-pi_bar_c)(1+kappa_m_ibeta)=beta*(pi_m_i(+1)-rho_pi_bar_cpi_bar_c)+kappa_m_i(pi_m_i(-1)-pi_bar_c)-kappa_m_ibeta(1-rho_pi_bar_c)pi_bar_c+((1-xi_m_i)(1-betaxi_m_i)(mc_m_i+lambda_m_i)/xi_m_i);
//7/--------------- Marginal cost for firms importing consumption goods
mc_m_c=-mc_x-gamma_x_STAR-gamma_mc_d;
//8/--------------- Marginal cost for firms importing investment goods
mc_m_i=-mc_x-gamma_x_STAR-gamma_mi_d;
…
But the error message as following:
Error using print_info (line 48)
The jacobian matrix evaluated at the steady state is complex
Error in check (line 51)
print_info(info, options_.noprint);
Error in BARRIE_estim_13Q2v4 (line 1132)
check;
Error in dynare (line 132)
evalin(‘base’,fname) ;
According to the error message, I found the problem is info(1), which is “the model doesn’t determine the current variables ‘…’ uniquely”
I was trying to figure the problem through previous related topics in this forum, unfortunately, I am still stuck. I noticed a future version of dynare can identify problem more clearly, if it is possible, can any dynare experts help me identify it? Any help or suggestions will be much appreciated!
Helen
2013Q2v2.xls (214 KB)
data_2013Q2v2.m (619 Bytes)
DSGE_Adolfson.mod (120 KB)