by gpap » Tue May 13, 2014 9:31 am
My model is a simple one and looks like this:
var y
c
r
pi
w
l
a b d q g tc tw tk tr k z i u_q u_b u_l;
varexo e_a e_q e_r e_g e_tc e_tw e_tk e_l e_b;
parameters beta alpha sigmaC sigmaL
rho_r phi_ry phi_rpi theta_p gamma_p
rho_a rho_q rho_b rho_l rho_g phi_gb phi_gy rho_tc phi_tcb phi_tcy phi_tctw phi_tctk rho_tw phi_twb phi_twy phi_twtc phi_twtk rho_tk phi_tkb phi_tky phi_tktc phi_tktw phi_tr psi PI Q R TC TW TR CY GY WY BY DY KY delta TK Z phi_rb
;
%----------------------------------------------------------------
% 2. Calibration
%----------------------------------------------------------------
alpha = 0.3; % share of capital in ouput
beta = 0.99; % discount factor
gamma_p = 0.75;
theta_p = 0.75;
sigmaC = 1.5; % risk aversion consumption
sigmaL = 2; % labor disutility
rho_r = .9; % Monetary Policy Smoothing Parameter
phi_ry = .125; % Monetary Policy GDP Growth Target
phi_rpi = 1.5; % Monetary Policy Inflation Growth Target
rho_a = 0.95; % productivity
rho_q = 0.95; % risk premium
rho_b = 0.85; % inter-temporal preference
rho_l = 0.85; % labor disutility preference
rho_g = .9; % Expenditure Policy Smoothing Parameter
phi_gb = .2;
phi_gy = .1; % Expenditure Policy GDP Growth Target
rho_tc = .9; % Tax Policy Smoothing Parameter
phi_tcb = .2; % Tax Policy Debt Growth Target
phi_tcy = 0.4;
rho_tw = .9; % Tax Policy Smoothing Parameter
phi_twb = .2; % Tax Policy Debt Growth Target
phi_twy = .4; % Tax Policy Debt Growth Target
rho_tk = .9; % Tax Policy Smoothing Parameter
phi_tkb = .2; % Tax Policy Debt Growth Target
phi_tky = 0.4; % Tax Policy Debt Growth Target
phi_tr = 0.2;
psi = 0.25;
phi_rb = -0.8;
phi_tctw = 0.05;
phi_twtc = 0.05;
phi_tktc = 0.05;
phi_tctk = 0.05;
phi_twtk = 0.25;
phi_tktw = 0.25;
delta = 0.025;
% steady states: PI, Q, R, Z, TC, TW and TK are ss variables; BY = bss/yss, WY = wss*lss/yss, GY = gss/yss, DY = dss/yss...
PI = 1.005;
Q = 1;
R = PI/(beta*Q);
GY = 0.18;
IY = 0.22;
KY = IY/delta;
CY = 1-GY-delta*KY;
WY = 1-alpha;
BY = 0.6;
TC = 0.183;
TW = 0.122;
TK = 0.184;
TR = 0.195;
DY = 0.75;
Z = (1/beta-1+delta)/(1-TK);
%----------------------------------------------------------------
% 3. Model
%----------------------------------------------------------------
model(linear);
%% Household
% Euler
sigmaC*(c(+1)-c)=r+q+u_b(+1)-u_b-pi(+1)+TC/(1+TC)*(tc-tc(+1));
% Hours supply
w = sigmaL*l + sigmaC*c + TW/(1-TW)*tw + TC/(1+TC)*tc + u_l;
k = (1-delta)*k(-1) + delta*i;
l = -w + z + k(-1);
1/beta*(r+q-pi(+1)) = (Z*(1-TK)*z(+1))/(1-delta+(1-TK)*Z) - (Z*TK*tk(+1))/(1-delta+(1-TK)*Z);
% Intermediary firms
% Production function
y = a + alpha*k(-1) + (1-alpha)*l;
y = CY*c+GY*g+delta*KY*i;
% Price dynamics NKPC backward
pi = gamma_p/(1+beta*gamma_p)*pi(-1) + beta/(1+beta*gamma_p)*pi(+1) + ((1-theta_p)*(1-theta_p*beta))/((1+beta*gamma_p)*theta_p)*(alpha*z+(1-alpha)*w-a);
% monetary policy
r = rho_r*r(-1) + (1-rho_r)*(phi_rpi*(pi(-1)) + phi_ry*(y(-1))) - e_r;
% Debt policy rule
BY*(b-b(-1)) = DY*d;
DY*d = 1/beta*(GY*g-TC*CY*(c+tc)-TW*WY*(tw+w+l)-Z*KY*TK*(tk+z+k(-1))+TR*tr)+BY*((1/beta-1)*b(-1)+r+q-pi(+1));
q = psi*(DY*d(+1)) + u_q;
% Tax policy rules
tc = rho_tc*tc(-1) + (1-rho_tc)*(phi_tcb*b(-1)*BY + phi_tcy*y) + e_tc;
tw = rho_tw*tw(-1) + (1-rho_tw)*(phi_twb*b(-1)*BY + phi_twy*y) + e_tw;
tk = rho_tw*tk(-1) + (1-rho_tw)*(phi_tkb*b(-1)*BY + phi_tky*y) + e_tk;
% Expenditure policy rule
g = rho_g*g(-1) - (1-rho_g)*(phi_gb*b(-1)*BY + phi_gy*y) - e_g;
% Stabilization rule transfers
tr = -phi_tr*(b(-1)*BY);
% Exogenous shocks
a = rho_a*a(-1) + e_a;
u_q = rho_q*u_q(-1) + e_q;
u_b = rho_b*u_b(-1) - e_b;
u_l = rho_l*u_l(-1) + e_l;
end;
%----------------------------------------------------------------
% 4. Computation
%----------------------------------------------------------------
check;
steady;
shocks;
var e_a; stderr 1;
var e_q; stderr 1;
var e_r; stderr 1;
var e_g; stderr 1;
var e_tc; stderr 1;
var e_tw; stderr 1;
var e_tk; stderr 1;
var e_b; stderr 1;
var e_l; stderr 1;
end;
stoch_simul(order=1, irf=40, irf_shocks = (e_b, e_r, e_g, e_tc, e_tw, e_tk));