News Shock in Deterministic NK model with a ZLB

Hello everyone.

I am currently working on an NK model under the effects of a zero lower bound, trying to see the effects of fiscal policy on the multiplier. In the benchmark version the government spending shock is an AR(1) process taking the form

g_t = rho_g * g_t(-1) + epsilon_g

I have assumed that the ZLB binds for 12 periods and so does the fiscal shock. If I want to model this shock as an anticipated news shock (4 periods before the actual shock) of government expenditure I will have to set it like

g_t = rho_g * g_t(-1) + epsilon_g(-4)

This gives me an initial increase in output and an expected second one which is really mild and as a result I get a lower multiplier than in the case of the unexpected shock. The news shock dampens the effect of the multiplier or am I missing something? Furthermore, how can I make the news shock and another surprise shock have an impact on output? I was thinking something like below but I get the same results as if I only had one unexpected shock at time t=0.

g_t = rho_g * g_t(-1) + epsilon_g(-4);
s_t = rho_s * s_t + epsilon_s;

var epsilon_g;
periods 1:12;
values 0.1;

var epsilon_s;
periods 1:12;
values 0.1;

var epsilon_e, epsilon_s=0.05;

Also, I arbitrarily set the 0.05 relationship of the second shock. Am I supposed to do that or is a more refined way?

Thank you all in advance for your answers. I am also providing my .mod file.
test8.mod (4.26 KB)

I am not sure I understand what you are trying to do. Your code in the forum post seems to be using a weird mixture of stochastic and deterministic syntax (in contrast to the attached mod-file). It is rather complicated to implement “news shock” in deterministic perfect foresight simulations of the type you are conducting. The reason is that all shocks are perfectly anticipated. If you set a shock to happen in period 4, this shock will be perfectly anticipated for four periods.

Note also that

var epsilon_g; periods 1:12; values 0.1;
will give a sequence of news shocks for epsilon_g, the first shock of 0.1 happens in the first period and is not anticipated. Then there is a new shock happening in period 2, which is anticipated for 1 period and so on. Thus, there is a new shock in every period. I don’t know if this was intended. More common would be to specify g_t as an exogenous variable and let this change jump one and stay at this new level for a longer period of time.

Dear Johannes,

thank you so much for your prompt reply. The main goal of the code was to monitor the fiscal multiplier under interest rates governed by a Taylor rule (dummy_mp=0) and under the ZLB (dummy_mp=1). I wanted to set a predefined period of the ZLB, in my case 12 periods, to explore the effects of government expenditure under different timings. That’s why I modeled the government shock having an effect for 12 periods, or at least I was planning to do that. I had in mind a really aggressive fiscal expansion taking place for the full duration of the ZLB. I do not know if it is modeled correctly though.

Furthermore, I wanted to check if the multiplier would alter and by how much if we had a news shock of an expansive fiscal policy mixture in the future. I understand that this would be difficult in a deterministic setting but would Matlab give me a measurable output of…output in a stochastic setting so as to define the multiplier (I am saying so because the way I measured the multiplier in the deterministic model was by taking the series of output over the series of the actual shock in the oo_ file) ?

When I run the stochastic version of the model I get IRFS which make sense but everything changes when I try to do the following things:

1)Firstly, when I try to model the AR(1) government spending shock as a “news” shock, such as

g_t = rho_g * g_t(-1) + epsilon_g(-4)

I get an IRF showing that output falls under zero at time t-4, ascending up until t-1 and then decreasing at time t=0. Is it plausible? Does it have to do again with the perfect foresight of the agents?

  1. When I try to model the Taylor rule as:
i_t = rho + e_t

wanting to impose the ZLB I get

[code]There are 3 eigenvalue(s) larger than 1 in modulus
for 4 forward-looking variable(s)

The rank condition ISN’T verified![/code]

  1. When I try to set the dummy variable equal to 1, I get the same IRFs plus one figure which only accounts for the dummy shock. How am I supposed to impose zero interest rates for a given amount of periods in a stochastic version of the model?

  2. When I try to change the stochastic simulation to a deterministic one, I get strange results.

Forgive my large reply and my amateur approach in general. I am fairly new to MatLab. Please find attached the stochastic version of the NK model I’m working on.
test8yn.mod (5.09 KB)