I have the following conceptual questions related to deterministic and stochastic simulations for models with occasionally binding constraints (OBC, e.g. lower bound constraint on interest rates).

Let’s assume I have a non-linear model (meaning non-linearities not only due to the OBC but also in other model equations):

Ignoring the OBC, stoch_simul(order=1) and simul should give me the same IRFs to a one-time shock in the first period, correct?

If I now want to have IRFs respecting the OBC, I could use the max-operator in simul or some toolbox (like OccBin or DynareOBC). As these toolboxes usually also work with stoch_simul(order=1), should the IRFs to a one-time shock in the first period not be the same as in the deterministic simul? I doubt it as this would render these toolboxes redundant, but I don’t understand where the difference comes from.

As another option I could use extended_path. If I understand it correctly, this will deliver the same IRFs to a one-time shock in the first period as simul, correct?

Maybe somehow unrelated: Could you confirm whether manually linearising the equations and then using model (linear); … stoch_simul; is exactly the same as the non-linear equations with model; … stoch_simul(order=1); or will Dynare include some correction terms?

I know that these things have partially been discussed/answered already. But I don’t get my head around what first-order toolboxes do differently compared to the deterministic simulation in which I can easily use non-linear operators like max or min.

Yes. Due to certainty equivalence and the same information set this is true.

Here I would like to ask @cfp to shortly outline the conceptual advantage of DynareOBC.

If you do extended_path in a perfect foresight context, then yes. But it would also allow for stochastic shocks together with occasionally binding constraints.

Using simul is a perfectly fine way to generate IRFs in the presence of OBCs (if it works). It allows you to capture the full non-linearity of the model, under perfect foresight. If I’m asked to referee a paper that doesn’t estimate a model, and only ever shows IRFs under a first order approximation, then I’ll always ask them to replace the IRFs with ones from a “simul” type perfect foresight approximation, which should at least dominate the first order approximation.
The main difficulty is that simul’s perfect foresight solver will sometimes struggle to find a solution, particularly in the presence of OBCs. DynareOBC is guaranteed to find a solution if one exists. Additionally it lets you approximate the rest of the model at second or third order, to capture other non-linearities, and it can also capture precautionary effects of the bound.

Thanks, @jpfeifer and @cfp. This is very helpful and much appreciated. In fact I have been more exposed to OccBin rather than DynareOBC. I see the advantage of higher-order terms and precautionary effects. However, if I recall correctly, the OccBin toolbox only uses first-order approximations (at least all examples for the paper came with order=1 or were already linear; mod-files are here: https://github.com/lucashare/occbin). What would in this case be the advantage over simul, except for the potential problems to find a solution which you mention?

My understanding is that the use of piece-wise linearity in Occbin for the particular type of problem eases computations. But if you find a solution, then the results should be the same.