Persistent Expectation Errors

I’m working with a standard NK DSGE model where agents observe a noisy signal of future productivity. Technology is an AR(1) process and therefore their prior belief of tomorrow’s technology is just the autoregressive component since the expected innovation is zero:

a = rho_a*a(-1) + eps_a;

However, after observing the signal, their belief of the innovation is positive. I construct a variable in Dynare as follows:

exp_a_post = rho_a*a(-1) + eps_a_post;

where eps_a_post is the belief of the innovation after using the Kalman filter.

The objects a(+1) and exp_a_post are conceptually equivalent; one is the expected value of technology tomorrow given no signal, and one is the expected value of technology tomorrow given the signal.

The problem I’m having is constructing the equivalent of a(+2). Dynare is smart enough to know that:

E_t[a_t+2] = (rho_a^2) a_t

and this is exactly what you get if you use a(+2) or shock a and look at the IRF. With the beliefs generated by the signal, denoted by E_t^S, this should be:

E_t[a_t+2] = (rho_a^2) a_t + rho_a * eps_a_post + eps_a_post(+1)

(Apologies for the somewhat sloppy notation.) Here, eps_a_post(+1) is the belief of epsilon_t+2 given the signal; this is zero, since the innovations are iid zero mean. Then:

E_t[a_t+2] = (rho_a^2) a_t + rho_a * eps_a_post

However, this is not what exp_a_post(+1) is, and thus a(+2) and exp_a_post(+1) are not equivalent. I somehow need to define exp_a_post such that the leads are defined recursively using the initial value from eps_a_post. I can’t figure out how to do this and I’ve been trying all kinds of creative ideas. The worst-case solution is that I’ll generate the beliefs outside of the model (since they are exogenous, anyway) and feed them back in via simult_, but ideally there’s a way to do this inside Dynare.

Thanks for any help!

I am not completely able to follow this post. If I understand it correctly, you want to solve a signal extraction problem as in Blanchard/L’Huillier/Lorenzoni and Huertgen (2014). As far as I know, you need to run the signal extraction problem via the Kalman filter outside of the actual Dynare model via a steady state file.

As @jpfeifer, I think I do not understand the details of the post here… But I do not see how you could do that with the steady state file, which can only be used to compute an object which is constant in a simulation (like, as the name suggest, a steady state levels for the endogenous variables, or a parameter, which is deduced from long run restrictions). I would rather use an external function (see on the wiki and in the reference manual).


@stepan-a The issue is to solve the Kalman filter problem of the agents. Using perturbation techniques implies that agents use the steady state Kalman filter. The challenge is to compute the steady state Kalman gain. What the papers above that I referenced did was to use the steady state file to do the matrix algebra required for solving the Kalman filter recursion and then feed the fixed gain coefficient back to the mod-file