Mandatory Saving

Hi Robert. In the paper Zhou (2020), the author analyzes the impact of a policy called Housing Provident Fund program. To put it simply, households must save a fixed fraction of income each period and withdraw the money (with interest earnings) when they decide to buy the house, or upon retirement if they are renters.

The original paper uses deterministic income process, so it’s easy to know the amount of money to cover housing price when households decide to buy the house. I wonder if VFI Toolkit works with income shocks?

2 Likes

From the perspective of the toolkit, Zhou (2020) has value fn: V(a,h,b,f), where a is assets (just a standard savings asset), b is mortgage (for those who own houses), and h is house (which presumably takes a few discrete values. f is an i.i.d. transaction shock. Note that the mortgage is only relevant when a houseowner, it is not there for those who don’t own a house.

If I understand, what you want to do is add in a ‘compulsory savings account’, and also a markov income shock. [Zhou (2020) has the compulsory savings account, but with deterministic income it is simply a function of age and doesn’t need to be kept track of as a state.]

Because this ‘compulsory savings account’ is only used prior to buying a house, and the mortgage is only used when a house is purchased I suspect you could just “reuse” ‘b’ as the compulsory savings account before buying a house, and as the mortgage when you buy the house.

So then need V(a,h,b,z,f). a is savings, h is house (so just a few points), b is compulsory-savings and also mortgage, z is markov on income, f is i.i.d. on transactions costs.

Because b ticks slowly up, then jumps once to mortgage, then ticks slowly down, I suspect you can cleverly model it as an experienceasset without using a lot of points (a handful of decision values for moving up/down, and then a handful for the jump when you buy a house). So the model would have two standard endogneous states (but the second is small), one experienceasset, one markov and one i.i.d.

Two standard endogenous states plus an experienceasset is not yet coded (or more accurately, it is, but not with divide-and-conquer so is just going to run out of memory). I am going to hopefully be putting in grid-iterpolation layer when using one standard endogenous state with experienceasset together maybe next month or the following. While I am in there I will try set this up (would also be good for models of housing and human capital). But for the moment the answer is unfortunately no.

If you wanted, you could set up V(a,b,h,z,f), with just a,b,h as three endogenous states, use divide-and-conquer on a, and use lowmemory=2 so it loops over z&f. This might work, but might run out of memory, or might just be a bit slow. If you want to try it though, this is probably your best bet for now. It might just work okay. [The “reinterpretation” of ‘b’ can all be done inside the ReturnFn]

[Two asset models are going to improve a lot later this year. I know some good tricks now, mostly the grid interpolation layer, is just a matter of finding time to write the codes for all the different scenarios.]

2 Likes