Why do the elderly save? The role of medical expenses

What you need to code DFJ2010 in VFI Toolkit is as follows:
Permanent types, 10 ptypes: two genders, and 5 income levels
One endogenous state: assets (not cash-in-hand as DFJ2010 switch to)
Two markov exogenous states: health, zeta (AR(1) on medical expenses)
One iid exogenous state: xi (i.i.d on medical expenses)
[note, zero decision variables]

DFJ2010 have lots of parameters that depend on age and permanent type, e.g yn(g,h,I,t),m(g,h,I,t), sigma(g,h,I,t). If these didn’t depend on h they would be easy, just age-conditional parameters that differ by ptype. But the dependence on h, which is a markov z state complicates things. Since h only takes two values, I suggest setting them up with each as two (h=0 and h=1) age-conditional parameters that differ by permanent type.

That the transitions of h depend on (g,I,t) is easy (age-dependent exogenous markovs, but then differ by ptype). [eqn 5 of DFJ2010]

The awkward part for VFI Toolkit is that the conditional survival probabilities depend on h (the markov x state). VFI Toolkit does not handle state-dependent discount factors (which is what conditional survival probabilities effectively are). Instead you have to add an additional “dead” grid point to the health state and handle the conditional survival probabilities based on the transition probabilities to this state (and in that state, return fn evaluates to F=0) [dead state as conditional survival probabilities]. Actually, because of the warm-glow of bequests you need to go even further and add two grid points to health state, ‘death’ which is the period you die and gives the warm-glow of bequests, and ‘dead’ which returns 0 [when in ‘death’ you transition with probability one to ‘dead’]; this is because the warm-glow has to depend on the conditional survival probability, which is here being controlled by transition probabilities of the health state.

This (two extra health state values) is computationally a bit wasteful, but the model is otherwise pretty simple so it will still compute easy fast enough to GMM estimate, and you can use simoptions.conditionalrestrictions to make all the model stats conditional on not being death/dead (GMM estimation works with conditional restrictions as target moments).

2 Likes