Why use a correlation matrix?
A matrix compares every position against every other. That matters because two ETFs can look different on the label yet hold overlapping names—or different tickers can still sell off together when macro risk spikes.
Coefficients run from −1 to +1. Near +1, pairs move in sync (limited diversification from holding both). Near 0, they behave more independently. Near −1, they often offset—useful when that relationship is stable, which is not always true over time.
True diversification is not “more names”—it is exposures that do not move in lockstep when stress hits.
Try correlation analysis in Guardfolio →How to read correlation
Correlation summarizes how two return streams moved relative to each other over a chosen window. It is not a prediction—relationships break—but it is the standard way to compare overlap and diversification.
+1.0: Move together (often redundant risk).
~0: Little linear relationship (more independence in the model).
−1.0: Move opposite (potential hedge—verify it holds when you need it).
Pair this with diversification by sleeve and factor—not ticker count alone—and with concentration checks so a few names are not driving your outcomes.
Where portfolios hide correlation
Tech-heavy equity + crypto: Often move together in risk-off periods (coefficients can stay elevated).
Same sector, different names: Banks, insurers, and cyclicals can correlate highly in credit or recession stress.
Stocks and bonds: Often lower correlation historically; it can rise when inflation or policy shifts hit both sleeves—worth watching, not assuming.
What correlation is not
It measures linear co-movement over the period you measure. It will not capture every tail risk or options-style convexity on its own.
A stable number last year can flip in a crisis—exactly why ongoing monitoring matters next to a one-time spreadsheet.
Before you rely on one number
- Window length: Short windows react quickly; long windows smooth out regime changes. Compare a few horizons if you are sizing risk.
- History is not a promise: Past correlation does not guarantee future behavior—use it to ask better questions, not as a single forecast.
- Combine with overlap: Low correlation between two funds can still hide duplicate holdings; pair matrix insights with overlap analysis when you hold funds or ETFs.
How to interpret your correlation coefficient
The table below gives practical guidance on what each range means for a diversified portfolio. These are general benchmarks—individual context (market regime, time horizon, position sizing) always matters.
| Coefficient range | Signal | What it means in practice |
|---|---|---|
| +0.9 to +1.0 | High redundancy | Positions move nearly in lockstep. You get little diversification from holding both—consider whether both are needed or if one is a better expression of the same view. |
| +0.7 to +0.9 | Elevated correlation | Meaningful overlap in risk. Common between large-cap U.S. equity funds or same-sector holdings. Not automatically a problem, but monitor in stress. |
| +0.4 to +0.7 | Moderate correlation | Some shared factor exposure but room for diversification. Most well-constructed portfolios sit in this range across core asset pairs. |
| −0.3 to +0.4 | Low / near-zero | Little linear co-movement. Assets are contributing more independently. This is the diversification zone most long-term investors target. |
| −1.0 to −0.3 | Negative / hedge | Assets often move in opposite directions. Useful for hedges and ballast—but verify the relationship holds under the stress conditions you care about; negative correlation can flip during regime shifts. |
Common asset class correlations: real-world pairs
Correlations vary by regime and window length. The figures below reflect approximate long-run averages based on historical data—individual periods (especially 2022, 2008–2009, and 2020) can look very different. Use them as starting intuition, not fixed facts.
| Asset pair | Typical range | Key caveat |
|---|---|---|
| S&P 500 vs. U.S. Aggregate Bonds | −0.3 to +0.3 | Turns positive when inflation is high (see 2022). Not a permanent hedge. |
| S&P 500 vs. MSCI World ex-U.S. | +0.75 to +0.90 | Global sell-offs tighten correlations; international diversification helps more in calm markets. |
| Large-cap growth vs. large-cap value (U.S.) | +0.80 to +0.92 | High structural overlap; meaningful style diversification requires deliberate factor targeting. |
| U.S. equities vs. gold | −0.1 to +0.2 | Gold's low equity correlation is its key portfolio role; can rise in severe liquidity crunches. |
| Bitcoin vs. S&P 500 | +0.3 to +0.65 | Has risen significantly since 2020; behaves as a risk asset in drawdowns, not a true hedge. |
| REITs vs. broad equities | +0.55 to +0.75 | Rate-sensitive; correlates with equities in growth regimes, diverges when real rates shift sharply. |
| Two S&P 500 index ETFs (e.g., SPY vs. IVV) | +0.99 to +1.0 | Near-perfect correlation — holding both adds no diversification, only duplicate exposure. |
How to build a portfolio correlation matrix: step by step
Whether you use a tool, a spreadsheet, or a dedicated platform, the process follows the same logic. Here is how to do it correctly:
-
Collect return data Gather daily or weekly closing prices for each asset in your portfolio over your chosen time window—typically 1 to 3 years. Convert prices to percentage returns: (today's price − yesterday's price) ÷ yesterday's price.
-
Choose a time window deliberately A 1-year window reacts quickly to recent regime changes. A 3-year window smooths short-term noise but may include stale relationships. Many practitioners run both and compare. Longer windows are useful for structural relationships; shorter windows capture current regime dynamics.
-
Calculate pairwise Pearson coefficients For each pair of assets, apply the correlation formula: divide the covariance of their return series by the product of their standard deviations. If you hold 10 assets, this produces a 10×10 matrix (100 pairs, of which 45 are unique pairs). Tools like Excel's
CORREL(), Python'spandas.DataFrame.corr(), or Guardfolio's live dashboard automate this. -
Read the matrix by row and column Every cell [i, j] shows the correlation between asset i and asset j. The diagonal is always 1.0 (each asset is perfectly correlated with itself). Focus on off-diagonal pairs—especially your largest positions by weight.
-
Flag high-correlation pairs and weight-adjust Identify pairs above your threshold (e.g., +0.80). Then weight-adjust: two highly correlated positions each at 5% are less of a concern than one at 20% and another at 15%. Effective diversification is about correlation-weighted exposure, not just pairwise coefficients.
-
Stress-test the relationship Pull the same correlations for a specific crisis period (2008, 2020 March, 2022) and compare. If pairs that look low-correlation today were highly correlated in those periods, your model may underestimate tail risk.
How Guardfolio helps
One-off spreadsheets go stale the moment markets move. Guardfolio keeps a live correlation view on your linked accounts—alongside concentration, overlap, and drift—so you see when relationships change, not only what they looked like last quarter.
We flag when correlations break—for example, bonds and stocks falling together when you relied on them to offset. You get context in the app and can pair it with portfolio monitoring and alerts when exposures step outside the guardrails you set.
Frequently asked questions
What is a good correlation coefficient for a diversified portfolio?
Most practitioners target an average pairwise correlation below +0.7 across the core portfolio. Holdings with correlations below +0.5 add meaningful diversification. Anything above +0.85 between two positions means they often behave as one risk unit—you get limited benefit from holding both.
How do you calculate portfolio correlation?
Collect daily or weekly returns for each asset over a chosen window (commonly 1–3 years), then compute the Pearson correlation coefficient for every pair: covariance of returns ÷ (standard deviation of asset A × standard deviation of asset B). Stack all pairwise results into a matrix. In practice, CORREL() in Excel or df.corr() in Python handles the arithmetic; Guardfolio automates it for your live portfolio.
What does a correlation of +1 between two stocks mean?
A correlation of +1 means the two assets moved in perfect lockstep over the measurement period. Holding both provides zero diversification—you are doubling exposure to the same risk factor. In practice, very few real pairs reach exactly +1, but pairs above +0.9 offer minimal independent return or risk reduction.
Do stocks and bonds always have low correlation?
No. The stock-bond correlation is negative or near zero in disinflationary environments—which broadly described 2000–2020. When inflation is high or central banks are tightening rapidly, both assets can fall together, as they did in 2022. The correlation is a regime-dependent relationship, not a permanent feature of market structure.
Is correlation the same as ETF overlap?
No—they measure different things. Correlation measures how return series co-moved historically. ETF overlap measures how many of the same underlying holdings two funds share by weight. Two ETFs can be highly correlated without significant holdings overlap (e.g., different sector funds that respond to the same macro factor), or they can share holdings without always moving together. Use both analyses together for a complete picture.
Can high portfolio correlation cause losses?
High correlation does not cause losses directly, but it eliminates the cushion you expected from diversification. If your positions are highly correlated and a risk-off event hits, they decline together instead of offsetting each other—turning what looked like a diversified portfolio into a concentrated bet. The real risk is believing you are diversified when you are not.