21 February 2011

Why did TCORULE become outdated?

by Jaromir Benes

The tcorule function was designed to solve a time-consistent optimal policy rule problem. It became outdated by distribution 8.20110201. Why is that? The function was in fact replaced with a more powerful tool.

Instead of numerically computing a time-consistent optimal rule after you load the model, you can now specify an objective function (a loss function, indeed) directly in the model code using the newly introduced pseudofunction min. The model is then solved for a time-consistent optimal policy analytically. This means that a Lagrangian is created based on the objective function and the individual model equations, and new equations are added to the existing ones, i.e. the derivatives of the Lagrangian w.r.t. the model variables.

Doing the time-consistent optimal rules this way has a few advantages over the older method:

  • There are some fixed costs when loading the model (i.e. the time consumed by deriving the extra equations) — but when this is done evaluating the actual outcomes for different parameterisations does not involve any iterations, and is basically instantaneous.
  • You do not get into a dead end in which the optimal rule and a law of motion for expectations are found but when plugged in they produce multiplicity of stable solutions.
  • The model can still be expanded forward and used to simulate anticipated shocks.
  • You can (re)view the extra equations (i.e. the derivatives of the Lagrangian w.r.t. the individual model variables) by using the get function and retrieving all transition equations.

You can find a simple example illustrating time-consistent optimal policy in a two-equation model in Jaromir's mini-tutorials at the IRIS website.

No comments:

Post a Comment