How to write expectations of products?

Hi,

You are correct. More generally, if you have an equation of the form: \varphi (\mathbb E_t [x_{t+1}]) = 0 and if you consider an order of approximation greater than one, then it would be wrong to write:

phi(x(1)) = 0

in the model block because Dynare will interpret it as \mathbb E_t [\varphi (x_{t+1})] = 0, since it takes the conditional expectation of the whole equation. In this case the correct way of specifying the equation in the model block is to write:

aux_x = x(1) ;
phi(x) = 0;

This kind of situations (with nonlinear transformations of conditional expectations) will arise, for instance, in equity premium models. See Equity Premium in Jermann 1998 and Otherwise.

Best,
Stéphane