Custom Matlab solver to find initial values

Dear all,

I’m trying to replicate the Schorfheide (2000) model described in the Dynare UserGuide (January 2013 draft). Instead of using initvals from the fs2000 mods in the examples folder under dynare installation directory, I wrote a solver to try to get the initial values.

Here I have some questions about finding the initial values in this procedure,

  1. If the model has an analytical solution, just as it does in the steady_state_model block in the fs2000 mod file, can I use it directly in the custom solver as I did in the solver file?

2.If the model cannot be solved analytically, can I just remove the time indices of the variables of the equilibrium conditions (in this case, following the equilibrium conditions listed on page 63 of the UserGuide), which transforms them into static equations , and put them into the custom solver to find the initial values?

  1. What is the best practice to set initial search point (e.g. the x0 vector in the solver and also I noticed that in the NK_baseline_steadystate.m file, initial point of 0.25 is set for the fsolve to find ld) when using fsolve in Matlab to find the numerical solution that to be used in the mod file as initial values?

Thank you very much in advance.
fs2000_repl_solver2.m (1.5 KB)

  1. Of course you can. But when you have an analytic steady state, you should not use a solver, but a steady_state_model-block, which is more efficient.
  2. Depends on what your solver can handle. But in general this would be the right approach.
  3. Set it based on economic intuition. See Remark 15 (initval vs. steady_state_model vs. steadystate-file) in Pfeifer (2013): “A Guide to Specifying Observation Equations for the Estimation of DSGE Models ”.