Dear All,

I’m calculating a second order DSGE model, I get the irfs out.

I’m encountering a weird situation and wondering why.

See the figure, the black line the one using the following shocks coding, listing only 1 shock out; the blue line is the results using the shocks coding, listing all shocks out; while all other parts of the mods all the same. The figure that I plotted out using only the es_ne shock, the plotting code is also below.

I believe that these two shocks coding should lead to the same irfs figures, but it turns out to be not!!!See the figure.

I check these twice, there is indeed no difference between these two files, merely the difference at the shocks. I think that even the second one listing all shocks out but I only use the es_ne shock’s result to plot, so it should not bring any difference. But the results shows the difference between these two ways of shocks coding. I never encountered this in the past when solving for 1-order linear models.

Can anyone tell me why? I really want to know the reasons and want to fix it!

%code1_listing_only1shocks

steady; %(solve_algo=1)

check;

shocks;

var es_ne; stderr 0.0199;

end;

stoch_simul(order=2,irf=40,nograph)y c k inv w rk n r mc pi i re rl loan lev_f nw_f lev_m Welf spread;

```
%code2_listing_allshocks
steady; %(solve_algo=1)
check;
shocks;
var es_a; stderr 0.0152;
var es_g; stderr 0.0438;
var es_v; stderr 0.0130;
var es_i; stderr 0.0875;
var es_c; stderr 0.0258;
var es_ne; stderr 0.0199;
end;
stoch_simul(order=2,irf=40,nograph)y c k inv w rk n r mc pi i re rl loan lev_f nw_f lev_m Welf spread;
```

%plotting matlab code

ending_cell={’_es_ne’}; %改为技术冲击：ending_cell={’_e_a’};

HOR=1:1:40;

var={‘y’,‘k’,‘loan’,‘inv’,‘lev_f’,‘rk’,‘pi’, ‘lev_m’,‘Welf’};