Is a 60/40 portfolio really diversified? Where its risk comes from
The portfolio
60% SPY, 40% BND; rebalanced yearly. See Classic Stocks & Bonds 60/40 in the portfolio app, the 60/40 (SPY/AGG) guide, 60/40 Portfolio with a trend filter.
Same figures, over the same window (Jan 1987–Sep 2026), as the Diversification section of the live portfolio page. The independent-bets count is the app's own measure; it counts the groups, so it inherits how the grouping handles chains of holdings (see Methodology). The sentences and bars on this page use the money and risk shares, which do not depend on the grouping.
What 60/40 Portfolio is really betting on
- SPY (S&P 500) is 60% of the money and 93% of the risk.
- Each of the 2 holdings moves largely on its own: no pair correlates at 0.5 or more.
- BND is 40% of the money but 7% of the risk.
- Over the last 10 years (Oct 2016–Sep 2026), the largest group carries 88% of the risk (93% over the full window).
Verdict: mostly one group of holdings that move together, carrying 93% of the risk.
Money versus risk, holding by holding
| Holding | Weight | Risk share, full window | Risk share, last 10 years | Group (full window) |
|---|---|---|---|---|
| SPYS&P 500 | 60.0% | 93.2% | 87.9% | on its own |
| BNDUS Total Bond Market | 40.0% | 6.8% | 12.1% | on its own |
Full window Jan 1987–Sep 2026; last 10 years Oct 2016–Sep 2026. Shares use the target weights and sum to 100% in each window.
The 40/60 mix
The 40/60 Portfolio holds the same two funds as the 60/40 Portfolio with the capital split reversed, over the same window (Jan 1987–Sep 2026). SPY (S&P 500) is 40% of the money and 80% of the risk. Over the last 10 years (Oct 2016–Sep 2026) the largest group carried 71% of the risk (80% over the full window).
Full window, Jan 1987–Sep 2026; the same four measures as above, here for the 40/60 mix.
| Holding | Weight | Risk share, full window | Risk share, last 10 years | Group (full window) |
|---|---|---|---|---|
| SPYS&P 500 | 40.0% | 79.9% | 71.5% | on its own |
| BNDUS Total Bond Market | 60.0% | 20.1% | 28.5% | on its own |
Full window Jan 1987–Sep 2026; last 10 years Oct 2016–Sep 2026. Shares use the target weights and sum to 100% in each window.
The correlation, the clustering and the equal-risk weights above apply unchanged: they depend only on the two funds' returns, not on the capital split (the equal-risk version of either mix is the same book). Reproduce hash of the 40/60 mix: 282eccb90c997c24, as on its portfolio page.
The full window versus the last 10 years
| Full window | Last 10 years | |
|---|---|---|
| Window | Jan 1987–Sep 2026 | Oct 2016–Sep 2026 |
| Co-moving groups | SPY (S&P 500): 60% of the money, 93% of the risk BND (US Total Bond Market): 40% of the money, 7% of the risk | SPY (S&P 500): 60% of the money, 88% of the risk BND (US Total Bond Market): 40% of the money, 12% of the risk |
| Number of groups | 2 of 2 | 2 of 2 |
| Biggest group's share of the risk | 93% | 88% |
| Average correlation | 0.20 | 0.44 |
Over the last 10 years (Oct 2016–Sep 2026), the largest group carries 88% of the risk (93% over the full window).
Holdings are grouped when their monthly returns correlate at 0.5 or more, directly or through a chain of other holdings (single linkage on the clustering tree the app uses). For each multi-holding group the table gives the average correlation among its members and the least correlated pair; a lowest pair under 0.5 marks a chained group.
How the risk split moved
| Group (full-window grouping) | Full window | Last 10 years | 36 months to Feb 2009 | 36 months to Dec 2022 | Latest 36 months |
|---|---|---|---|---|---|
| SPY (S&P 500) | 93% | 88% | 92% | 88% | 83% |
| BND (US Total Bond Market) | 7% | 12% | 8% | 12% | 17% |
36 months to Feb 2009 is Mar 2006–Feb 2009, which holds the 2008 decline; 36 months to Dec 2022 is Jan 2020–Dec 2022, when stocks and bonds fell together. The full-window and last-10-year columns use the same fixed groups.
How the two holdings move together
With two holdings there is a single correlation and a single merge, so a heatmap and a clustering tree would show nothing beyond this: SPY and BND correlated at 0.20 over the full window (Jan 1987–Sep 2026) and 0.44 over the last 10 years (Oct 2016–Sep 2026). They stay in separate groups at the 0.5 threshold over the full window.
An equal-risk version of the same holdingsHypothetical, chosen with hindsight
An equal-risk version would hold BND at 78%, with volatility 5.2% versus 9.6%, a worst drawdown of -16.6% versus -30.3%, and 6.6% a year versus 9.1%.
| Jan 1987–Sep 2026 | 60/40 Portfolio | Equal-risk version |
|---|---|---|
| Growth of $10,000 | $315,043 | $126,874 |
| CAGR | 9.1% | 6.6% |
| Volatility (annualized, from the simulated monthly returns) | 9.6% | 5.2% |
| Max drawdown | -30.3%Oct 2007 → Feb 2009; recovered Oct 2010 | -16.6%Dec 2021 → Sep 2022; recovered Aug 2024 |
| Worst calendar year | 2008 (-19.3%) | 2022 (-14.2%) |
| Biggest single share of the risk (from the covariance) | 93% | 50% |
Each holding contributes 50% of the risk in the equal-risk version (the "equal risk contribution", or risk-parity, weights). The weights come from the covariance of the whole window, which nobody knew at the start, so this is chosen with hindsight. It uses no leverage (leveraged risk-parity funds are a different thing), keeps the same yearly rebalancing, and is shown without a Sharpe ratio: at a risk-free rate of 0% a book that is mostly cash would look better than it earned. The running risk-parity strategy is on the risk-parity strategy page.
Check it in the builder
Open Classic Stocks & Bonds 60/40 in the portfolio app and choose Customize. Under the allocation chart, Balance risk… opens the "Balance risk by…" panel. Its Equal risk (ERC) row shows these figures (data through Sep 2026):
- Diversification 2.0 / 2 (the panel's label for the app's independent-bets count)
- Instability 5.2% (the panel's label for annualized volatility computed from the covariance; the table above computes it from the simulated monthly returns instead, 5.2%, so the two can differ slightly)
- Top holding 78% (BND)
- Top risk share 50%
The row's apply link loads those weights into the builder, so you can see this version's own return and drawdown figures next to the table above. Weights can differ from the table by a tenth of a point after rounding.
Frequently asked questions
- Is a 60/40 portfolio really diversified?
- SPY (S&P 500) is 60% of the money and 93% of the risk. Each of the 2 holdings moves largely on its own: no pair correlates at 0.5 or more. Verdict: mostly one group of holdings that move together, carrying 93% of the risk.
- Where does the risk in a 60/40 portfolio come from?
- SPY (S&P 500) is 60% of the money and 93% of the risk. BND is 40% of the money but 7% of the risk. Over the last 10 years (Oct 2016–Sep 2026), the largest group carries 88% of the risk (93% over the full window).
- What would an equal-risk version of a 60/40 portfolio look like?
- An equal-risk version would hold BND at 78%, with volatility 5.2% versus 9.6%, a worst drawdown of -16.6% versus -30.3%, and 6.6% a year versus 9.1%. It is hypothetical and chosen with hindsight: the weights come from the whole window's covariance.
- Is a 40/60 portfolio really diversified?
- SPY (S&P 500) is 40% of the money and 80% of the risk. Each of the 2 holdings moves largely on its own: no pair correlates at 0.5 or more.
Caveats
- Monthly data: risk shares and correlations come from month-end returns. Co-movement inside a month (a fast crash and rebound) is not seen, and daily correlations in a crisis are usually higher.
- A risk share is a share of variance (volatility), not of drawdown and not of the loss in any one year. A holding with a small share can still lose money in a bad year.
- The sample covariance moves with the window: the full window and the last 10 years can differ a lot (this page shows both), and no shrinkage is applied.
- Shares use the target weights, not the drifted weights between rebalances.
- The grouping is single linkage at a correlation of 0.5: a chain of pairs at or above it forms a group, so two holdings in one group can be uncorrelated with each other. Where that happens the page says so.
- Holdings before their ETF's launch use older funds or indexes as proxies (SPY and BND); see their fund-history pages for how closely each proxy tracked.
- The equal-risk version is in-sample (its weights use the whole window's covariance, which nobody knew at the start) and unlevered. Equal risk without leverage usually lowers volatility and return together.
- One historical path; past results do not predict future results. Not investment advice.
Methodology
- Source
- Yahoo Finance via MarketHeist, monthly adjusted close (dividends reinvested), to the last complete calendar month. Holdings before their ETF's launch use proxy funds, spliced on returns; see each holding's fund-history page.
- Estimator
- Sample covariance of monthly total returns (population scaling, which cancels in every share) and the Pearson correlation matrix. No shrinkage. This is the estimator the live portfolio page uses, so the figures can be checked there.
- Risk share
- Holding i's share of portfolio variance is wi (Σw)i / w'Σw, with the target weights. The shares sum to 100% and can be slightly negative for a diversifier.
- Windows
- Headline: the full common history (Jan 1987–Sep 2026, 39.8 years), the same window as the live page; it contains both the 2008 decline, when Treasuries hedged stocks, and 2022, when they fell together. Second column: the last 120 complete months (Oct 2016–Sep 2026), because the stock-bond correlation turned positive after 2021 and a full-window number averages that away; 120 months is the shortest window that keeps at least 10 observations per holding for the widest portfolio in the set. Regimes: the app's rolling 36-month risk shares. Grouping, the correlation heatmap and the equal-risk weights use the full window only, because 36 months is too few observations for 2 holdings. A page is not published if its window is under 15 years, lacks 2008 or 2022, has fewer than 10 months per holding, or has a singular covariance matrix.
- Grouping
- Holdings are clustered by single linkage on the correlation distance √(½(1 − ρ)) and cut at a correlation of 0.5, the same rule the live page uses. Single linkage chains: a holding joins a group if it correlates at 0.5 or more with any member, so two members can be uncorrelated with each other. Each multi-holding group's average and lowest internal correlation are shown, and the page says so where it happens.
- Independent bets
- The stat row shows the live app's "Independent Bets" figure: the exponential entropy of the groups' risk shares. It is shown for comparison with the app, not used in any sentence, because it inherits the chaining above. A different measure (the minimum-torsion effective number of bets) also exists; it can count many more bets for the same holdings, and we do not mix two bets figures on one page.
- Equal-risk version
- Long-only equal-risk-contribution weights solved by cyclical coordinate descent on the full-window covariance, checked to give every holding a 50% share to within 0.01 points; simulated over the same window with the same rebalancing. In-sample, unlevered, no costs or taxes.
- Generated
- 2026-10-11; data through Sep 2026. Every figure is computed by the portfolio engine and every sentence is rule-based over those figures; no language model is involved. Reproduce hash of the Classic Stocks & Bonds 60/40 portfolio over its full window (Jan 1987–Sep 2026):
e22a391d9acb2828(the same hash as on its portfolio page). - Related
- All risk breakdowns · Classic Stocks & Bonds 60/40 in the portfolio app · 60/40 Portfolio with a trend filter · the 60/40 (SPY/AGG) guide
Historical simulation, not investment advice.