Creation of auxiliary variables and inner expectations

Hi all,

I would like to know how I can create auxiliary variables (if at all possible) without them representing expectations. The example below should clarify.

I would like for example to write down the following model

x = rho * x(-1) + shock;
aux_var = x(+1);
var = aux_var*x(+2);

If I write the model this way, I understand that
aux\_var = E_t[x_{t+1}]
var = E_t[x_{t+1}] E_t[x_{t+2}]
Now I would actually like to solve for
var = E_t[x_{t+1} x_{t+2}]
Would it be possible to supply some auxiliary variable to write the model in such a way? One solution would naturally be to write down explicitly

var = x(+1) * x(+2);

However, I would like to avoid such a solution since the expressions for x(+1) and x(+2) could potentially be big and replicating them would be cumbersome.

I hope this was clear enough and happy to clarify. Any suggestions are very much appreciated.


From what I understand, declaring variables in the model blo

The easiest way is to work with model-local variables. An example is the stochastic discount factor M declared that way in DSGE_mod/Basu_Bundick_2017.mod at master · JohannesPfeifer/DSGE_mod · GitHub