May 19, 2017

A Practical Application of Geometric Return Analysis: Retiring My Alt Risk Strategy [updated]

I recently updated my LinkedIn profile to "retired." [1] I did this mostly -- tongue in cheek -- to satisfy my girlfriend's need for me to say I'm retired rather than working as an active private investor (she's still working so me saying "I'm working" is a trigger).  But if I am going to retire I should really retire and hang up the active investing thing which is mostly me running my systematic alt risk strategy.  While it has been incredibly efficient over the last three or four years[2] it is a little like riding a bike in first gear: a lot of energy and motion for minor forward progress.  No reason not to at least consider hanging it up.

Since it is accretive, though, I need to either keep doing it or I need to replace it with something that is at least no worse.  And by worse I mean in the retirement finance sense.  I define that as: my cumulative return after a series of N "games" (really years; I was trying to get fancy there) net of consumption has to be about the same in the replacement strategy as it is in the baseline strategy.  N is a retirement milestone in the future I'll define later, returns are cumulative geometric, and consumption is spending of course. One could argue that at the margin there is no consumption if I am more than fully funded but where would the fun be in that since the consumption constraint makes it way harder.  


Since we are going down the geometric return route, which I think we should, we should stipulate that there are time effects on the cumulative return if volatility is present. I wrote about that here, here, here, here, here, here, and here. That means that I have to be careful. When shelving my strategy, since the strategy is currently so efficient, there is no place to go (I think) but up in vol for the same return in a replacement strategy.  That means that by definition the N period return/outcome will be lower. So to get to the same place at N I'll need higher return but what return and what vol gets me to the same place and then what happens if there is consumption?

Without either consumption or N, this would be relatively easy to solve analytically. An approximation[3] for geometric return over a long horizon might be G = r + V/2 so that one can easily do the math. (there are other estimations and ways to do this. See Mindlin, Michaud, etc). But we are concerned with finite years so I'll use what Michaud uses in at least one place for estimating the expected value of geo returns for timeframes less than infinity: E(G[N](r)) = u - ((1-1/N)*V)/2.  Even here there is still an analytical solution for getting to an equivalent outcome at N. But when we add consumption, I'm less sure we can do this in a simple analytic way, though there might be.  So with consumption added in I'll use r-script simulation and a formula like this which is explained better here:


Let's set it up like this.

If:

 - (pay attention here, these are some big sketchy ifs)
 - I retire I will abandon my strategy for something equal or better
 - I will look at new strategies with higher return 8, 8.5, 9, 9.5% to account for higher vol
 - Age 75 is an optimal age to annuitize so returns only serve me for ~15 years (N=15)
 - My baseline over last 36-48 months has been 7.5%/4.5% return/standard deviation
 - My baseline (falsely and/or optimistically) could continue forever
 - My spend rate (aspirationally, anyway) is .03
 - I have understood, interpreted, and applied the math correctly
 - I have coded the program correctly

Then:

 - How much vol at each higher return level can I tolerate to get to N in as good of shape as I would have with the baseline strategy?


Good question.  Before we get to the consumption thing I mentioned let's look at N-period geo math using the Michaud "finite period" estimator.  Over 25 periods, say, we can estimate the geometric return for the baseline at each time t and then for each level of return in the new strategy we can solve for the vol that gets the return difference to zero at t=15.  For example, on a chart, with the new return = .095 it'd look like this:

and, if I got it right, the table of results would look like this

return     maxvol
.075       .045
.080       .113
.085       .153
.090       .185
.095       .212

Lower vol at each return level would have a higher cumulative return (good) and vice versa (bad).  Now lets throw in consumption.  In this case I simulate a pair of return distributions (baseline and new) and calculate the outcomes in terms of geometric returns net of consumption using the formula above which requires working backwards in each successive period to get the current cumulative consumption effect[4]. I think I explained this better in a previous post.  I simulate 10000 times to get a stable expected value and then I squint at the chart and guess the cross-over period and adjust the vol to get to crossover at t=15 by successive trial and error.  This is pretty bush league and maybe there is a better way but it'll work ok for this post.  I won't impress any professors with that method.  When the sim is run at each level of return and the sketchy trial an error is applied, the chart for, say, .085 return where the crossover at around t=15 (which occurred with vol = .141) looks like this:



And the table of results (with consumption) is now:

return     maxvol
.075       .045
.080       .107
.085       .141
.090       .172
.095       .192


If I combine the two tables I can get an idea of what kind of return distribution I might need to replace my strategy IF any of my ifs make sense.  As I go up in return expectations the replacement strategy should have the charted volatility expectation or lower (Note, by the way, that my trial and error method worked pretty well, imho) (note also that I am doing this before considering that the new strategy will probably cost me 60-150 basis points more than what I'm doing now):



Does this make sense?  Maybe in pure math or "R" world but I think there are concerns above and beyond my implausible assumptions and sloppy execution (ignoring a minor crisis of confidence that I had even conceived of this thing the right way).  Is it even achievable? Sure but it all depends on what you "expect." The etf SPY, for example, might work with it's expected vol somewhere between 15 and 20, right? But where are you setting your return expectations? Depending on the look-back period it could be anything between 6 and 12% give or take.  I think the long-long term estimate is 6.9% so we'd have to look elsewhere for a replacement.  Even if we could combine some set of assets into something that met the criteria above (and I'm sure we can in another post), we have to realize that the chart above is in expected value terms and simulated over 10000 runs. Any one run, as in real life, could be wildly divergent at t=15 and take us far far far away from our goal.  And N=15 was a convenience in the first place anyway so maybe it's 20 or 25 in which case all bets are off unless I do this analysis again, which I wont.   In the end I'd probably do what I'm actually supposed to do which is not necessarily the post above . I should merely make sure that any new strategy is at least accretive to my EF with respect to my non-alt-strategy portfolio and ignore whether it is better worse than my baseline alt strategy.  That's hard enough to do but probably easier than what I'm trying to accomplish here.  At least I gave it a shake.


Postscript

Actually I did go back and move N out.  I thought that since I am 58 and that mortality is in the mid 80s on average an N of 25 is worth looking at.  Here is the trial and error sim results when N=25 and there is .03 in consumption.


Predictable.

return     maxvol
.075       .045
.080       .101
.085       .136
.090       .164
.095       .182

The ability to find something after moving N out (and again, we have not yet considered fees) gets harder.


Second Postscript

In real life it would be much easier than I am making it here.  The low volatility of the baseline was kind of its own virtue.  To replace it, again making the fraudulent assumption that I could achieve the return distribution of 7.5/4.5 forever, I would just look for something with the same expectation of volatility and that has the same or higher return as my baseline. Done.  Except that I'm pretty sure that is not possible. That means, all else equal, I accept lower return. How much lower? Probably somewhere between 7.5% and the boundary of an honestly drawn multi-asset forward looking efficient frontier, though in fact what we are talking about is any return expectation above the frontier at about the .045 std dev level.  That's the goal and much easier to understand and discuss.

Third Postscript 5/30/17

Just out of curiosity I thought I'd put it in efficient frontier context just to better see what it all means.  I used some bogus assumptions for a two asset EF.  The region above at least one of the dotted lines (actually the higher of the EF or the dotted) is apparently what I unrealistically want to replicate.  Good luck with that for me. Not only is it probably a wee bit optimistic but the EF itself is unstable or at least not without its own variance or even if not without variance very very subject to the input assumptions.  In the end there is no real analytical solution, just an ongoing quest for "up and to the left."





------------notes-------------------------
[1] Retire only to immediately commit to un-retiring...

[2] it's been running at about a 7.5% compound return lately with a 4.5% standard deviation...actually vol is less than that, closer to 4, but I wanted to be conservative here and I already ran some sims using 4.5 and I'm not going back.

[3] I am eliding some more precise language and definitions just to get thru the post. I might come back and clean this up later. If an alert reader sees any errors, of which there have to be at least a few, let me know and I'll update and credit.

[4] The astute will realize this is really a type of Monte Carlo simulator in another guise. In fact I could probably do the same analysis in my MC simulator that is being done here it's just that that tool is over-engineered for the present task and I had a simple R-script ready to roll from a past post.

No comments:

Post a Comment