From the equation I can see that no matter the shock is positive or negative, the welfare loss is the same (since the var(x) is always positive and the IRFs is symmetric). So I feel it strange. Does this result means no matter the shock is good or bad, it will evantually damage people’s utility?

In dynare, I directly use oo_.var(i,i) to get var(y) and var(pi), and I found whether I write order=1 or order=2 in stoch_simul. The results are the same, so does it means the approximation order makes no difference when calculating the average welfare loss per period?
Hope someone can answer my questions. Thanks!

You are considering an unconditional welfare measure. On average, there are as many positive as negative shocks so that the sign cancels. What matters is the variance of shocks due to curvature in the utility function.

There should be a difference if the model is nonlinear and if there is a distorted steady state.

Thanks, professor!
I understand most of your answer. But I don’t understand the “distorted steady state”. Is it the distortion caused by monopolistic competition? (my model is nonlinear, so the problem of my result may come from the “distorted steady state”)

Monopolistic competition may be one reason for a distorted steady state. It is well-known that with an undistorted steady state, a linear-quadratic approach yields the correct welfare ranking. Going to second order does not change the result.

Thanks professor, I will go back to learn the distorted steady state. It sounds like a basic thing, and if you can recommend any paper relating to it, that will be great. Wish you health.