I am trying to implement a basic NK model with Epstein-Zin preferences. I am aware that professor Pfeifer has replicated some papers that uses EZ preferences (thanks a lot for that btw), but I am avoiding the explicit preferences suggested by EZ and using a more friendlier format:

The main issue of this implementation is that I am using an instantaneous utlity CRRA format, implying that u(.) < 0 everywhere. To adapt this feature I adjusted the recursive preferences format accordingly:

This imply some small changes in the stochastic discount factor. Also implies that the risk aversion parameter, \gamma_V, should be negative to capture risk aversion.

I am having trouble to solve the model. Blanchard-Kahn and Rank conditions are not being met. I don’t know what is wrong because the calibration seems standard, it should work fine, unless this specification of EZ preferences does not work.

Please find the mod file attached. For a reference on the specification of EZ preferences please check: “The Bond Premium in a DSGE Model with Long-Run Real and Nominal Risks”, from Glenn D. Rudebusch and Eric T. Swanson (2012).

It helps a lot ! I am a fan of professor Eric Sims notes. I am quite suprised that I did not saw these. In the notes, he cites the problem of the negativity of utility, but does not include the solution proposed by the authors.

Although his implementation appears to work fine, those equations does not avoid taking a root of a negative number to compute model steady state. I will send an email to him requesting the mod file. Thanks !

Thanks for you reply professor ! I was not aware of this problem, it makes a lot of sense. To correct it I defined an additional parameter called “Pi_ss” instead of using the STEADY_STATE() operator in the Taylor rule. I’ve attached this updated mod file. epstein_dynare.mod (3.3 KB)

However, Blanchard Kahn conditions are still not being met. The model works fine with standard CRRA preferences.

Much thanks Professor ! You’re right, Vexpec is definitely bringing numerical issues, I will look into your normalization example and that should do it. Many thanks !