I am working with a multisector growth model with two trends. I am trying to simulate the effect of an exogenous unanticipated event like a strike in one sector that temporarily reduces labor in that sector. Simply adding a one-period shock to labor in that sector doesn’t work because labor in all sectors will respond contemporaneously to the shock. I thought of making labor predetermined, but then I get the Blanchard-Kahn violation error. I also considered doing a simulation with initval imposing the reduced labor, with endval set at the steady state, as in https://github.com/JohannesPfeifer/DSGE_mod/blob/master/Solow_model/Solow_SS_transition.mod. When I write an initval block that computes initial values given the perturbation, with an endval block that is the steady state, I get the “trends not compatible with balanced growth path” error.

I have attached a .mod file that runs the baseline model (SectorNoStrike.mod), but only with the predetermined_variables line commented out. So it’s not the exercise I want. I used stoch_simul, but I presume the same problem would arise with deterministic simulation. But it shows that the model has balanced growth.

I also attach a .mod file (Sector4Strike.mod) that attempts the second method. In the initval block, one variable (n4u) is set to half its steady state value (computed in the block as n4ux), and two other variables (z4u and z4d) are also perturbed as a result. This gets the “trends not compatible error.” Strangely, that error occurs even if I change “n4u=0.5*n4ux” to “n4u=n4ux” (third line from the end of the initval block), which I thought would just make initval the steady state.

There’s probably something obviously wrong with either of these approaches, but I’m wondering if they can work, or if there’s some other way to do what I’m trying to do.

SectorNoStrike.mod (7.1 KB)

Sector4Strike.mod (9.6 KB)