// Model: NK_IR04 = modified version by Renate // Further references: // Ireland, Peter N. "Money's Role In The Monetary Business Cycle," // "Journal of Money, Credit and Banking, 2004, v36(6,Dec), 969-983. // endogenous variables // ==================== var y ${y}$ (long_name='Output') m ${m}$ (long_name='Households Real Balances') pi ${pi}$ (long_name='Gross Inflation Rate') r ${r}$ (long_name='Gross Nominal Interest Rate') mu ${mu}$ (long_name='Percentage Deviation of Money Growth') a ${a}$ (long_name='log Preference Shock a') e ${e}$ (long_name='log Preference Shock e on money demand') z ${z}$ (long_name='log Aggregate Productivity Shock') ; // exogenous varibales // ==================== varexo eps_a ${\varepsilona_}$ (long_name='Preference Shock a (IS Shock)') eps_e ${\varepsilone_}$ (long_name='Preference Shock e (Money Demand Shock)') eps_z ${\varepsilonz_}$ (long_name='Aggregate Productivity Shock') eps_r ${\varepsilonr_}$ (long_name='Policy Shock') ; // Parameters // ================== parameters omega1 ${\omega1}$ (log_name='depends inversely on HH risk aversion') omega2 ${\omega2}$ (log_name='measure importance of real balances in IS and Phillips curve') psi ${\psi}$ (log_name='labor disutility parameter') gamma1 ${\gamma1}$ (log_name='Income Elasticity of Money Demand') gamma2 ${\gamma2}$ (log_name='Semi-Elasticity of Money Demand') gamma3 ${\gamma3}$ (log_name='____') rhor ${\rho_r}$ (log_name='persistence Gross Nominal Interest Rate') rhoy ${\rho_y}$ (log_name='persistence Output') rhopi ${\rho_pi}$ (log_name='persistence Gross Inflation Rate') rhomu ${\rho_mu}$ (log_name='persistence Households Real Balances') rhoa ${\rho_a}$ (log_name='persistence Preference Shock') rhoe ${\rho_e}$ (log_name='persistence Preference Shock on money demand') rhoz ${\rho_z}$ (log_name='persistence Productivity Shock') sigmaa ${\sigma_a}$ (log_name='normal distributed standard diviation of preference shock a') sigmae ${\sigma_e}$ (log_name='normal distributed standard diviation of preference shock e on money demand') sigmaz ${\sigma_z}$ (log_name='normal distributed standard diviation of productivity shock z') sigmar ${\sigma_r}$ (log_name='normal distributed standard diviation of policy shock r') lny ${\log(y)}$ (log_name='log Output') lnm ${\log(m)}$ (log_name='log Households Real Balances') lnpi ${\log(pi)}$ (log_name='log Gross Inflation Rate') lnr ${\log(r)}$ (log_name='log Gross Nominal Interest Rate') y_ss ${\bar Y}$ (log_name='Output in Steady State') m_ss ${\bar M}$ (log_name='Households Real Balances in Steady State') pi_ss ${\bar PI}$ (log_name='Gross Inflation Rate in Steady State') r_ss ${\bar R}$ (log_name='Gross Nominal Interest Rate in Steady State') ; // Set parameter values // ==================== omega1 = 0.0548; % depends inversely on HH's risk aversion (response of aggregate demand to changes in real interest rate) omega2 = -0.0199; % non-zero => measures the importance of real balances on inflation & output gamma1 = 1.4337; % income elasticity of money demand gamma2 = 7.7532; % interest semi-elasticity of money demand gamma3 = 0.8553; % psi = 0.0002; % inverse relation to cost-of-price adjustemnt rhoy = 0.0288; % not persistens rhopi = 0.7589; % High rhopi and rhomu inidcates taht the Feederal Reserve policy has responded to changes in both inflation and money growth rhomu = 0.8126; % deviation of money growth from it's ss level lny = 8.8221; % log output (detrented) lnm = 9.6860; % log real balance (detrented) lnpi = 0.0099; % log inflation (detrented) lnr = 0.185; % log inflation (detrented) rhoa = 0.9426; % since the values of rhoa, rhoe and rhoz are prettey rhoe = 0.9482; % high, this indicates that the shocks are quite persistent rhoz = 0.9308; % to the IS curve, the money demand and the Phillips curve sigmaa = 0.1518; % normal distributed standard deviation sigmaa of preference shock at sigmae = 0.9482; % normal distributed standard deviation sigmae of preferece shock et on money demand sigmaz = 0.9308; % normal distributed standard deviation sigmaz of productivity shock zt sigmar = 0.0062; % dormal distributed standard deviation sigmar of policy shock rt y_ss = 7148.8015; % output ss m_ss = 16954.6939; % money demand ss pi_ss = 1.0101; % gross inflation rate ss r_ss = 1.0188; % gross nominal interest rate ss rhor = 0.5481; // Declaration of the model // ======================== model(linear); // Model Code consistend with the Paper "Money's Role in the Monetary Business Cycle" Peter N. Ireland (2001): // =========================================================================================================== [name='exogenous Preference process a'] a = rhoa*a(-1) + eps_a; [name='exogenous Preference process e on money demand'] e = (1-rhoe)*e + rhoe*e(-1) + eps_e; [name='Aggregate Productivity process z'] z = (1-rhoz)*z + rhoz*z(-1) + eps_z; [name='Forward Looking IS curve'] // parameter of interest is omega2 y = y(+1) - omega1*(r - pi(+1)) + omega2*((m - e) - (m(+1) - e(+1))) + omega1*(a - a(+1)); [name='Money Demand'] m = gamma1*y - gamma2*r + gamma3*e; [name='Forward Looking Phillips Curve'] pi = (pi_ss/r_ss)*pi(+1) + psi*((1/omega1)*y - (omega2/omega1)*(m-e)-z); [name='Monetary Policy Rule'] r = rhoy*y + rhopi*pi + rhomu*mu + eps_r; //modified interest rate rule [name='Percentage Deviation of Money Growth'] mu = m - m(-1) + pi; end; // Solving the model // ================= // Tempoary shocks => set shock variance // =============== shocks; var eps_a = sigmaa^2; var eps_e = sigmae^2; var eps_z = sigmaz^2; end; // Check Starting Values for the Steady State // ========================================= resid; // Compute steady state values // =========================== steady; // Blanchard-Kahn condition: compute Eigenvalues and check for stability // ===================================================================== check; // Solve the model // =============== //VAR dosn't work //stoch_simul(periods=500,irf=0); //datatomfile('datarabanal_hybrid',[]); stoch_simul(irf=40, order=1, hp_filter=1600, nograph) y m pi r mu a e z; // Create a graph // ============== for i=1:200 set_dynare_seed(i); stoch_simul(periods=200, noprint, nograph); y_sim(:,i) = y; pi_sim(:,i) = pi; end; // plot a graph - dosn't work // ======================== rhomu_params = 0:0.05:1; for i=1:length(rhomu_params) rhomu = rhomu_params(i); stoch_simul(noprint, nograph); m_eps_a_mat(:,i) = m_eps_a; end; >> surf(rhomu_eps_a_mat(1:5,:)); xlabel(‘\mu’); ylabel(‘t’); zlabel(‘\m’);