I have a question related to the EXPECTATION command, the one that produces lagged expectations.

After using this command, Dynare generates some auxiliary variables, denoted by the prefix AUX_EXPECT_LAG_.

My question is the following. How are these auxiliary variables defined? Is there a way of obtaining some kind of reduced form representation of these variables? I am interested in obtaining something similar to the policy and transition functions from Dynare’s usual output.

I delved into the manual but could not find what is behind these auxiliary variables.

As you already noticed, the automatic introduction of auxiliary endogenous variables by Dynare is a bit tricky. This section in the manual explains what Dynare does behind the hoods to create and name leads and lags greater than 1.

In order to obtain something similar to the policy function from Dynare’s output, I suggest you create these auxiliary variables yourself in the model block. To achieve this, do not put leads or lags greater than 1.

As an example, suppose you want to create the expected value of a given variable x two periods ahead, ie, EXPECTATION(0)(x(+2)). Instead of putting this in your model block, create an auxiliary variable aux = EXPECTATION(0)(x(+1)) and then use EXPECTATION(0)(aux(+1)) to declare EXPECTATION(0)(x(+2)). This should prevent Dynare from creating auxiliary variables and will appear in you policy function if they are relevant for the dynamics.

Finally, keep in mind that the EXPECTATION command is redundant if your model features expectations formed only in the current period. Simply use x(1) or x(+1).

Note also that you can ask Dynare to provide \LaTeX-output of your model equations via write_latex_dynamic_model that will make the auxiliary variables transparent.