Here is the long-awaited conclusion to the wonky 4-part discussion of safe retirement spending. We went pretty far down the rabbit hole, and I think the conclusions are useful.

(more…)

Here is the long-awaited conclusion to the wonky 4-part discussion of safe retirement spending. We went pretty far down the rabbit hole, and I think the conclusions are useful.

(more…)

In the last part of our look at dynamic rules for spending in retirement, we discussed how changing the allocation between stocks and bonds affects the maximum sustainable spending rate. We can summarize this relationship by plotting the highest feasible initial spending rate for any acceptable shortfall level.^{1}

(more…)

The last post discussed a framework for evaluating simple dynamic spending rules.

- We defined a spending factor
*s*as spending each year at a rate of*s*/(remaining life expectancy); and*lifetime spending expectancy*as the total amount you could expect to spend over your lifetime. - We showed how, as you increase the spending factor,
*lifetime spend expectancy initially increases rapidly*, but the curve*flattens out*as spending rate increases. - We showed how, as you increase the spending factor,
*shortfall risk initially increases slowly*, but the curve*steepens*as spending rate increases.

We found a simple dynamic spending rule could increase lifetime spending vs. a traditional fixed 4% rule, while keeping shortfall risk relatively low (arguably reducing risk by making the worst case more benign, at the cost of increased volatility, lowered starting spending, higher probability of modest shortfalls).

In this post we’ll look at how smoothing spending can improve outcomes, and how changing the equity/bond mix over time affects outcomes.

(more…)

How much can you safely spend out of a portfolio in retirement? Spend conservatively and you may be unnecessarily curbing the lifestyle and aspirations of you and your loved ones. Overspend and risk a shortfall and painful adjustment – in the extreme, the (hopefully apocryphal) “cat food” diet.

A traditional rule of thumb is a fixed 4% per year of your starting portfolio, adjusted each year for inflation. A previous post discussed why this rule may not be safe:

- Low bond yields – 1.8% for 10-year Treasurys and negative TIPS out to 10 years – mean historical bond returns are mathematically unobtainable.
^{1} - 2.2% real returns since 2000 on a 60/40 blended portfolio suggest that long-run return expectations need to be revisited. Low long-term interest rates are a forecast of low future returns, ie low growth and inflation expectations. To the extent equity risk premiums haven’t widened, they forecast lower than normal equity returns.
- Taxes and investment expenses must be included. Work supporting 4% tends to ignore them.
- US demographics are not very positive for growth, inflation, tax rates, and hence, real after-tax investment returns (which is reflected in the US fiscal position). The US dependency ratio is forecast to rise by 15 points over the next 20 years.

If the 4% rule hasn’t been decisively breached, forward-looking indicators are a bit worrisome. Could a more flexible rule not only be safer, but in favorable circumstances allow a higher level of spending? In this 3-part post, we test dynamic rules that vary withdrawal rates based on age and the size of the portfolio, and vary the composition of the portfolio over time.

(more…)

*It’s not whether you get knocked down, it’s whether you get up. – Vince Lombardi*

Playing around with DataNitro, an add-in that lets you run Python in Excel^{1}.

What is the worst that could happen to someone who owns stocks, bonds, bills, over a 1-, 5-, 10-year time-frame? Here are the worst rolling periods for each asset class for 1928-2010, adjusted for inflation.

Stocks |
Bonds |
Bills |
||||

1-year | -38.2% | 1937, 1974 |
-15.5% | 1980 |
-17.8% | 1946 |

2-year | -52.5% | 1972-1974 |
-26.2% | 1978-1980 |
-24.6% | 1945-1947 |

5-year | -44.7% | 1936-1941 |
-37.5% | 1976-1981 |
-27.3% | 1945-1950 |

10-year | -37.5% | 1964-1974 |
-43.2% | 1971-1981 |
-43.9% | 1940-1950 |

20-year | 10.7% | 1961-1981 |
-40.8% | 1961-1981 |
-48.9% | 1932-1952 |

30-year | 243.5% | 1964-1994 |
-39.3% | 1950-1980 |
-43.4% | 1932-1962 |

*Worst case real returns for rolling periods from 1 to 30 years, 1928-2010*

Over short timeframes, stocks can do quite a bit worse. The worst 2-year period is -52.5% for stocks, v. -26% for bonds and -25% for bills. Around year 8, stocks cross over. The worst 20-year period for stocks sees you up 10.7%, and the worst 30-year period sees you up 243%! When bonds and bills get hurt by inflation, they stay down for very long periods.

Rerunning the analysis for the post-war era doesn’t change much. Most of the worst-case periods for stocks and bonds were after 1946, but bills did worst around the war and better afterwards.

*Worst case real returns for rolling periods from 1 to 30 years, 1946-2010*

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | import numpy as np # not used in this example, but works! def rolling_return(series, n): "given a series of m returns, compute m-n rolling n-period returns" m = len(series) retarray = [] for i in range(m-n+1): rr = 1.0 for j in range(n): rr = rr * (1+ series[i+j]) retarray.append(rr-1) return retarray active_sheet("Returns") stocks = CellRange("Equities").value bonds = CellRange("Bonds").value bills = CellRange("Bills").value cpi = CellRange("CPI").value realbonds = [bonds[i]-cpi[i] for i in range(len(cpi))] realbills = [bills[i]-cpi[i] for i in range(len(cpi))] realstocks = [stocks[i]-cpi[i] for i in range(len(cpi))] active_sheet("Data_1928") for i in range(1,31): tempbonds = rolling_return(realbonds,i) tempbills = rolling_return(realbills,i) tempstocks = rolling_return(realstocks,i) Cell(i+1,2).value = min(tempstocks) Cell(i+1,3).value = min(tempbonds) Cell(i+1,4).value = min(tempbills) active_sheet("Data_1946") realbonds46=realbonds[18:] realbills46=realbills[18:] realstocks46=realstocks[18:] for i in range(1,31): tempbonds = rolling_return(realbonds46,i) tempbills = rolling_return(realbills46,i) tempstocks = rolling_return(realstocks46,i) Cell(i+1,2).value = min(tempstocks) Cell(i+1,3).value = min(tempbonds) Cell(i+1,4).value = min(tempbills) |

^{1}Why is Python a good thing? Lots of very powerful packages for data manipulation, optimization, statistical analysis, machine learning are available in Python. Also, Python is a powerful, expressive, readable language that makes it easy to manipulate complex data structures.

If ‘The Graduate’ were made today, Benjamin Braddock might hear a well-meaning uncle stage-whisper ‘Big Data’ instead of ‘Plastics.’ (Runners-up: ‘The Cloud’, ‘Social Discovery’, ‘Gamification’, the list goes on.) ‘Big data’ is a buzzword that people throw around a lot. What does it mean? Large data sets are not new. The IRS, the Census, Walmart, money center banks have always had big data sets.

What’s changed?

(more…)

I didn’t really post as much as I would have liked this year. I envy people whose thoughts come out in a more or less coherent, finished form. When I post something, I always think of what I really wanted to say after hitting ‘publish’.

Today, I’m going to just try to write for an hour and post what comes out, hopefully resisting the temptation to ninja-edit.

My buddy Josh does a post with quotes where a bunch of people say what they learned over the last year. So what did I learn?

(more…)

*The first casualty when war comes is truth. – Hiram Johnson*

*Everybody talkin’ to their pockets
Everybody wants a box of chocolates
And a long-stemmed rose
– Leonard Cohen
*

Let’s talk a little about social capital.

According to studies, Greeks work the longest hours in Europe, and their retirement age is in the middle of the pack. Same goes for a lot of developing countries, and even some US inner cities. People work themselves to the bone, and they don’t get ahead.

Why are those countries in such a mess?

(more…)

So, some people are talking about Hurricane Sandy putting people back to work, and others are pointing out that this is the ‘broken windows fallacy.’ True, a massive superstorm is usually not a good thing. Nevertheless, three quick points.

(more…)

The Paul Ryan plan *‘Promotes saving by eliminating taxes on interest, capital gains, and dividends; also eliminates the death tax.’*

So people like Mitt Romney, and all his heirs in perpetuity, would never pay another dime in income tax. How sweet is that? How fair is that?

It’s shocking that in this day and age, someone could make such a proposal, and be considered a serious person and politician.

The GOP has come an awful long way from its founder, who said, *“Capital is only the fruit of labor, and could never have existed if labor had not first existed. Labor is the superior of capital, and deserves much the higher consideration.”* – Abraham Lincoln