Jul 30, 2016

Why, Oh Why Would I Build A Monte Carlo Simulator From Scratch?

Last year I sat down and spent about a week hacking out a rudimentary Monte Carlo Simulator for retirement (I've enhanced it a bit in the time since).  That seems as preposterous to me now as it did to some of the people around me at the time who thought I had maybe lost my mind.  It makes sense though.  Just for fun here are some reasons why I undertook that project:



A. The Main Real Reasons

1. Just to see if I could do it.

I was working with some similar retirement tools at one point last year. Somewhere in that process I planted a little seed in the back of my head, saying to myself "I wonder if I could whip up this kind of thing myself." About two months later out popped "Hey, I know how to do this" so I sat down and coded out the basic structure to see if I hit any walls, which I didn't. The basic effort took a week or less. All the petty, cumulative increments, in FTE terms, was maybe another week or two.

2. It Staves off Dementia

I guess I could have tried to learn Italian or Chinese.  Or maybe I could have gone to Lumosity.com or something to do all the things we are supposed to do in our late 50s to stave off dementia. I decided to code. This type of thinking gets a deserved eye roll when I try to use it with others.

3. Pique at Bankers and Advisors

I once had a banker offer to run a financial plan, one that I realized later was mostly a MC simulation, for $3,000.00. Are you f*in kidding me?! I've also had advisors pitch services that included some sim-heavy reports. All of that had the end goal of selling me something. My reaction: screw that, I can do that stuff on my own…so I did.


B. Other Incidental Reasons with Vanishingly Small Benefits for all the Effort

4. It's useful as a research tool

I have serious doubts about simulators for financial planning. A model that kicks out a one-time 90% or 85% success rate is more or less meaningless in isolation -- see Moshe Milevsky on this. On the other hand, if one were to have a broad interest in retirement finance or have a generalized interest in one's own plan in the context of a whole bunch of scenarios or maybe as a means of getting at broad measures of risk and/or sensitivity risk, then you're closer to the mark. Not on the mark, just closer.

5. No More Black Box

I now know what is inside these things. I know the assumptions and the weaknesses and the pros and cons. I can step back from the results and ponder what it means because I know who made it and why it might or might not help. That, and I am in full control.

6. Harry Markowitz, father of MPT, Said It Would Help Me

To quote Harry M on simulators and the world of (non-institutional) personal finance: "The exercise of building a realistic game-of-life simulator -- deciding what is essential to the family planning process and incorporating it into a simulator without the severe constraint of producing an analytically tractable model -- should be highly educational, especially to the model builders." [1991] And so it has been. This point is the same as point #5 but Harry gets his own point here because he's Harry.

7. As A Research Tool, It Now Has Infinite Adjustability

Whenever I wish or whenever a new retirement topic or controversy comes up, I can just go change the tool. Longevity is stochastic? (gasp!) change the model. Expected returns are expected to be suppressed for a few decades? (who would've guessed?) Change the model. I don't have to wait and wonder. Anything from major structural changes to minor tweeks are in my own hands.

8. Longevity Is Not What You Think It Is.

Most retirement research, surprisingly, assumes that you are 65 and that you die in precisely 30 years. Bunk. I retired at 50ish or so and I assume that I will live to 95 or 100 (personal habits and behavior notwithstanding!) but really I might live anywhere from 58 to 120. I can mess around with all the internet tools and change the number of (fixed) years and stuff but let's just say this: if one is going to simulate…then one should really simulate, and simulation should include longevity. Let it vary! On the other hand, if one is going to use "an average" for longevity then one might as well stick with a deterministic model all the way. To this end I modeled longevity to vary, and not just randomly but also to fit with an longevity distribution. In this case I used a Gompertz distribution with 88/9.5 for average/dispersion. On average the results might probably the same in the end but I feel better knowing that I am simulating on age as well as everything else. In addition to all of this, since I let age vary, I also get to manage how far all of this goes. It's one thing to allow a distribution to go all the way to 120 or more based on the world's experience with the "oldest to die" but for MY plan I might want to cap it at 105 or 100 or 95. The effect on the final risk calc is likely minor but I get to bend this thing to my will.

9. I can "Tactically Suppress" Returns For a While

Everyone and his brother seems to think that returns will suck in the near future. The CAPE ratio is high, bond yields are low, etc etc. All this is in the press and the air. Look it up. But try to find a [free] simulator that will suppress returns for 10 or 20 years and that will suppress it in a flexible and/or more-or-less mean-reverting way and you will find nothing at all. I get to do that if I want now. Woo hoo...  The impact is pretty big, though.

10. I Can Add Spending Variance to the Model -- because Spending Varies

The 4 % rule says that spending is constant and inflation adjusted. No sir, it is a random and semi-managed variable that after all that is affected by inflation. That random variance can have an impact on long term results because of things like sequence risk and also because of the more than likely negative skew of spending randomness. These considerations might not have a huge impact but I think that a year or two's difference in estimated/simulated sustainability is "material" in my book. I have written on this elsewhere…

11. Spending "Shocks" Exist, Why Aren't they in Simulators?

Go search Dirk Cotton's site TheRetirementCafe.com for articles on spending shocks, chaos, and retiree bankruptcy risk. Then come back and tell me that your simulator is robust. Bankruptcy risk may be more Mandlebrot-ian than it is probabilistic but a simulator can at least attempt to fold in some random big shocks that more-or-less look chaotic. Ever wonder what that stuff would do to your retirement projection in a simulator? I can tell you now. It's not very pretty.

12. The Exact Spending Plan For Me Is Not In There

The free tools (I don't know the "fee" ones very well) have some simplistic assumptions around spending plans. They can be constant or follow rules or adjust in some other way. What they can't [usually] do is match exactly what I think will happen to ME over the next 40 years. I have a unique situation, like you do, and there is almost no way for that to be modeled in simple free tools…until now for me. Also, since I own and control this thing I can change it every day -- if I feel like coding, which I don't anymore -- to change how it works. I kinda like that.

13. How do YOU model bond returns?

It is not so clear how some of these tools model bond returns because they are opaque. Are they yield based? Maybe. If so, that's cool if I never have to liquidate bonds before the maturity date…but if I do or if I happen to use ETFs/funds or if I have a drawdown strategy that pulls from bonds or equities based on some signal other than bond maturity then I will always have some "total return risk," right? Me? I decided to bake in a total return assumption for bonds using what both Wade Pfau and Aswath Damodaran (Stern School) told me in personal correspondence is the proper way to model returns for Fixed Income and it looks like this: bonds(i)=100*(yields(i)./yields(i+1) + (1-yields(i)./yields(i+1))./((1+yields(i+1)/100).^10) - 1 + yields(i)/100). Now I have that and I know where it is and how it is used vs. the opaque black box thing. Also, I get to blend what kind of bonds I use. Do you use corporate? Short term? What? Me I use either 5 or 10 year treasuries as I wish and then I also get to blend in an allocation of short term bills as well. Maybe other simulators do that kind of but I'm not so sure. The impact over 30-50 years and/or 1000s or 10,000s of runs is something I have never looked at yet.

14. I Get to Fine Tune the Sub-details

Most of the better models will make pretty good adjustments in the math for fees and asset allocation and taxes, etc. Me? My modeling is not so great but I do do it and I do have the ability to fine tune it as I wish. The return on investment for the effort to get it exactly right is limited perhaps. Fwiw, Dirk Cotton points out that the planning horizon for retirement gets a wee bit hazy past about one year so maybe this is all nothing to stress over. Who knows?

15. I Get To Control The Number Of Runs And How Much It Costs

This only comes up because of point #3. One of the constraints on me getting good planning (and simulation) service from advisors in the past was that it took a back office team some effort and time and some processing cycles to generate this stuff. That, and they wanted to charge me for it. By building my own tool, I took that issue off the table. I can run as many cycles and simulations as I wish and I have almost zero latency. I don't wait any longer to get some pre-pack US mail or email a month later that I then need to decode (and pay for). I just run it as I wish as many times as I want with as many simulations as I have patience for. Free internet tools, of course, sometimes provide this as well.

16. Ever Looked At The History Of US Returns?

I happen to bootstrap returns using historical data from the early 20th century to 2015. There are pros and cons to doing that but once accepted one has to realize that returns in the early 20th century could be pretty high (and low) sometimes. That's fine but we live in a world where returns have not always been that high on average over the last 200+ years. We also live in a world where we are not expecting equity or bond returns to be particularly high in the next 10 or more years. I get to manage that assumption down a bit.

17. I Have Access To The Output.

Maybe the fee-based tools and advisors have the ability to give you the output of all these simulations but I seriously doubt it. Do you need it? Probably not but from a research perspective (maybe not so much for serious planning) it is useful to have it. I realize in advance that almost ALL of the bad results will come back to the issues of: a) bad returns in an unluckily bad sequence early, b) longer life than average, c) high inflation, and d) high spending during those bad times…I just want to see it. (sometimes…not too often, really)

18. I Get To Stay Very Close To Planning, Closer Than The Advisors Let Me in '09-10

I realize there are tons of tools out there both free or otherwise but the closer I can stay on top of things with strong, flexible tools that are in my own hands, the better. My advisors in 2009 and 10 kept these kinds of tools at a little bit of a distance from me. The problem was that I was so close to shooting myself in the foot in 2011 in terms of retirement fail rates that I now feel like I need to be better than average on this stuff and I don't trust anyone other than me to own and control any of it. And now I do.

19.  How Do You Feel About Correlation Between Stocks and Bonds in Your Model?

Most models have zero correlation between stocks and bonds (forget about return autocorrelation for a moment).  Using historical data I try to force a correlation between S & B.  It's not perfect but what is? In the end it maybe cramps the style of the simulator by limiting choices for randomness but at least it is not as bad as a historical simulator that can't handle 40year retirements as well as it handles 25.

20. Performance Tuning, Sadly, Is Necessary So I Get To Do That Too

I'm not a coding genius so what I ended up with does not work all that well in terms of processing time. With a full load of logic in Excel and VB (yeah, yeah, I know…) and too much stuff in memory, 10,000 runs can take a while…or fail for that matter. It is a small consolation that I can manage the performance by all tricks available to an amateur with a simulator. I'm thinking this is not a benefit to having a self managed Sim but there it is.




No comments:

Post a Comment