Portfolio optimizer
This tool does something seductive and dangerous: under a 5%-step, no-asset-above-half constraint, it deterministically samples twenty-odd thousand of the roughly two hundred thousand feasible weight grids for seven assets and then hill-climbs locally, to find the one that "won" the past century on a target of your choosing — highest Sharpe, highest UPI, lowest volatility, or shallowest drawdown. Seductive, because the math is real. Dangerous, because it optimizes history while you are headed into the future.
Click a target and the winning weights appear at once and their seven metrics, with the classic 60/40 and the Golden Butterfly alongside for reference. Before copying any weights, switch the target and click again — watch the "optimal" portfolio change beyond recognition. That experiment is worth more than any answer it produces.
Optimization target
Highest Sharpe (real CAGR / annualized volatility)
Teaching tool: past-optimal ≠ future-optimal
Optimal weights
Sharpe (real CAGR / vol):0.57
- US stocks 15%
- Cash 5%
- Baa corporate bond 30%
- US real estate 40%
- Gold 10%
View these weights across the charts
All four targets at once: the active target column is highlighted
| Portfolio | Sharpe | UPI | Volatility | Max drawdown |
|---|---|---|---|---|
| Max Sharpe | 0.57 | 0.86 | 5.6% | −15.1% |
| Classic 60/40 | 0.42 | 0.46 | 12.3% | −35.2% |
| Golden Butterfly | 0.46 | 0.61 | 11.4% | −29.7% |
Show all metrics
| Portfolio | Real CAGR | Deepest drawdown | Longest underwater period | Worst 10-year window | Best 10-year window | Ending real purchasing power (from 10,000) | 4% rule success (30y) |
|---|---|---|---|---|---|---|---|
| Max Sharpe | +3.2% | −15.1% (1940-1942) | 7 years (1965-1972) | +0.3% (1965) | +5.6% (1995) | $221,842 | 97% |
| Classic 60/40 | +5.1% | −35.2% (1972-1974) | 13 years (1972-1985) | −2.7% (1972) | +12.1% (1989) | $1,365,219 | 94% |
| Golden Butterfly | +5.2% | −29.7% (1936-1941) | 9 years (1945-1954) | +1.5% (1937) | +7.6% (1928) | $1,493,503 | 100% |
Deterministic search: same input, same result.
Data and limits
This is a demonstration of curve-fitting, not a production line for advice. Optimal weights are exquisitely sensitive to the sample period, the target function, and the proxy definitions; the mix that "won" one stretch of history almost never wins the next. The engineering includes anti-overfit constraints (a per-asset weight cap, coarse weight steps), but no constraint fixes driving by the rear-view mirror itself. Treat it as a teaching instrument: watch how the target shapes the answer, then go back to the library and pick something you can hold.
Portfolio math assumes annual rebalancing.
Data are annual real (inflation-adjusted) returns; sources and definitions are documented in "Where the chart data comes from" on the methodology page. methodology page
Everything above is computed from historical data and your inputs. History does not guarantee the future. Not investment advice.
Data failed to load; the static chart remains visible and controls are disabled.