Log linearized and non-linearity in one model

Dear all,
I want to include SIR into a DSGE model with Calvo pricing. As I understand, nonlinearity is a crucial point for epidemic modelling but I need to log-linearize some equations due to the Calvo setup. In the stochastic simulation, I put exp() to other non-linear equations. My question is that is it possible to have some log-linearized equation and the rest is nonlinear to capture nonlinearity in the SIR block ? Is there any problem with this kind of setup? Thank you so much.

  1. Why do you need to linearize for Calvo? Usually, there is a closed form recursive representation. See e.g. DSGE_mod/Derivation_Recursive_Pricing_Equation.pdf at master · JohannesPfeifer/DSGE_mod · GitHub
  2. See Mix of equations in levels and log linearized form - #3 by jpfeifer

Thank you so much for your reply,

  1. I work in my base model so it takes effort for me to transfer back to recursive form but I will notice this the next time I touch Calvo-related pricing.
  2. For the second point, so as long as I link the nonlinear part and linearized part correctly, should it be fine ? For example, SIR block is written as standard and we have labor (N_t), to use N_t in other blocks with Calvo wage setting, then I have to use log(N_t) (due to the fact all the variables should be mostly in log form.
  3. I am sorry for keep asking because I never use perfect foresight in practice before. In the stochastic simulation, up to order 1, my above setup should work fine. However, I read somewhere that perfect foresight does not use approximation. So, I guess the order command is not relevant here. Does it affect the intention to mix log-linearize and non-linear equations?
    Thank you so much.
  1. Ideally, you call the log-linearized variables something like N_hat and define
    N_hat=log(N)-log(STEADY_STATE(N))
    That makes sure the mean is correctly taken care of.
  2. For perfect foresight, mixing linear and nonlinear equations is problematic, because you will care about nonlinearities but only preserve them in some part of the code.

Thank you so much, I will notice this.