Initial values in a linearized DSGE

Hello everyone,

I’m computing a linearized DSGE model, close to Leeper, Plante and Traum (2009) [NK fiscal and monetary policies model], for which I have 2 questions:

  1. Inserting initial values in the model
    I would like to start my model with an economy in recession so that my output will be below its steady state at its initial value. How would you recommend me to do that? When I insert initial values, my model is not modified.

  2. Constraining the Taylor Rule with a Zero Lower Bound: the function max does not work with my model.
    In a log-linearized form, the linearized interest rate is: rhat_t = log(r_t) - log(Rss) = log(1) - log(1/beta) = -log(1/beta).
    where r_t is the gross nominal interest rate and Rss is the steady state interest rate. Hence, I want the deviations to not move below the constraint -log(1/beta). How may I implement this in my model?

Many thanks for your future help!
calibration_NK_fiscalrules.mod (1.44 KB)
NK_fiscalrules.mod (3.21 KB)

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 = wsslss/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) + deltai;
l = -w + z + k(-1);
1/beta
(r+q-pi(+1)) = (Z
(1-TK)z(+1))/(1-delta+(1-TK)Z) - (ZTKtk(+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));