Issue with consumption equivalent

Hello everyone,

I am currently trying to calculate the consumption equivalent in order to rank my Ramsey policy against the decentralized benchmark solution.

I took the inspiration from the files proposed in this thread (Consumption Equivalence_Welfare analysis - #8 by mikegouv) about the consumption equivalent.
If I understood correctly, the proposed approach is to find the level of consumption (ξ) that is the zero of the difference between the recursive welfare function of the benchmark and the one of the alternative policy.

I created the two attached mod files (benchmark and alternative policy with ξ (called lambda_utility) in the utility function and hence in the recursive welfare ) and a loop file meant to find the value of ξ that is the zero of the difference of the two welfares. Yet, the values of the welfare functions I get in return (for different values of ξ) seems to be always equal, while I would expect them to change at every iteration, since the welfare equation does not participate to the dynamics of the model,since it is supposed to run always with the same variables, but whith different ξ.

Could you please help me undestrand if there is some mistake in the files of wheter if I am missing something conceptually?

Thank you very much for the help,
have a nice day

loop_ce.m (605 Bytes)
market_economy_benchmark.mod (6.1 KB)
ramsey_policy.mod (6.8 KB)

Why are you focusing on the IRF of welfare, which always substracts the steady state. Also, doing a grid search is wildly inefficient. Try the approach used in https://github.com/JohannesPfeifer/DSGE_mod/tree/master/Born_Pfeifer_2018/Welfare:

dynare market_economy_benchmark;
target = oo_.mean(1);

dynare ramsey_policy;
[lambda_solution,distance]=fsolve(@(lambda)get_consumption_equivalent(lambda,target,M_,options_,oo_),0.3)

get_consumption_equivalent.m (318 Bytes)
ramsey_policy.mod (6.8 KB)
market_economy_benchmark.mod (6.1 KB)

Dear Professor,

thank you very much, this was very useful. I solved my issue.

In your opinion, what was I doing wrong in my procedure?

Thanks again,
Have a nice weekend!

As mentioned above, you did not use the level of welfare, but rather its response to an IRF. That’s the wrong object.

@jpfeifer shouldn’t the mod files be using a 2nd order approximation?

Generally, the answer is yes.

1 Like