As prices move, actual weights drift from targets. Rebalancing is a contrarian mechanism — sell winners, buy losers — that harvests the diversification return. Two approaches: calendar (monthly, quarterly) and threshold (rebalance when drift exceeds a band).
Ten years of simulated monthly returns on a 60/40 portfolio. A threshold rule — trade back to 60/40 only when stocks drift more than 5 points away — trades just 3 times. Left alone, the same portfolio ends at 45/55: in this run stocks lagged, and doing nothing would have quietly halved the gap between them and bonds. Drift can go either way; the point is that it is not a choice.
- Rebalancing controls risk; it does not reliably add return. When one asset trends for years, it sells the winner all the way up.
- The “diversification return” from rebalancing is real but small, and depends on volatility and low correlation (Booth & Fama 1992).
- Costs and taxes make tight bands expensive; most of the risk control comes from wide bands checked now and then (Jaconetti, Kinniry & Zilbering 2010).
rng = np.random.default_rng(5)
r = np.column_stack([rng.normal(0.008, 0.045, 120), rng.normal(0.003, 0.012, 120)]) # ten years, monthly, simulated
target, band = np.array([0.6, 0.4]), 0.05
w, trades, drift = target.copy(), 0, target.copy()
for m in r:
w = w * (1 + m); w /= w.sum() # weights drift with returns
drift = drift * (1 + m); drift /= drift.sum() # never rebalanced
if abs(w[0] - target[0]) > band: # threshold rule: back to 60/40 when 5 points off
w, trades = target.copy(), trades + 1Assumes import numpy as np and import pandas as pd. Each snippet carries its own example numbers; the comments say which are made up or simulated.
- D. G. Booth & E. F. Fama, “Diversification Returns and Asset Contributions”, Financial Analysts Journal 48(3), 1992
- C. M. Jaconetti, F. M. Kinniry Jr. & Y. Zilbering, Best Practices for Portfolio Rebalancing, Vanguard research, 2010
Last reviewed October 2026 · How this site checks its content · Report a mistake