OSR vs. Ramsey problem

Hey guys,

I have the following problem regarding my dynare output. I want to compare the values of the loss function for an OSR and a Ramsey policy in models that are otherwise identical. The objective function of both is also the same as far as I understand. However, for the Ramsey policy I get a value for planner objective of approximately 13.5942 and for the OSR I get a value for the objective function of .2334. Can someone explain this to me? Or is there something wrong with my program(s)?
Thanks a lot for your help

Tanvi
Thesis_Ramsey.mod (3.65 KB)
OSR.mod (3.48 KB)

There is a fundamental difference in the objective functions. OSR minimize a sum of discounted unconditional variances while Ramsey minimizes a discounted sum of conditional variances in your case.

Is this the case? That Ramsey computes the inter-temporal loss function value L_rams=loss_t_rams/(1-beta) while with OSR, Dynare computed the period loss:loss_OSR=loss_t_OSR.
Hence, then the inter-temporal loss for OSR is L_OSR=loss_t_OSR/(1-0.99)=22.34.

Also, then, how do we verify that OSR is bigger than Ramsey?

This is somewhat complicated and will take more time. Part of the problem is the difference between conditional and unconditional. Take an AR1-process. Its conditional variance will be the standard deviation of the error term, but its unconditional variance will be
sigma_epsilon^2/(1-rho^2).

Okay so I conjectured the following. The way the objective loss is constructed in my OSR program is by calculating lambda_xvar(y_hat)+var(pi_hat)+lambda_Rvar(R_hat), where the var(.) come from oo_.var. I verified that manually calculating this gives the same value as objective_function does.
So now I used the same procedure to calculate the corresponding loss of this objective function if the Ramsey policy is used. I.e. I made the same calculation as above, but now the var(.) are taken from oo_.var after having run Ramsey.
Is this a valid way of comparing welfare under both policies?

For comparison between policies you can use any welfare criterion/loss function that is consistent across approaches. With what you describe you use the same criterion for both approaches, which is fine. The problem might be that the policies your are looking at were computed under different loss functions than you are considering now for your comparison.

Sorry for reactivating this topic.

So what does oo_.var(1,1) stand for? The conditional variance of the first variable, or the unconditional variance?

Then, if this command is for one kind variance, what is the command in Dynare for the other kind variance?

Thank you!

See the manual on this. oo_.var stores the unconditional variances. Conditional variances are not reported in Dynare. What type of conditioning did you have in mind?

Thank you! Yes, the manual is a great resource!

Because my plan is similar to @tanvintyl5. I would like to calculate the welfare loss by OSR (through Dynare function or by looping) and by Ramsey. Then compare them. Since I heard of the welfare can be classified into conditional and unconditional, I’m concerned that both OSR and Ramsey should be apple-to-apple or in the same manner.

There is no direct mapping from conditional variances to conditional welfare.

1 Like

Can an osr optimal policy ‘exactly’ implements Ramsey allocation? @stepan-a mentions that in his paper. If I may ask, what does exactly mean in this context? For example, IRFs and welfare estimates should match exactly? In dynare, welfare loss matches, but not IRFs, for example.

And may I also ask a question in the same paper. Taylor rule parameters estimated with osr are different under each structural shock. I expect that to happen since shocks do not affect the economy the same way, and maybe the central bank can react appropriately depending on the shock. However, Stepan mentions the need to derive osr rules which are robust across structural shocks. Would central banks want that? Like responding the same way irrespective of the type of shock?

Dear @jpfeifer, could you please explain why there would be a difference in OSR and ramsey_policy if one is using the same welfare objective, solving Ramsey at order 1, appropriately discounting to get the period loss, and then using unconditional variances? Many thanks!

In that particular case, you should not get a difference as the two cases are equivalent.

1 Like

Thank you very much, @jpfeifer. Could you please also advise on what would be the best way to compute optimised parameters for a given policy rule (using OSR) to deliver the same conditional losses as in Ramsey policy and/or discretion, when the welfare objective is the same?

You can use the unstable version/Dynare 7 for that. It allows using OSR with a planner_objective. An example is at tests/optimal_policy/OSR/OSR_planner_objective.mod · master · Dynare / dynare · GitLab

Thank you very much. I have a further question, please - without this, and if one were to use the latest stable version to examine the ‘conditional’ losses in response to certain shock(s) between OSR and Ramsey/discretion, could this be implemented by using OSR to get the optimised coefficients, then doing a perfect-foresight simulation after fixing those coefficients to compute the conditional present value loss function, which would be comparable with the Ramsey policy? Or would it suffice to just set (all other) shock variances to zero one at a time in both Ramsey/OSR exercises?

I’d appreciate your help!

I am not sure I understand the exercise you have in mind. There is a fundamental difference between stochastic models and perfect foresight when it comes to optimal policy.

Thank you for getting back - the exercise I have in mind is a welfare comparison of optimised simple rules and Ramsey/discretionary policy conditional on specific shocks.

Once you have fixed the parameter with either methods, you can do any exercise you like.

1 Like

Dear Prof. Pfeifer,
I have a quick question regarding OSR in Dynare. Is it possible to use the household welfare derived from the utility function as the loss/objective function in the OSR procedure?