Replication of ollivaud(2018)

Hi,

I’m trying to replicate Ollivaud(2018) which is titled " Investment as a transmission mechanism from weak demand to weak supply and the post-crisis productivity slowdown"

(https://www.oecd-ilibrary.org/docserver/0c62cc26-en.pdf?expires=1542353581&id=id&accname=guest&checksum=29D897AE28BD201DFC4FB9CC690AEB9F)

Here’s my dynare code below to replicate the simulation in the box 1 of the paper above.
It would be appreciated if you have a look and comment or help to correct this coding.
Thanks you.

ollivaud.m (45 Bytes)

var y gap k y_star;
varexo n e eps;

parameters alpha beta0 beta1 gamma0 gamma1 gamma2 gamma3 gamma4 gamma5;
alpha = 2/3;
beta0 = 0.96;
beta1 = -0.07;
gamma0 = 0.95;
gamma1 = 0.015;
gamma2 = 0.006;
gamma3 = 0.004;
gamma4 = -0.002;
gamma5 = -1.23;

model;
y_star = alpha * (n+e) + (1-alpha) * k;
y = y_star + gap;
gap = beta0 * gap(-1) + beta1 * gap(-2) + eps;
k - k(-1) = gamma0 * (k(-1) - k(-2)) + gamma1 * (y(-1) - y(-2)) + gamma2 * (y(-2) - y(-3)) + gamma3 * (y(-3) - y(-4)) + gamma4 *(k(-1) + (gamma5 * y(-1)));
end;

initval;
y_star = 0;
y = 0;
gap = 0;
k = 0;
end;

steady;
check;

shocks;
var eps;
stderr -4;
end;

stoch_simul(order=2, irf=60) k y_star gap;

Dear @pcmk1,

This looks ok to me.

Just one thing: it does not make sense to set order=2 in stoch_simul, because your model is linear. order=1 is enough.

Looking at the Ollivaud et al. (2018) paper, it looks like they’re doing conditional forecasting, where the forecasting is conditional on a path for the output gap (which implies a path for the shock eps).

You can achieve a similar exercise in Dynare by adding something like this after the stoch_simul command:

// Scenario for output gap: -4 first year, -2 second year, -3 third year
conditional_forecast_paths;
var gap;
periods 1:4, 5:8, 9:12;
values -4, -2, -3;
end;

// A low value for replic is ok, because there is no more uncertainty when eps is controlled
conditional_forecast(parameter_set = calibration, controlled_varexo=(eps), replic = 10);

plot_conditional_forecast(periods = 60) gap y_star k;

Best,