Apr 20, 2021

Component analysis #2 - the lifecycle

This is my second toe-dip into Milevsky's "Retirement Recipes in R," (RinR) a text book designed for finance and econ undergrad and grad programs with students that go after this kind of stuff but it could just as easily be for you or me (did I brag about my acknowledgement in the book yet? heh). As in my last post, Prof M serves up what it took me months or years to figure out in thousands of lines of code but he does it in just a line or two.  Here is an example.  He provides a simple function in section 3, that builds on a couple others in sections 1->2, one of which I profiled before, in order to estimate the optimal level of financial capital over a lifecycle.  Let's say we have the following:

  • 25 year old
  • 25yo starts working at age 25 w 100k of starting capital
  • wages are 60k
  • wage growth is .015 real
  • discount rate or investment rate is .025 real
  • retirement expectation is 62
  • death horizon is 95 fixed
The new RinR function, if run for each age in the first bullet from 25 to 90, ceteris paribus on the rest of the bulleted assumptions -- and if it conforms to the lifecycle model -- SHOULD show the classic LCM "sail" shape of rising capital in a convex (or is it concave?) curve up, and then after retirement, a concave curve down. Here is what we see when I add 2 more lines of code to blow it out:
Figure 1. Optimal* level of financial capital over a life cycle


The X axis is years in age forward from age 25. Y is the financial capital axis. The data points are the financial capital expected or necessary for each age given the bullets above. 

 Ok, so why is this cool?

1. It's not that cool, but I was glad to get the shape. It is not all that remarkable but it's nice to have a tool in hand that does this.

2. We are not really in the realm of most advisors or asset managers here. They generally speak in the language of asset allocation, factors, MPT and efficient frontiers. Those are peachy but we are now here in the realm of financial economics. I can count on one had the number of finance dudes I know that know LCM and annuities (on which this post/function depends) cold. That comment right there creates some separation from the crowd.

3.  As in the last post, we have a few lines of code that do what it took me hundreds or thousands. 

4. Were we to overlay a mortality distribution of some kind for some (conditional, say 25 in this case, or maybe 62 or something) age, we could have a really good discussion if we were to dynamically walk through some assumptions. We basically need to drop that right side of the "sail" into a "lowish" (right side) probability of being alive...but without going too far. This would be a high-quality subjective discussion. 

5. As in the last post, this is another "component" that allows us to stay very very simple while rolling up the pieces into a more complex whole while also staying transparent and under our control. 

6. I once tried to do this in a spreadsheet for my daughter as a "game." It worked ok.  My attempt was here. The spreadsheet was needlessly complex, though, and I don't know if the links or the sheet still even work. Were I to start over I would build off something like this R function.  

7. The input parameters make this an infinitely adjustable "game." And a fairly transparent game at that. I mean, transparent for me. An avg retiree might still be mystified. idk.  




No comments:

Post a Comment