Comparing welfare - Ramsey vs Taylor rule

Hello,

I have a quick question about the possibility to compare welfare that we get from a second order approximation with the planner objective value from a Ramsey policy.

In the case of a Taylor rule I have specified the welfare recursively as

Welf = Util + \beta*Welf(+1)

From the output of Dynare I have understood that you could then either look at the stochastic steady state computed as

W_pos=strmatch('y',M_.endo_names,'exact');
oo_.dr.ys(W_pos)+0.5*oo_.dr.ghs2(oo_.dr.inv_order_var(W_pos))     

which is the Constant in the Policy and Transition Functions, or the theoretical mean found in

oo_.mean

as the welfare mesures. My question is then, which one of these is comparable to the planner objective value that is reported when the initial Lagrange multipliers are set to steady state? As far as I’ve understood it is the first way of doing it, but that yields the odd result that welfare is superior in a world governed by a simple Taylor rule compared to the Ramsey policy which is why I ask this question.

Thank you in advance.

1 Like

The first one would be conditional welfare, i.e. the welfare being in steady state. The mean welfare in contrast would be unconditional welfare.
The output from Ramsey would be conditional welfare. However, an important difference is that Ramsey takes the shocks in period 0 as known. Therefore, the uncertainty correction only applies from period 1 onwards, while in your manual computation it would start at time 0. Put differently, the uncertainty correction only gets weight beta instead of 1.
You may want to look into

evaluate_planner_objective.m

Thank you for your reply Prof. Pfeifer.

Then it was as I suspected with the conditional welfare.

If I have understood the code in

evaluate_planner_objective.m

correctly then it is line 74 that is of interest

Wss = beta*Wuu*M.Sigma_e(:)/(1-beta);

and the solution would be to either remove the \beta from this line or to add \beta to my manual computation for a proper comparison to be made.

(The odd welfare ranking was an unrelated problem that has been solved.)

Yes, that is the line and the solution you suggest also seems correct. I am glad you solved the issue with the welfare ranking.

Then all is well in the world. Thank you very much for the help professor.

Dear Professor Pfeifer, I am a bit confused with how to compare welfare measures.

  • Consider Welf_Ramsey the value of Welfare we obtain in evaluate_planner_objective from a model running under ramsey_policy(planner_discount=.99,order=1,instruments=R).

  • Consider now Welf_Rule = U(C,N) + beta*Welf_Rule(+1) the welfare of the same model but with a simple rule for nominal interest rate (running with order=2 set)…

If we take
W_pos=strmatch(‘Welf_Rule’,M_.endo_names,‘exact’);
outvalue= oo_.dr.ys(W_pos)+0.5*oo_.dr.ghs2(oo_.dr.inv_order_var(W_pos));

then outvalue is the conditional welfare of the second model.

As I understood from this post **these two values: Welf_Ram and outvalue are not directly comparable. Or are they?
Should we first divide Welf_Ram by .99 before comparing both values?

In my model, If I divide Welf_Ram by .99, it becomes larger than outvalue (in modulus), which is counterintuitive, since ramsey policy should be better (i.e. lower in modulus) than simple rules…

For example, I have a model where Welf_Ramsey= -377.88 and outvalue= -378.15
if I divide Welf_Ramsey by beta (where beta=.99) the I get -381.7 which is higher than outvalue and therefore precludes that Ramsey implementation is worse than a simple rule!

Thank you in advance for the help!!!

1 Like

This is unfortunately complicated. The two are not immediately comparable. One issue is the information set, i.e. how you treat first period shocks. See the open ticket at https://git.dynare.org/Dynare/dynare/issues/1045 and Oo_.planner_objective_value

The second issue is the approximation order. See the open ticket at https://git.dynare.org/Dynare/dynare/issues/1680

1 Like