Tools › Investing › Portfolio and Risk › Portfolio Rebalancing › Example
Rebalancing four holdings to their targets: full rebalance and new cash only (water-filling)
| Tool | Portfolio Rebalancing |
| Source | Illustrative portfolio (not market data). The new-cash-only allocation is the minimum of the squared drift with no sales, whose solution has the water-filling form; see Boyd, S., and Vandenberghe, L. (2004). Convex Optimization. Cambridge University Press, Cambridge. |
| Level | Undergraduate |
Problem
A portfolio holds a US stock fund worth 62,000 (target 50 %), an international stock fund worth 15,000 (target 20 %), a bond fund worth 20,000 (target 25 %) and a money market fund worth 3,000 (target 5 %). 5,000 of new cash is added. Find the current weights and drifts, the trades of a full rebalance, and the purchases that come closest to the targets when nothing is sold.
Inputs to Enter
- Holdings (value, target): US Stock Fund 62,000, 50 %; Intl Stock Fund 15,000, 20 %; Bond Fund 20,000, 25 %; Money Market 3,000, 5 %
- New cash 5,000; method: full rebalance, then new cash only
- Advanced: share prices 250, 62.50, 80 (money market traded in any amount); cost basis 40,000, 13,500, 21,000, 3,000; tax on gains 15 % (illustrative)
Answers
- V = 100,000; current weights 62, 15, 20, 3 %; drifts +12, −5, −5, −2 points
- T = 100,000 + 5,000 = 105,000; target values 52,500, 21,000, 26,250, 5,250
- Full rebalance: sell 9,500 of the US fund; buy 6,000, 6,250 and 2,250 of the others; total traded 24,000 = 22.86 % of the portfolio; every weight ends at its target
- New cash only: shortfalls ranked 6,250 (bonds), 6,000 (international), 2,250, −9,500; L = (6,250 − 5,000) / 1 = 1,250 is below 6,000, go on; L = (12,250 − 5,000) / 2 = 3,625 is not below 2,250, stop
- Buy 6,250 − 3,625 = 2,625 of the bond fund and 6,000 − 3,625 = 2,375 of the international fund; weights after 59.05, 16.55, 21.55, 2.86 %; both funds bought end 3.45 points below target; largest drift +9.05 points
- Advanced, full rebalance: sell 38 shares, buy 96 and 78 shares (6,240), cash left 10.00; gain realised 9,500 × (62,000 − 40,000) / 62,000 = 3,370.97; estimated tax 505.65
Notes
The tool's default inputs are this portfolio; press Submit, then choose New cash only. The numbers are the tool's own calculation, checked by hand and against an independent scipy minimisation of the squared drift (test_portfolio_rebalancing.php). The portfolio is made up; the example is not a published one, and the page describes the arithmetic without recommending a mix, a band or a trade.