Predefined shocks in certain periods with 'simult_' - How? (DSGE)

  1. You initialize the shock matrix. It will always be
    shock_matrix = zeros(options_.irf,M_.exo_nbr); %create shock matrix with number of time periods in columns
  2. Then you set the shocks that you want. The row index sets the time period, the column index the shock:
// set shocks for pure news 
shock_matrix(1,strmatch('eps_z_news',M_.exo_names,'exact')) = 1; %set news shock to 1 (use any shock size you want)

sets a shock of size 1 for the first period (therefore in the first row) for the exogenous variable eps_z_news. The command
strmatch('eps_z_news',M_.exo_names,'exact')
is used to find the column in which eps_z_news is stored. So for a different shock, you need to change the name string.

2 Likes