Problem Solving Ramsey Policy Problem

Hi Catalina,

I think Johannes’ hint above (that worked as intended) was a code chunk I had to add to the _steadystate.m file in the format of Dynare 4.6.0 and onwards. If you tried it, working with an older version may be the reason why it still does not work.

The info to update the file is here:

It that’s not the issue, then it may be that you are declaring constant values for the tools in the SS file: for an Instrument Conditional SS you need to provide any initial value in the initval block in the .mod file but you must avoid providing values for the instruments in the SS file as it prevents dynare from trying several values across iterations. Instead, you provide the chunk outlined by Johannes:

Here’s an example:
MaPCoord_Lv_steadystate.m (7.1 KB)

If this still does not work you may have to work out a separate file that solves for such Steady State value in the policy model as outlined here (page 4):

The algorithm is also mentioned in Bodenstein, Guerrieri, and La Briola (2020, JME; page 68, first paragraph):

https://pdf.sciencedirectassets.com/271711/1-s2.0-S0304393219X00021/1-s2.0-S0304393218304240/main.pdf?X-Amz-Security-Token=IQoJb3JpZ2luX2VjEBUaCXVzLWVhc3QtMSJIMEYCIQCLaIfcoQCIm76sMcjLQx65zwPGpC4EnqOhsUhUzebk1gIhAKJj1x52%2BAP4mgNDJxf44HPC5okg7CCgmu4Q9L05TGGnKr0DCN3%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEQAxoMMDU5MDAzNTQ2ODY1IgyI1yZ5fBX3GrYeDdIqkQMrc5TxUmvEy241FrYkFhoVb1OKfbGujRZMG0lW03%2BxJO4tzNjL3XCQOD5yFqnGy9UPBtJjyJfdRlSs7TJ4h8pArAkBoOz%2Fa%2BPK%2Bh6K83AKV0cFeE56G%2F380gQy0dtjJi5mRnOi26o8hvP6UyONCFBzWXOpBiHi9cJAvC9cGK1rDF92oVDqZhbquZbHlq4FHqLAc9Le8Wcr%2BLwrmWk89l7jGd0%2FdCg4hreK02Wq0uFeP%2Bp0yO8z8qfFE%2FK4oY3LlMFc5OpUildlo57za8i%2BN4OXbUCDsNzqogPx6jMzZfoBMpNentGyXfUpReqVtJ9Eyk0WEyckeorxUoT8SpdvD%2BndwT3EEGUvSNsstGmHIxVoKVU7UPe%2Bd9NMNdS1o1zqV8vn0KpE1Hv81%2F3wWf6qJ%2BnviiEojHKPtxoUbCb1A3iwq6WGcFtF428g9rZP%2B4UfT3JLpnGoY2rpkAMA7%2BGVS17473UYgKlhpu%2FRUkw57R0DXNws5zKAO1rT13LU7jqC4SpmBUJDhqjiJmPeXmY08rl%2FajDcyrH5BTrqAbem2ui4mWYoAM6zSTg%2BCbrkgA0KlhK53IAtmsF0qclfUeUatjM25KATeYOgmcIhucjrbxvcje1AoTszOyaULSUWWdNDaVgu6QDlBenhSy37DEf0VOfEq2fxXNNyagT6lxVVc2%2Fz9En5maj7wn%2B2KL68LmVnVK2Ikx4vQa1LM6AoskYApBFFxgQ2nlS10oQpnhclq7dP7c6hka6VDod1%2BwRKsG8TyUsgitJg2vz4%2BgPbaUvQHYsb4ZcfIZcyGhXKsb6EllkICu%2BzV5hvURog2Rv%2B9gLkgaqL2hGNtDBpdZTax2EHyUEL4Cu82Q%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20200806T213632Z&X-Amz-SignedHeaders=host&X-Amz-Expires=300&X-Amz-Credential=ASIAQ3PHCVTY7IQ4VL2Q%2F20200806%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=0587a997580e8820d0e546efb5142bbaf140f15418df1730f213e4f35fcbce43&hash=6ad0f540c1a9cd4fa631739236da13b7d10ee6c58e9e65bd260af0b189a16b71&host=68042c943591013ac2b2430a89b270f6af2c76d8dfd086a07176afe7c76c2c61&pii=S0304393218304240&tid=spdf-6febc8ae-5dcc-4869-909b-e7534d77c000&sid=54f905da4ad71042cc1b4159e95d3b954beegxrqa&type=client

In a nutshell, if you have private and policy FOCs you follow these steps:

  1. set any value for your instruments, e.g., \tau
  2. conditional to \tau obtain the solution to the private eq. SS variables as usual: \bar x(\tau)
  3. replace your solution in the policy FOCs, you get a system of linear eqs in the Lagrange Multipliers \bar \lambda.
  4. solve for \bar \lambda. Since you have more eqs that unknowns (extra eqs are due to having set the tools in an ad-hoc way) you must use a regression like formula to solve for \bar \lambda and, furthermore, the solution is subject to an approximation error u.
  5. repeat for many values of \pi and pick the value such that \pi = \arg \min u

The resulting \pi from 5 is your steady-state value for the tools.

*note: in my application I had to use both Johannes’ hint but also the other algorithm because I was solving for a Nash eq. (several planners) which couldn’t be solved easily with the Dynare built-in ramsey_planner function.

Hope this helps, although Johannes may provide an even more effective solution suited to your specific issue.

Camilo