Skip to content
This repository was archived by the owner on Jun 10, 2020. It is now read-only.
This repository was archived by the owner on Jun 10, 2020. It is now read-only.

Update notation in neoclassical_growth, and pretend we don't know the steady-state #30

@jlperla

Description

@jlperla

I want to update the neoclassical growth model to be as simple as possible and to test removing the dependence on the stationary solution. The task list is:

  • Change all notation to match HJBE_discretization.pdf as much as possible
    • e.g. s -> gamma
    • df to Delta or whatever is the correct match)
    • min(mub,0) instead introduced mu_B_m max(muf,0)introducesmu_F_p`, etc.
  • Add comment pointing to the equation number in the latex file for each line of code involving algebra. If you need to add in more equations (or want to rearrange equations) in that document, then go for it.
  • We want to write the equations of the model pretending that we don't know the steady-state. To do this, we will need to play around with what is currently equation (19) in the notes.
    • First, we need to ensure that all cases of $\mu_F$ and $\mu_B$ signs are properly dealt with in the logic, as I am not sure the code/algebra is correct as stated. In particular, it should be clear what happens if both $\mu_F > 0$ and $\mu_B < 0$ at the same time in (19) as opposed to a footnote. Next, what happens if the drifts are exactly 0?
    • I believe that one way to write it where nothing falls through the cracks is as follows:
      $
      {v_i^n}'={v_{i,F}^n}'\bold{1}{{ \mu{i,F} \geq 0}}+{v_{i,B}^n}\bold{1}{{ \mu{i,B}\leq 0 \text{ and } \mu_{i,F} < 0 }}+{\bar{v}i^n}'\bold{1}{{ \mu_{i,F}<0<\mu_{i,B} }}\label{eq:dv-upwind}
      $
    • See if that changes the solution.
    • Next, lets see what happens if we change the behavior around the steady state to pretend we don't know it. In particular, one thing to try is whether (with a fine enough grid) we can just use $\mu_{i,F}$? In that case it would be something like
      $
      {v_i^n}'={v_{i,F}^n}'\bold{1}{{ \mu{i,F} \geq 0}}+{v_{i,B}^n}\bold{1}{{\mu{i,F} < 0 }}
      $
    • Then check if it also works for taking the average. i.e. something like
      $
      {v_i^n}'={v_{i,F}^n}'\bold{1}{{ \mu{i,F} \geq 0}}+{v_{i,B}^n}\bold{1}{{ \mu{i,B}\leq 0 \text{ and } \mu_{i,F} < 0 }}+{\frac{v_{i,F}^n + v_{i,B}^n}{2}}'\bold{1}{{ \mu{i,F}<0<\mu_{i,B} }}\label{eq:dv-upwind}
      $
    • In all cases, when you check if it "works", you should be seeing if the solution changes much, and (especially) if the correct steady state comes out naturally. Also, play around to see if it converges for different initial guesses on the value function.
    • Leave (commenting out whichever one you aren't using) code for the 3 cases in the file, so we can play with it a bit

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions