What is risk contribution? Definition, formula and example
On this page
Key takeaways
- Risk contribution splits a portfolio's variance (uncertainty) into one piece per holding; the pieces add up to the whole, so each can be read as a share of total risk.
- A holding's risk contribution equals its weight times its covariance with the whole portfolio, divided by the portfolio's variance.
- Volatile holdings carry more of the risk than of the money: in a classic stocks-and-bonds 60/40 mix, stocks drive most of the ups and downs.
- A holding that tends to move against the rest of the portfolio can have a negative risk contribution, meaning it lowers total risk.
- Equal risk contribution (risk parity) is the weighting that sets every holding's risk contribution to the same value.
Definition
Risk contribution is the share of a portfolio's variance (uncertainty) that comes from each holding, so the shares add up to the whole. It depends on how much of the holding you own, how much it swings and how it moves with everything else, which is why a holding's share of the risk can be far from its share of the money.
Also known as: risk share, percent contribution to risk, risk budget, contribution to variance.
How it works
A portfolio's weights say how the money is split. Risk contribution says how the portfolio's ups and downs are split. The two answers often differ, because a dollar in a volatile fund moves the total far more than a dollar in a calm one.
The split is exact, not an approximation. Portfolio variance, the square of volatility, can be written as a sum with one term per holding. Each term is the holding's weight times its covariance with the whole portfolio. Divide each term by the total and you get shares that add up to one.
Three things set a holding's share: how much of it you hold, how volatile it is, and how it moves with the rest of the portfolio. A fund that moves with everything else adds to risk in full. A fund that tends to rise when the others fall can contribute less than nothing: its share is negative, and removing it would make the portfolio riskier.
Think of a choir where one singer has a microphone. Even if that singer is a small part of the group, the microphone decides what the audience hears. In most stock-and-bond portfolios the stock side holds the microphone.
Investors use risk contributions to see where risk actually sits, to set risk budgets (for example, no single holding above a chosen share of risk), and as the target of risk-parity weighting, which makes every share equal.
Formula
- σₚ²
- variance of the portfolio's monthly return
- w
- the vector of portfolio weights (fractions summing to 1)
- wᵢ
- weight of holding i
- Σ
- covariance matrix of the holdings' monthly returns
- (Σw)ᵢ
- element i of Σ times w: the covariance of holding i with the whole portfolio
- n
- number of holdings
- T
- transpose (w written as a row)
- RCᵢ
- risk contribution of holding i, as a fraction of total portfolio variance
- wᵢ
- weight of holding i
- (Σw)ᵢ
- covariance of holding i with the portfolio
- wᵀΣw
- portfolio variance
- n
- number of holdings
Because portfolio volatility is a homogeneous function of the weights, the same shares also split volatility (Euler's theorem): a holding's share of the variance equals its share of the volatility.
- σᵢ
- volatility (standard deviation) of holding i
- σₚ
- volatility of the portfolio
- ρᵢ,ₚ
- correlation of holding i with the portfolio as a whole
- wᵢ
- weight of holding i
This form shows the three drivers at once: how much you hold, how much it swings, and how closely it moves with the portfolio. A negative correlation with the portfolio gives a negative share.
Worked example
The classic stocks-and-bonds portfolio, 60% in SPY (the S&P 500) and 40% in BND (the US total bond market), measured on monthly returns from Jan 1987 to Sep 2026, about 40 years.
By money, this portfolio is 60% stocks. By risk, SPY accounts for 93.2% of the portfolio's variance and BND for 6.8%. Stocks carry far more of the risk than of the money.
Two facts produce that gap. SPY's annualized volatility was 15.1%, more than twice BND's 4.3%, so a dollar in stocks moved the total far more than a dollar in bonds. And the correlation between them was 0.20: positive, so in an average month the bond side did not offset the stock side; it only diluted it.
That dilution is real. The whole portfolio's volatility was 9.5%, lower than SPY's on its own. What remains, though, is mostly stock risk: in a bad month for this portfolio, the stock market explains almost all of what happened, and the bond side mainly sets how much smaller the fall was.
To make each holding carry the same share, the weights have to move much further toward bonds; the equal risk contribution guide works that out for a multi-asset portfolio.
Data through Sep 2026. Reproduce id dbd1a17b5ff654e7 (this guide, its lab setup and the data month).
Interactive lab
Money share versus risk share for each holding. Add funds or drag the weights; the risk shares are recomputed from the same monthly covariance the app uses.
| Holding | Fund | Weight | Risk share | Volatility |
|---|---|---|---|---|
| SPY | S&P 500 | 60.0% | 93.2% | 15.1% |
| BND | US Total Bond Market | 40.0% | 6.8% | 4.3% |
| Portfolio | 100.0% | 100.0% | 9.5% |
Weights are the target weights; risk shares sum to 100%. Volatility is annualized from monthly returns.
How MarketHeist computes it
Every choice an implementation has to make, as the code makes it today. The page is checked against the code each time it is built.
| Choice | How it is computed | In the code |
|---|---|---|
| Data | Monthly total returns (dividends reinvested). Funds younger than the period shown are extended backward with older funds, spliced on returns, not prices. | |
| Window | The worked example and the lab use the common window of the holdings, Jan 1987 to Sep 2026 (477 months), ending at the data month of this page. | |
| Volatility | Annualized as the monthly standard deviation times the square root of 12, from the same population covariance as the risk shares. | |
| Covariance | Population covariance of the holdings' monthly returns over the common window: each pair's products of deviations from the mean, divided by N, the number of months. The divisor cancels in every share, so dividing by N − 1 would give the same risk contributions. | covarianceMatrixpackages/portfolio/engine/risk.ts |
| Risk share | wᵢ(Σw)ᵢ divided by w′Σw for each holding. The shares sum to 1. A holding whose covariance with the portfolio is negative gets a negative share; nothing is clamped. | riskContributionspackages/portfolio/engine/risk.ts |
| Weights used | The target weights, normalized to sum to 1, not the drifted weights between rebalances. The shares describe the portfolio as designed. | riskContributionspackages/portfolio/engine/risk.ts |
| Zero-variance case | If the portfolio's variance is zero, each share falls back to the holding's capital weight instead of dividing by zero. | riskContributionspackages/portfolio/engine/risk.ts |
| Correlation | Pearson correlation of the same aligned monthly returns, shown for context. It is not a separate input: the covariance already contains it. | correlationMatrixpackages/portfolio/engine/correlation.ts |
| Rolling view in the app | The portfolio report also shows the shares on a trailing 36-month window, recomputed each month at the same fixed target weights, so a change in the chart comes from changing volatilities and correlations, not from trading. | ROLL_WINDOWpackages/portfolio/engine/risk.ts |
| Engine functions | The functions the portfolio app and the MarketHeist MCP tools run, called here on the same monthly returns. | covarianceMatrixpackages/portfolio/engine/risk.tsriskContributionspackages/portfolio/engine/risk.tscorrelationMatrixpackages/portfolio/engine/correlation.ts |
Risk contribution compared with its neighbours
| Measure | What it answers | Uses correlations | Adds up to |
|---|---|---|---|
| Capital weight | How the money is split | No | 1 |
| Volatility-weighted share, wᵢσᵢ / Σⱼwⱼσⱼ | How risk would split if every pair were perfectly correlated | No | 1 |
| Risk contribution (risk share) | How the portfolio's variance, and volatility, is split | Yes | 1 |
| Marginal contribution to risk, (Σw)ᵢ / σₚ | How fast portfolio volatility changes when a little more of holding i is added | Yes | Not a share: the weighted sum equals σₚ |
| Beta to the market | How a holding moves with an outside index | Yes, with the index only | Not a share |
Limitations
- Risk contributions are estimated from one historical window. Volatilities and correlations change: in stretches when stocks and bonds fell together, the bond side's share of risk rose even though nothing was traded.
- The measure is built on variance, which treats a sharp rise and a sharp fall alike and says little about rare crashes beyond what they add to the variance.
- Results depend on the data frequency and window. MarketHeist uses monthly returns; daily data or a shorter window can give different shares.
- Long histories here are extended backward with older funds or indexes where a fund is younger than the window, so early years approximate the fund rather than reproduce it.
- A risk share describes the past behaviour of a mix. It is not a forecast and not a judgment that a mix is right or wrong for anyone.
Frequently asked questions
- Why is a 60/40 portfolio mostly stock risk?
- Stocks swing several times as much as high-quality bonds, and over long periods the two have not moved strongly against each other. A dollar in stocks therefore moves the total far more than a dollar in bonds, and the stock side ends up carrying most of the variance even with less than two thirds of the money.
- Can a risk contribution be negative?
- Yes. A holding that tends to rise when the rest of the portfolio falls has a negative covariance with the portfolio, so its contribution is below zero. It lowers total risk, and the other holdings' shares then add up to more than one.
- Is risk contribution the same as beta?
- Closely related. A holding's risk contribution equals its weight times its beta to the portfolio itself (not to the stock market): wᵢ times Cov(rᵢ, rₚ) / Var(rₚ). Beta to an outside index answers a different question.
- Is risk contribution measured on variance or on volatility?
- Both give the same shares. Volatility is the square root of variance, and because volatility scales in proportion to the weights, the Euler split of volatility produces exactly the variance shares.
- How do I make every holding contribute the same risk?
- That allocation is called equal risk contribution, or risk parity. It is solved numerically from the covariance matrix and usually puts more money into calmer holdings such as bonds.
References
- Litterman, R. (1996) Hot Spots and Hedges. Goldman Sachs Risk Management Series; the early practitioner statement of risk decomposition by marginal contribution.
- Qian, E. (2006) On the Financial Interpretation of Risk Contribution: Risk Budgets Do Add Up. Journal of Investment Management 4(4).
- Maillard, S., Roncalli, T. and Teiletche, J. (2010) The Properties of Equally Weighted Risk Contribution Portfolios. Journal of Portfolio Management 36(4).
- Roncalli, T. (2013) Introduction to Risk Parity and Budgeting. Chapman and Hall/CRC.
Try it on your own holdings
Open the 60/40 portfolio and see each holding's share of risk →
Or ask an assistant connected to the MarketHeist MCP server (https://marketheist.io/mcp), which computes the same figures:
Using MarketHeist, show the risk contribution of each holding in my portfolio: 50% VTI, 30% VXUS, 20% BND
Ask an AI assistant
The prompt opens in a new tab. ChatGPT, Claude, Perplexity and Grok take it from the link; Gemini cannot, so its button copies the prompt for you to paste. An assistant without the MarketHeist connector answers from its own knowledge, not from the figures on this page.
Historical simulation, not advice. Computed by the MarketHeist portfolio engine from monthly total returns, data through Sep 2026. Markdown version of this page: risk-contribution.md.