2024 was another very good year for US stocks. The S&P 500 returned 25.0% including dividends, after 26.3% in 2023. Bonds did far less: the Bloomberg US Aggregate index returned about 1.3%. If you set a 60/40 portfolio on January 1st and did nothing, you are not holding a 60/40 portfolio anymore.
The gains were also narrow. According to First Trust, the "Magnificent 7" (Apple, NVIDIA, Microsoft, Amazon, Alphabet, Meta and Tesla) averaged 30.6% of the S&P 500 in 2024, the highest concentration on record in their data, and accounted for 53.7% of the index's return. Only 28% of the index members beat the index. An S&P 500 fund today is a bigger bet on a handful of large tech companies than it was a few years ago, whether you meant to make that bet or not.
That is what rebalancing is for. It is not a way to beat the market. It is the maintenance step that keeps the risk you actually hold equal to the risk you decided to hold. This cheatsheet covers the methods, the math, the tax-aware way to do it, the myths, and a short Python script for the annual check.
Educational content, not financial advice.
1. What rebalancing is (and is not)
| Term | Meaning |
|---|---|
| Target allocation | The weights you chose for each asset class, e.g. 60% stocks / 40% bonds. The real decision; everything else is maintenance. |
| Drift | Current weight minus target weight. Assets that outperform grow their share, so drift follows recent winners. |
| Band / tolerance | How far a weight may drift before you act, e.g. plus or minus 5 percentage points. |
| Rebalancing event | Trading (or redirecting cash) to bring weights back toward target. |
| Turnover | How much of the portfolio you trade. A proxy for costs and taxes. |
Vanguard's research puts the goal plainly: the primary goal of rebalancing is to minimize risk relative to a target asset allocation, not to maximize returns. Keep that in mind when reading anyone's backtest.
What happens if you never rebalance? In Vanguard's 1926-2009 study of a 60/40 portfolio:
| 60/40 portfolio, 1926-2009 | Rebalanced monthly | Never rebalanced |
|---|---|---|
| Average equity allocation | 60.1% | 84.1% |
| Maximum / minimum stock weight | 68% / 52% | 99% / 36% |
| Final stock weight | 61% | 98% |
| Average annualized return | 8.5% | 9.1% |
| Volatility | 12.1% | 14.4% |
The never-rebalanced portfolio earned more, because stocks earn more than bonds over long periods, but it slowly became an all-stock portfolio. That extra return was payment for risk the investor never chose.
2. Drift math
After one period, each weight moves in proportion to its own return relative to the whole portfolio:
- new weight of asset i = w_i x (1 + r_i) / sum over j of w_j x (1 + r_j)
A 60/40 portfolio through 2024, using 25.0% for stocks and 1.25% for bonds:
- Stocks: 60 x 1.25 = 75.0
- Bonds: 40 x 1.0125 = 40.5
- New stock weight: 75.0 / 115.5 = 64.9%
Nearly 5 points of drift in one year, with no action taken. Two useful rules of thumb follow from the formula:
- Drift is driven by the return gap, not the level. If stocks and bonds both return 10%, nothing drifts. A 24-point gap like 2024 moves a 60/40 portfolio by about 5 points.
- Drift compounds. A second year like that, without rebalancing, pushes the same portfolio toward 70% stocks. Multi-year bull markets are exactly when portfolios get quietly riskier.
Concentration drift happens inside an asset class too. A cap-weighted index fund rebalances itself by definition (weights follow market caps), so you do not "fix" Mag 7 concentration by rebalancing an S&P 500 fund. If it bothers you, that is a target allocation question (e.g. adding equal-weight, small-cap or international exposure), not a rebalancing one.
3. The three methods: calendar, threshold, hybrid
| Method | Rule | Pros | Cons |
|---|---|---|---|
| Calendar (time-only) | Rebalance on a fixed date: yearly, semiannually, quarterly | Simple, easy to automate, few decisions | Trades even when drift is tiny; ignores big moves between dates |
| Threshold (band-only) | Rebalance whenever a weight leaves its band | Trades only when needed | Requires frequent (in theory daily) monitoring |
| Hybrid (time-and-threshold) | Check on a schedule; trade only if a weight is outside its band | Few trades, bounded drift, low effort | Can miss a short-lived excursion between checks |
Vanguard's results for a 60/40 portfolio, 1926-2009 (no taxes, no new contributions):
| Strategy | Rebalancing events | Annual turnover | Return | Volatility | Avg. equity |
|---|---|---|---|---|---|
| Monthly, 0% threshold | 1,008 | 2.7% | 8.5% | 12.1% | 60.1% |
| Annual, 0% threshold | 83 | 1.7% | 8.6% | 11.9% | 60.5% |
| Annual, 5% threshold | 28 | 1.6% | 8.6% | 11.8% | 60.7% |
| Annual, 10% threshold | 15 | 1.4% | 8.7% | 12.1% | 63.0% |
| Never | 0 | 0.0% | 9.1% | 14.4% | 84.1% |
The conclusion of the paper: risk-adjusted returns are not meaningfully different whether you rebalance monthly, quarterly or annually, but the number of trades and their costs rise sharply. Its recommendation for most diversified stock and bond portfolios is annual or semiannual monitoring, with rebalancing at 5% thresholds, and annual rebalancing when taxes or significant costs are involved.
4. Bands: 5/25 and relative bands
A single "5 points" band works for big allocations but is useless for small ones: a 5% gold allocation could go to zero before triggering. Two common fixes:
The 5/25 rule (popularized by Larry Swedroe): rebalance when an asset drifts by 5 percentage points or 25% of its target, whichever is smaller.
| Target | 5 points | 25% of target | Band used | Rebalance outside |
|---|---|---|---|---|
| 60% | 5.0 | 15.0 | 5.0 | 55% - 65% |
| 35% | 5.0 | 8.75 | 5.0 | 30% - 40% |
| 15% | 5.0 | 3.75 | 3.75 | 11.25% - 18.75% |
| 5% | 5.0 | 1.25 | 1.25 | 3.75% - 6.25% |
Run 2024 through it: the 60/40 portfolio drifted to 64.9% stocks, just inside the 65% edge. A two-asset portfolio may not need a trade this January. A portfolio with a 15% international stock sleeve (which lagged US stocks again in 2024) is more likely to have crossed its narrower band.
Relative bands (e.g. plus or minus 20% of each target): Gobind Daryanani's 2008 study, "Opportunistic Rebalancing", found that looking often (as often as every two weeks) but trading only when an asset is outside a wide 20% relative band, and only rebalancing the assets that are out of line, roughly doubled the rebalancing benefit of traditional annual rebalancing in his data. The takeaway that holds up: how often you look and how often you trade are separate decisions. Look often if it is cheap to look; trade rarely.
5. Tax-aware rebalancing
In a taxable account, selling winners realizes capital gains. After two strong years, the winners have big gains. Order of preference, cheapest first:
| Step | How | Tax cost |
|---|---|---|
| 1. Redirect new cash | Send contributions, dividends and interest to the underweight assets | None |
| 2. Rebalance inside tax-advantaged accounts | Sell and buy inside 401(k), IRA or your country's equivalent | None at trade time |
| 3. Use withdrawals | If you are spending from the portfolio, sell from the overweight assets first | Taxes you would pay anyway |
| 4. Pair with losses | Sell lots with losses to offset gains (mind wash sale rules in the US) | Reduced or zero |
| 5. Sell high-basis or long-term lots | Choose specific lots: highest cost basis, held over a year | Lower, long-term rates |
| 6. Sell anything | Last resort | Full gain |
Vanguard's 2010 paper tested step 1 alone: a 60/40 portfolio that just redirected its dividends and interest to the underweight asset (no trades) had zero rebalancing events, zero turnover, and 11.3% volatility, close to the risk control of the trading strategies. Its caveat: dividend and interest yields over 1926-2009 were higher than they may be in the future, so new contributions and withdrawals matter more today.
Practical points:
- Think in household allocation, not per account. Your target is for the total portfolio. Put the trades where they cost nothing (step 2), even if each account on its own looks lopsided.
- New money has limits. Early in your career, contributions are large relative to the portfolio and can do all the rebalancing. Later, a year of contributions may be too small to fix a 5-point drift.
- Short-term gains cost more. In the US, assets held one year or less are taxed at ordinary income rates; over a year, at lower long-term rates. Check the holding period of the lots you sell.
6. Costs, and how far to rebalance
Every rebalance has costs beyond commissions:
| Cost | Example | Reduce it by |
|---|---|---|
| Taxes | Realized gains in taxable accounts | Section 5 |
| Spreads and fees | Bid-ask spreads, fund purchase or redemption fees | Using liquid funds, fewer and larger trades |
| Time and attention | Doing the math, placing trades | A once-a-year routine and a script |
| Behavior | Second-guessing the plan mid-trade | Written rules decided in advance |
Rebalance all the way to target, or only to the band edge? Vanguard's rule: when costs are mostly fixed per event (your time), go back to target, so you trade less often. When costs are proportional to trade size (taxes, commissions), go back only to the nearest band edge, so each trade is small. With both kinds, aim somewhere in between.
7. The rebalancing bonus and other myths
The rebalancing bonus is a real effect with narrow conditions. William Bernstein (1996) showed that rebalancing between assets with high volatility and low correlation can earn more than the weighted average of their returns, because you systematically sell what went up and buy what went down. It works best when the assets have similar long-run returns.
| Myth | Reality |
|---|---|
| "Rebalancing boosts returns." | Between stocks and bonds it usually lowers return, because it keeps selling the higher-returning asset. Vanguard's never-rebalanced portfolio earned 9.1% vs. 8.5%. You are buying lower risk. |
| "More frequent is better." | Monthly vs. annual made no meaningful difference to risk-adjusted returns in Vanguard's data, at 12 times the trades. |
| "Rebalancing is market timing." | The opposite: it is a rule written in advance that ignores forecasts. Market timing is deciding not to rebalance because "this time tech keeps going". |
| "Rebalancing fixes concentration in my index fund." | It only moves money between your asset classes. Concentration inside a cap-weighted fund is a target allocation choice. |
| "After a 25% year I should sell everything that went up." | Only the drift outside your bands needs action, and often new cash is enough. |
| "Never rebalancing is fine for the long run." | Fine if you want to end at 98% stocks. Most people find out they did not want that during a crash. |
8. A small Python drift and rebalance calculator
No libraries needed. It applies the 5/25 rule, shows the full rebalance, and shows a cash-only version that never sells:
TARGET = {"US stocks": 0.45, "Intl stocks": 0.15, "Bonds": 0.35, "Cash": 0.05}
HOLDINGS = {"US stocks": 61_000, "Intl stocks": 14_500, "Bonds": 36_000, "Cash": 4_500}
def band(target: float, abs_band: float = 0.05, rel_band: float = 0.25) -> float:
"""5/25 rule: tolerance is the smaller of 5 points or 25% of the target."""
return min(abs_band, rel_band * target)
def drift_report(holdings: dict, target: dict) -> list[tuple]:
total = sum(holdings.values())
rows = []
for asset, tgt in target.items():
w = holdings[asset] / total
tol = band(tgt)
rows.append((asset, w, tgt, w - tgt, tol, abs(w - tgt) > tol))
return rows
def trades_to_target(holdings: dict, target: dict, new_cash: float = 0.0) -> dict:
"""Full rebalance: buy/sell amounts (+ buy, - sell) after adding new cash."""
total = sum(holdings.values()) + new_cash
return {a: round(target[a] * total - holdings[a], 2) for a in target}
def cash_only(holdings: dict, target: dict, new_cash: float) -> dict:
"""No sales: send new money to the underweight assets, biggest gap first."""
total = sum(holdings.values()) + new_cash
gaps = {a: max(target[a] * total - holdings[a], 0) for a in target}
need = sum(gaps.values())
scale = min(1.0, new_cash / need) if need else 0.0
return {a: round(g * scale, 2) for a, g in gaps.items() if g}
for asset, w, tgt, d, tol, out in drift_report(HOLDINGS, TARGET):
flag = "REBALANCE" if out else "ok"
print(f"{asset:12} {w:6.1%} vs {tgt:4.0%} drift {d:+6.1%} band +/-{tol:.2%} {flag}")
print(trades_to_target(HOLDINGS, TARGET))
print(cash_only(HOLDINGS, TARGET, new_cash=10_000))
Output:
US stocks 52.6% vs 45% drift +7.6% band +/-5.00% REBALANCE
Intl stocks 12.5% vs 15% drift -2.5% band +/-3.75% ok
Bonds 31.0% vs 35% drift -4.0% band +/-5.00% ok
Cash 3.9% vs 5% drift -1.1% band +/-1.25% ok
{'US stocks': -8800.0, 'Intl stocks': 2900.0, 'Bonds': 4600.0, 'Cash': 1300.0}
{'Intl stocks': 3076.92, 'Bonds': 5664.34, 'Cash': 1258.74}
Reading it: US stocks are 7.6 points over target and outside the band. A full rebalance means selling $8,800 of US stocks. But with $10,000 of new money and no sales, US stocks fall to 48.4% of the portfolio (61,000 / 126,000), back inside the band. In a taxable account, that is the better trade: same risk outcome, no realized gains.
9. New-year rebalancing checklist
- Re-read your target allocation. Has anything changed (job, horizon, house, risk tolerance)? Change the target on purpose, not by drift.
- Pull current values for all accounts, including retirement accounts and cash, as one household portfolio.
- Compute drift per asset class and compare to your bands (5/25 or your own).
- If nothing is outside a band, stop. Write down the numbers and check again in 6-12 months.
- Fix drift with cash first: this year's contributions, dividends, interest, bonuses.
- Then trade inside tax-advantaged accounts.
- Only then consider taxable sales: losses first, long-term high-basis lots next.
- Decide target vs. band edge based on whether your costs are fixed or proportional.
- Check concentration separately: what share of your total portfolio sits in your top 5-10 holdings, including through index funds?
- Log what you did and why. Next January, you will want to know.
Why this matters
- Risk drifts toward recent winners. After 2023 and 2024, a portfolio left alone holds more stock, and more of a few mega-cap stocks, than its owner chose.
- The method matters less than having one. Monthly, annual, threshold or hybrid all control risk similarly; the big gap is between some rule and no rule.
- Taxes are the main cost. Cash flows and tax-advantaged accounts do most of the work for free.
- Rebalancing buys lower risk, not higher return. Expect it to cost a little return between stocks and bonds, and judge it on drawdowns, not on returns in a bull market.
- Write the rule before you need it. The rebalance that matters most is the one you do after a crash, when it feels worst.
Final Thoughts
After two years of 25%+ returns, the hard part of rebalancing is psychological: selling or underweighting what has worked. That is exactly why the rule should be boring and set in advance. Check once or twice a year, act only outside the bands, use new money before sales, and trade where taxes do not apply.
None of this predicts what 2025 will do. That is the point. Rebalancing is a way to keep a plan you made when you were calm, and a short script and a ten-line checklist are enough to do it.
Sources
- First Trust, The S&P 500 Index in 2024: A Market Driven Once Again by the Mag 7 (January 8, 2025): S&P 500 total return of 25.0% in 2024 and 26.3% in 2023; Mag 7 average weight of 30.6% and 53.7% of the 2024 return; 28% of stocks beat the index.
- Alera Group, 2024 Year-End Review and Outlook (January 2, 2025): S&P 500 up 25.04% and Bloomberg US Aggregate up 1.25% in 2024.
- Jaconetti, Kinniry and Zilbering (Vanguard), Best practices for portfolio rebalancing (2010): risk control as the goal; 1926-2009 never-rebalanced vs. rebalanced results; time, threshold and hybrid strategy tables; annual or semiannual monitoring with 5% thresholds; rebalancing with cash flows; target vs. band edge.
- Gobind Daryanani, Opportunistic Rebalancing: A New Paradigm for Wealth Managers, Journal of Financial Planning (January 2008): 20% relative bands, frequent looking, rebalancing only out-of-band assets.
- Ben Carlson, The Larry Swedroe 5/25 Rule (2014): the 5/25 band rule.
- William J. Bernstein, The Rebalancing Bonus: Theory and Practice (1996): excess return from rebalancing volatile, poorly correlated assets.
- IRS, Topic no. 409, Capital gains and losses: short-term vs. long-term holding periods and rates.