Unmaterialized News Shock clarification

Hi all,

I have a question on the application of the anticipated news shock. (e.g., https://github.com/JohannesPfeifer/DSGE_mod/blob/master/RBC_news_shock_model/RBC_news_shock_model.mod)

The shocks are applied as follows:

//8. exogenous TFP process
z=rhoz*z(-1)+eps_z_surprise + eps_z_news(-8);

shocks;
    var eps_z_news=1; //8 period anticipated TFP news shock
    var eps_z_surprise=1; //TFP surprise shock
end;

However, I don’t understand how these shocks offset each other given they both have positive signs (z=rhoz*z(-1)+eps_z_surprise + eps_z_news(-8))

Shouldn’t it be:

//8. exogenous TFP process
z = rhoz*z(-1) - eps_z_surprise + eps_z_news(-8);

shocks;
    var eps_z_news=1; //8 period anticipated TFP news shock
    var eps_z_surprise=1; //TFP surprise shock
end;

or

//8. exogenous TFP process
z= rhoz*z(-1) + eps_z_surprise + eps_z_news(-8);

shocks;
    var eps_z_news = 1; 
    var eps_z_surprise = -1 ; 
end;

And if these alternatives don’t work, what part of the original code implies the shocks are actually offsetting each other rather than going in the same direction?

For example, I was thinking of changing the shocks block so that it accounts for exactly offsetting (corr = -1) shocks:

shocks;
var eps_z_news = 1; 
var eps_z_surprise = 1 ;
corr eps_z_news, eps_z_surprise = -1;
end;

Thanks,

Camilo

Given that the shocks themselves can be positive or negative, the use of a plus is simply a convention. Also note that negative variance in the shocks do not make sense.

What is important is that in the simult_-function used to simulate the model the second (surprise) shock indeed has a negative sign.

Thank you, Johannes-

In your github those lines looked commented so I failed to see the options used in simult.

Now everything’s clear.

Best,

Camilo

Yes. Github’s syntax highlighting does not work well for Dynare code.

when replicating the code, the following errors showed up:

Error using simult_
Too many input arguments.

Error in RBC_news_shock_jpfeifer (line 239)
y2 = simult_(M_,options_,initial_condition_states,oo_.dr,shock_matrix,1);

Error in dynare (line 223)
evalin('base',fname) ;

how to fix that?

Is it only me who met such an issue? Or it’s sth related with my dynare/matlab version?

The codes are exactly the same from
https://github.com/JohannesPfeifer/DSGE_mod/blob/master/RBC_news_shock_model/RBC_news_shock_model.mod

I fixed it by deleting the first two inputs:

y2 = simult_(initial_condition_states,oo_.dr,shock_matrix,1); 

I referred to BreakingFeaturesIn4.6 · Wiki · Dynare / dynare · GitLab
This forum is really helpful! Thank you all guys!

Please use the most recent Dynare version.