Asset Allocation Cross Validation

This document reports on the cross validation of the new AACalc asset allocator using Merton's method against the old AACalc asset allocator which uses stochastic dynamic programming.

The results are not expected to be identical. The new asset allocator takes a number of computational shortcuts in order to solve the problem quickly. In particular there isn't a known solution for the amount to consume in Merton's portfolio problem for many assets and a stochastic lifespan. The new asset allocator generates allocations outside the range 0-100% which it has to then try and correct, while the old asset allocator handles this constraint directly. Additionally, the new asset allocator assumes lognormally distributed returns, while the old allocator used the historical returns distribution. The old asset allocator is unable to handle contribution volatility. And the new asset allocator assumes the return on liability matching bonds does not decrease with age.

default parameter values
age=65
retirement_age=50 - already retired
sex=male
sex2=none - an individual not a couple
db=15k - annual Social Security
p=200k - portfolio size
accumulate=0 - pre-retirement periodic contributions
contrib_vol=1% - contribution volatility
stocks=7.2%+/-17% - arithmetic annual return and volatility
bonds=0.8%+/-4%
corr=7% - stock/bond correlation
yield_curve_date=2015-12-31 - used for liability matching bonds
expense=0% - equity and bond management fees
purchase_income_annuity=false - no annuitization recommendations
gamma=4 - coefficient of relative risk aversion

The results of the two asset allocators are shown below:

stocks consume parameters
SDP AACalc difference SDP AACalc difference
100% 100% 0% 27,319 26,522 -3% default
n.a. 100% n.a. 15,000 15,000 0% p=0
53% 54% 1% 8,767 8,491 -3% db=10
100% 100% 0% 26,769 26,522 -1% gamma=2
94% 80% -14% 26,643 25,735 -3% gamma=6
100% 100% 0% 21,242 21,087 -1% p=100k
92% 80% -12% 43,181 40,166 -7% p=500k
100% 100% 0% 27,804 27,664 -1% stocks=8.7%+/-20%
85% 100% 15% 27,184 26,522 -2% bonds=3.2%+/-4%
100% 90% -10% 32,132 26,166 -19% age=90, p=100k
95% 93% -2% 36,476 38,214 5% age=50, p=500k
100% 100% 0% n.a. 37,246 n.a. age=50, retire=65, accumulate=3000*1.07^y
97% 88% -9% n.a. 60,303 n.a. age=25, retire=65, accumulate=500*1.07^y
83% 81% -2% 43,596 40,172 -8% desired=40k, p=500k
100% 100% 0% 26,278 26,255 -0% female
100% 100% 0% 55,464 54,712 -1% sex2=female, p=500k

Since an 80% confidence interval for asset allocation spans a whopping 40-50%, the accuracy of the asset allocation recommendations of the new allocator are more than good enough. The discrepancy for bonds=3.2%+/-4% is a result of the allocator thinking bonds serve a similar role to defined benefits, and assuming bonds can be directly reduced to compensate for defined benefits.

The consumption recommendations are reasonably accurate. They lose accuracy at advanced ages where life expectancy is very short. The slight tendancy to under consume isn't a big deal as any surplus will be available for consumption in subsequent time periods.

For typical scenarios, as shown above, the allocation to stocks is close to 100%. To check whether results are comparable when this is not the case we prepared a second set of results for affluent scenarios.

stocks consume parameters
SDP AACalc difference SDP AACalc difference
77% 67% -10% 67,040 61,435 -8% p=1000k
53% 54% 1% 43,762 42,404 -3% p=1000k, db=10
100% 100% 0% 74,092 65,704 -11% p=1000k, gamma=2
54% 45% -9% 60,699 57,681 -5% p=1000k, gamma=6
69% 59% -10% 68,232 63,160 -7% p=1000k, stocks=8.7%+/-20%
50% 67% 17% 69,003 66,537 -4% p=1000k, bonds=3.2%+/-4%
81% 64% -17% 77,213 67,700 -12% p=500k, age=90
64% 56% -8% 107,958 94,264 -13% p=2500k, age=50
72% 62% -10% n.a. 86,794 n.a. p=1000k, age=50, retire=65, accumulate=3000*1.07^y
76% 64% -12% n.a. 93,271 n.a. p=500k, age=25, retire=65, accumulate=500*1.07^y
100% 94% -6% 143,324 135,272 -6% p=2500k, desired=40k
77% 69% -8% 63,619 59,693 -6% p=1000k, sex=female
73% 65% -8% 141,995 136,487 -4% p=2500k, sex2=female
64% 59% -5% 135,068 125,032 -7% p=2500k

Again there is reasonably good agreement, with the biggest discrepancies being for high bond returns and at advanced ages.