Last time we solved the problem of the perfect retirement *spending plan*, assuming a *fixed known real return*, and a *CRRA utility function*.

This time, we’ll try to look at the problem from the other angle:

- Let’s assume a
**fixed spending schedule** - Then, let’s solve the problem of the perfect
**portfolio allocation schedule**between US stocks and bonds (of course, the approach could be generalized to other/more assets)

First, a brief digression to make the case that a CRRA utility function is a good thing to use.

**CRRA utility**

Here is a visualization of what a CRRA utility function looks like for different levels of gamma (use the slider to see how it changes as you adjust risk aversion parameter gamma.

Think of 1 as the ideal income or base case, where utility=0. With risk neutrality or gamma=0, gains and losses generate the same change in utility. As risk aversion increases and gamma goes up, small losses generate bigger and bigger drops in utility, while big gains generate smaller and smaller increases in utility. A ‘no-loss’ utility function with gamma=∞ would be utility=0 for consumption >=1 and a straight line down to -∞ for consumption<1.
One possible objection is, OMG, *CRRA utility is such a strange complicated abstraction!* No one actually thinks that way.

But we’re all used to thinking about mean-variance (or some of us, anyway). Clearly there is a tradeoff between the volatility of a portfolio, the distribution of potential outcomes, and the return we are willing to accept. So at some level a lot of our thinking about finance involves something very similar to applying a discount to future income streams based on how risky and volatile they are. That’s what the CRRA utility function does – apply a discount based on distribution of outcomes or volatility.

Another possible objection is, *‘utility’ is unobservable in the real world*.

But if the utility function correctly ranks the outcomes consistently with the way a human would, at some level that’s all that matters^{1}. The actual value is arbitrary. And as far as I know, any consistent ordinal ranking can be mapped to a cardinal utility function. And we can ask people which outcomes they prefer, either a priori asking them to rank risky outcomes to estimate their risk aversion, or simply generating CRRA-consistent retirement profiles with varying levels of risk aversion, and asking them to choose one.

*Finally, why CRRA utility?* The important property of CRRA utility is that it’s scale-invariant. A distribution of cashflows between 10 and 15 gets the same discount as a similar distribution between 100 and 150. So if you use a non-CRRA function, you’re going to get different answers depending on the size of the income streams that get generated.

So, if we think that, to reasonable approximations, humans are risk averse, they make consistent choices about risky outcomes, and their risk aversion is scale invariant over the range of outcomes we are studying, a CRRA utility function seems like a reasonable thing to use, as an approximation that leads to a problem we can solve.

**Optimal allocation schedules**

Last time we looked at the problem of finding the *optimal spending schedule*, given a known future return.

How do we find an *optimal portfolio allocation schedule*, given a known e.g. 25-year spending plan?

What we want: the expected CE spending for a given spending schedule and equity allocation schedule.

We write a function that for a given cohort, eg people who retired in 1987:

- Takes as input the equity % in each year (a 1×25 vector – the bond% is implied as 1-equity%)
- Uses the known returns for the 25 years 1987-2012, and the known spending schedule, to compute the retirement cash flows
- Returns the certainty-equivalent cash flow for the 25-year period.

Now that we can calculate the CE spending over 25 years, we can write a second function that

- Takes as input the cash flows for a period
- Uses our life table with how many people survived in each year, and computes the expected value of the CE spending that 1987 retiree would have expected across all survival scenarios. (Since some people died in each year, it’s the CE cash flow through each year
*i*of retirement, weighted by the percentage of retirees who lived to year*i*)

We can further write a third function that calls the second function on each cohort from 1926-1987, and computes the CE spending that each cohort retiring from 1926-1990 would have expected. That gives a distribution of outcomes which we also discount using the CRRA utility function, giving us what we want: the expected CE spending for someone who retired in a random year 1926-1990.

So the sequence is:

2×25 vector of portfolio allocations and spending %

-> cash flows

-> CE spending

-> expected CE spending for a cohort based on life table

-> expected CE spending across all cohorts and across all survival scenarios, e.g, for a random 25-year retiree at any year 1926-1987.

Finally, we can systematically try a universe of allocation schedules and spending schemes and find the one that maximized the expected CE spending for someone who retired in a random year in our history.

The optimal retirement plan is the one that would have maximized expected utility over all historical cohorts and survival timelines.

This does not seem completely computationally intractable in this day and age, so let’s try to compute it.

We add to our code from last time to

- 1) find an optimal spending schedule for a fixed return (what we did last time)
- 2) find an optimal spending schedule for a 50% equity portfolio that would have maximized CE spending using historical returns 1926-2012)
- 3) Use gamma=4, and the fixed spending schedule we found in 2), we find the equity allocation schedule that would have maximized CE spending using historical returns 1926-2012

In other words, to make the problem a little more tractable, first we find an optimum spending schedule for a 50% equity portfolio. Then, using that spending schedule, we find the optimal equity allocation schedule.

We end up with this schedule:

Age |
Equity % |
Spending % |

65 | 61.5% | 5.9% |

66 | 61.9% | 6.1% |

67 | 70.7% | 6.3% |

68 | 72.4% | 6.6% |

69 | 73.2% | 6.8% |

70 | 73.6% | 7.1% |

71 | 83.7% | 7.4% |

72 | 84.9% | 7.8% |

73 | 75.1% | 8.2% |

74 | 76.3% | 8.6% |

75 | 80.2% | 9.1% |

76 | 85.6% | 9.6% |

77 | 89.7% | 10.2% |

78 | 99.8% | 10.9% |

79 | 96.4% | 11.7% |

80 | 100.0% | 12.7% |

81 | 100.0% | 13.8% |

82 | 100.0% | 15.3% |

83 | 100.0% | 17.1% |

84 | 100.0% | 19.4% |

85 | 100.0% | 22.7% |

86 | 100.0% | 27.6% |

87 | 100.0% | 35.7% |

88 | 100.0% | 51.8% |

89 | 50.0% | 100.0% |

This is somewhat counterintuitive insofar as conventional wisdom would be to reduce equity as your time horizon shrinks.

Let’s look at what that expected spending profile would have looked like.

**Actual Spending using computed schedule, 25-year retirement cohorts 1926-1987**

This schedule does in fact seem to perform pretty well. Pretty high initial spending, pretty smooth outcomes, pretty good median case, not very catastrophic worst case. Assuming I had a way to annuitize my longevity risk after 90 (which only about 20% of 65-year-olds will outlive), I would be pretty OK with this range of outcomes.

This seems like a sound approach, and the outcome looks like the kind of solution I would be hoping to find.

In a future post, we’ll see if we can determine both simultaneously – an optimal spending plan and portfolio allocation for a given level of risk aversion.

^{1}If, on the other hand, humans care about things like the order in which income streams are experienced, ie you prefer an income of 10 followed by an income of 15 to the other way around, then CRRA utility is not going to capture that. Then maybe we need to move to a Kahneman-Tversky prospect theory utility function. And if people’s risk aversion changes over time, for instance at market peaks at troughs, then that’s also a problem.

Pingback: Optimal certainty-equivalent spending retirements with DataNitro - StreetEYE()

Pingback: Retirement plans that maximize certainty-equivalent spending, part 3 - StreetEYE()