Articles

How do you calculate risk parity weights for a portfolio?

Inverse-volatility weights, equal risk contribution and the leverage to a volatility target, worked on one covariance matrix.

Risk parity weights are the weights at which every sleeve contributes the same share of portfolio volatility, where a sleeve's contribution is its weight times its covariance with the portfolio, divided by portfolio volatility. On an illustrative four-sleeve fund the equal risk contribution weights are 14.4 per cent equities, 49.2 per cent government bonds, 22.4 per cent credit and 13.9 per cent commodities, for a volatility of 5.73 per cent; reaching a 10 per cent target takes leverage of 1.75 times. Simple inverse-volatility weights get close but leave credit carrying 33.9 per cent of the risk.

Worked in full in Financial Risk Management by Julian R. Sterling, with every figure reproduced in a free workbook.See the book on Amazon →

“Risk parity” is used loosely for two different calculations. The quick one weights each asset by one over its volatility and ignores correlation. The real one, equal risk contribution (ERC), solves for weights at which each asset's contribution to total volatility is identical, and it needs the full covariance matrix and an iteration or a solver. Both are shown below on the same inputs, with the 60/40 portfolio as a reference.

The assumptions

Illustrative annual volatilities and correlations, not market estimates. Fund NAV 500,000,000.
SleeveVolatilityCorr. equitiesCorr. gov. bondsCorr. creditCorr. commodities
Equities16%1−0.20.60.3
Government bonds6%−0.210.3−0.1
Credit8%0.60.310.2
Commodities18%0.3−0.10.21

The covariance matrix is Σij = ρij σi σj. The correlation matrix passes a Cholesky decomposition, so it is a valid (positive definite) matrix; a matrix typed in by hand often is not, and the solver will then return nonsense.

Step 1: the risk contribution formula

Portfolio volatility σp = √(w′ Σ w)

Marginal contribution MRCi = (Σ w)i ÷ σp; risk contribution RCi = wi × MRCi; and Σ RCi = σp

Excel, weights in a column W and covariances in COV: volatility =SQRT(MMULT(TRANSPOSE(W),MMULT(COV,W))), contributions =W*MMULT(COV,W)/vol

The contributions add up exactly to the volatility, which is what makes them usable as a budget. Multiplied by a confidence multiplier and the NAV, they become the component VaR of each sleeve.

Step 2: equal weights and inverse-volatility weights

Share of portfolio volatility contributed by each sleeve.
SleeveEqual: weightEqual: risk shareInverse vol: weightInverse vol: risk share
Equities25.0%38.7%15.3%27.4%
Government bonds25.0%2.0%40.7%16.1%
Credit25.0%17.8%30.5%33.9%
Commodities25.0%41.5%13.6%22.6%
Portfolio volatility8.03%6.08%

Inverse-volatility weights are 1/σ normalised: 6.25, 16.67, 12.50 and 5.56, summing to 40.97, give 15.3, 40.7, 30.5 and 13.6 per cent. They would equalise risk only if every pair of sleeves had the same correlation. Here credit is correlated 0.6 with equities and 0.3 with bonds, so it carries a third of the risk, while bonds, which hedge equities, carry only 16.1 per cent.

Step 3: solve for equal risk contribution

Condition: wi × MRCi = σp ÷ 4 for every sleeve, so wi ∝ 1 ÷ MRCi

Iterate: start from the inverse-volatility weights, set wi = 1 ÷ MRCi, normalise to 100%, recompute MRC, repeat until the contributions agree (a few dozen rounds; damping helps).

In Excel, Solver does the same: minimise the sum of squared differences between each RCi and σp ÷ 4, weights summing to 1 and non-negative.

Equal risk contribution solution.
SleeveWeightMRCRisk contributionShare
Equities14.4%9.92%1.43%25.0%
Government bonds49.2%2.91%1.43%25.0%
Credit22.4%6.38%1.43%25.0%
Commodities13.9%10.27%1.43%25.0%
Portfolio100%5.73%100%

Weights are rounded and sum to 100 per cent before rounding. Each sleeve contributes 1.431 points of volatility. Compared with inverse volatility, ERC takes 8.1 points out of credit and adds 8.5 to bonds: the solver penalises credit for its correlation with equities and rewards bonds for hedging them.

Step 4: lever to the volatility target

Leverage = target volatility ÷ ERC volatility = 10% ÷ 5.73% = 1.75x

Gross exposure on a 500,000,000 fund = 873,227,797: equities 126,050,934, government bonds 429,560,697, credit 195,872,846, commodities 121,743,320

The bond sleeve becomes 85.9 per cent of NAV. That is the practical cost of risk parity: the low-volatility asset has to be levered, usually through futures or repo, so funding costs, margin calls and the stability of the bond hedge all become part of the strategy.

What if: the equity-bond correlation changes

ERC weights as the equities and government bonds correlation varies; other inputs unchanged.
Equity-bond corr.EquitiesGov. bondsCreditCommoditiesVolatilityLeverage to 10%
−0.415.5%51.4%20.1%13.0%5.38%1.86x
−0.214.4%49.2%22.4%13.9%5.73%1.75x
0.013.6%47.4%24.3%14.7%6.00%1.67x
0.312.6%45.3%26.5%15.6%6.32%1.58x

The weights move by only a few points, but the volatility of the unlevered mix rises from 5.38 to 6.32 per cent as the hedge disappears. A fund that set its weights and its 1.86x leverage when the correlation was −0.4 and kept both would be running 11.7 per cent volatility once the correlation reached 0.3, unless it re-solved and cut leverage to 1.58x.

The common mistake

Calling a 60/40 portfolio balanced. With these inputs 60 per cent equities and 40 per cent bonds has a volatility of 9.42 per cent, of which equities contribute 98.7 per cent. The capital is split 60/40; the risk is a single equity bet with a small bond cushion. The second mistake is the mirror image: treating inverse-volatility weights as risk parity, which here leaves credit with almost nine points more than its equal share of the risk.

Takeaway

Compute each sleeve's contribution as weight times covariance with the portfolio over portfolio volatility, then solve until the contributions are equal. On this case that gives 14.4, 49.2, 22.4 and 13.9 per cent, 5.73 per cent volatility and 1.75x leverage to reach 10 per cent. The same covariance arithmetic, with the crisis correlations that break it, is in the free workbooks for the book, and parametric VaR uses the identical matrix.

Questions readers ask

Is inverse volatility weighting the same as risk parity?

Only if all correlations are equal. In the illustrative four-sleeve fund inverse-volatility weights of 15.3%, 40.7%, 30.5% and 13.6% leave credit contributing 33.9% of volatility and government bonds 16.1%, because credit is correlated 0.6 with equities. Equal risk contribution moves 8.1 points out of credit.

How much leverage does a risk parity portfolio need?

Target volatility divided by the unlevered volatility of the equal risk mix. In the illustrative case the mix has 5.73% volatility, so a 10% target needs 1.75x, a gross exposure of 873,227,797 on a 500,000,000 fund, with government bonds alone at 85.9% of NAV.

How much of a 60/40 portfolio's risk comes from equities?

Usually almost all of it. With 16% equity volatility, 6% bond volatility and a correlation of -0.2, a 60/40 portfolio has 9.42% volatility and equities contribute 98.7% of it. The capital is balanced; the risk is not.

Read the whole case

This article is one calculation from Financial Risk Management. The book takes the same case from first principles to the decision, chapter by chapter, and every figure it prints is a live formula in the free companion workbooks.

Get the book on Amazon →Free companion files

Also on Amazon UK · Amazon Germany · Amazon France · Amazon Canada

Also on this site

Reading guide: corporate finance, valuation and markets → · All 1614 articles →

If this book helped, or didn’t, a few lines on Amazon are worth more than they look: they are what the next reader goes on. Write a review. The workbook stays free either way.