Weighting methods compared: equal, inverse vol, ERC, HRP and HERC
On this page
Key takeaways
- Equal weight gives every holding the same money, so the most volatile holdings end up carrying most of the risk.
- Inverse volatility gives calmer holdings more money and jumpier ones less; it ignores how holdings move together, so it evens out risk only when every pair of holdings is equally correlated.
- Equal risk contribution (ERC) accounts for both each holding's swings and how the holdings move together, so that every holding carries the same share of the portfolio's risk.
- Hierarchical risk parity (HRP) and hierarchical equal risk contribution (HERC) first group the holdings that move alike, then split the money between the groups, which keeps the weights steadier when the estimates are noisy.
- None of the five uses expected returns. They differ in where the money goes, how concentrated it is, and how evenly the risk is spread, and the right trade-off depends on what the investor is trying to equalize.
Definition
A portfolio weighting method is the rule that turns a list of holdings into percentages of the money. Equal weight splits the money evenly; inverse volatility, equal risk contribution, hierarchical risk parity and hierarchical equal risk contribution use the holdings' volatilities and correlations to split the risk more evenly instead, each with a different idea of what even means.
Also known as: equal weight vs risk parity, inverse volatility vs ERC vs HRP, risk-based portfolio construction, risk-based allocation, HRP vs HERC, comparing weighting methods.
How it works
Every method on this page starts from the same inputs: the monthly returns of the holdings over a common window. From them come each holding's volatility and the correlation of every pair. The methods differ only in which of those numbers they use and what they try to make equal.
Equal weight uses none of them. Each of N holdings gets one N-th of the money. It is simple and needs no estimates, but a stock fund moves several times as much as a bond fund, so the stock funds dominate the portfolio's ups and downs. See equal weight.
Inverse volatility uses the volatilities. A fund half as volatile as another gets twice the weight, so each holding's standalone risk is the same. Correlations are ignored, which is its weakness: two funds that move together still count as two independent sources of risk. See inverse volatility weighting.
Equal risk contribution uses volatilities and correlations together. It finds the weights at which each holding's contribution to the portfolio's volatility, its risk contribution, is the same. A holding that is correlated with the rest contributes more risk per unit of money, so it gets less money. See equal risk contribution.
Hierarchical risk parity first builds a tree that groups holdings by correlation and orders them so similar ones sit side by side, then halves the ordered list again and again, giving the calmer half more weight. It never inverts the covariance matrix, which keeps it stable with highly correlated holdings, but it tends to pile money into the calmest fund. See hierarchical risk parity.
Hierarchical equal risk contribution uses the same tree but splits weight at its real branches, by each branch's volatility, so a lone, unusual holding can face the rest of the portfolio as an equal at the top split. See hierarchical equal risk contribution.
The five are like five ways of dividing a household budget between family members: the same amount each, more for the most careful spender, an amount each so that everyone's spending moves the total equally, or splits made branch by branch down the family tree.
Formula
- wᵢ
- weight of holding i, a fraction of the money; weights sum to 1
- N
- number of holdings
- σᵢ
- volatility (standard deviation of monthly returns) of holding i
- RCᵢ
- risk share of holding i: its fraction of the portfolio's variance (uncertainty); the shares sum to 1
- Σ
- covariance matrix of the holdings' monthly returns
- w
- vector of weights
- (Σw)ᵢ
- i-th entry of Σ times w: holding i's covariance with the whole portfolio
Every method on this page can be judged by the same risk shares; only ERC sets them all equal.
- α_L
- fraction of the current weight given to the left half
- V_L, V_R
- variance of each half, with the holdings inside it weighted by inverse variance
Repeated inside each half until every holding has its weight; the list is the tree's leaves in order.
- σ_L, σ_R
- volatility of the left and right branch, each measured as an inverse-variance mix of its holdings
With this split, weight times volatility is the same on both sides of every branch.
Worked example
Seven funds covering the main asset classes, VTI (US stocks), VXUS (international stocks), VNQ (US real estate), BND (US bonds), TLT (long Treasuries), GLD (gold) and DBC (commodities), from their monthly returns, Dec 2004 to Sep 2026.
Equal weight. Each fund gets a seventh of the money, but the two stock funds and the real estate fund carry 17.3%, 21.0% and 24.6% of the risk, while BND carries 3.5%. The portfolio's volatility was 9.9%, the highest of the five.
Inverse volatility moves the money toward the calm funds: BND gets 39.0%, the largest weight, and volatility drops to 7.6%. Equal risk contribution goes further and gives every fund 14.3% of the risk, with 34.0% of the money in BND, for a volatility of 7.6%. On the co-movement groups count it holds 3.59 independent bets, the most of the five.
Hierarchical risk parity gives the lowest volatility, 5.4%, by concentrating: 73.8% of the money is in BND, which then carries 56.9% of the risk, and the portfolio holds only 2.36 independent bets, the fewest of the five. Its cluster order was GLD, BND, TLT, DBC, VNQ, VTI, VXUS.
Hierarchical equal risk contribution reads the same tree differently. Gold has no close partner among the other funds, so it joins the tree last and the first split sets it alone against the other six. HERC balances that split by volatility: gold gets 23.7% of the money and carries 45.2% of the risk, the largest single share in that portfolio. Its volatility was 7.4%.
No method wins on every count. Equal weight is the simplest and the most volatile; ERC spreads risk most evenly; HRP is the calmest and the most concentrated; HERC sits in between and follows the structure of the correlations, sometimes in ways that surprise.
Data through Sep 2026. Reproduce id 4ebc8e209313c784 (this guide, its lab setup and the data month).
Interactive lab
The same seven funds weighted five ways: the money and the risk share of each fund, the portfolio's volatility, the largest weight, the largest risk share and the number of independent bets, with the correlation tree behind HRP and HERC. Add or remove funds to see every method rebuilt.
| Method | Volatility | Largest weight | Largest risk share | Bets (co-movement groups) |
|---|---|---|---|---|
| Equal weight | 9.9% | 14% | 25% | 2.87 |
| Inverse volatility | 7.6% | 39% | 18% | 3.26 |
| Equal risk contribution | 7.6% | 34% | 14% | 3.59 |
| Hierarchical risk parity | 5.4% | 74% | 57% | 2.36 |
| Hierarchical equal risk contribution | 7.4% | 43% | 45% | 3.35 |
| Method | VTI | VXUS | VNQ | BND | TLT | GLD | DBC |
|---|---|---|---|---|---|---|---|
| Equal weight | 14.3%risk 17.3% | 14.3%risk 21.0% | 14.3%risk 24.6% | 14.3%risk 3.5% | 14.3%risk 4.5% | 14.3%risk 13.0% | 14.3%risk 16.0% |
| Inverse volatility | 11.3%risk 16.6% | 10.2%risk 18.4% | 8.0%risk 17.2% | 39.0%risk 15.8% | 12.7%risk 9.0% | 9.9%risk 12.2% | 8.9%risk 10.7% |
| Equal risk contribution | 10.5%risk 14.3% | 8.3%risk 14.3% | 7.0%risk 14.3% | 34.0%risk 14.3% | 17.7%risk 14.3% | 10.9%risk 14.3% | 11.5%risk 14.3% |
| Hierarchical risk parity | 3.2%risk 3.9% | 2.6%risk 4.3% | 2.4%risk 5.3% | 73.8%risk 56.9% | 7.8%risk 14.3% | 7.2%risk 13.4% | 3.0%risk 1.9% |
| Hierarchical equal risk contribution | 3.3%risk 2.8% | 3.0%risk 3.7% | 4.5%risk 6.5% | 42.8%risk 19.0% | 13.9%risk 13.6% | 23.7%risk 45.2% | 8.9%risk 9.1% |
Weight, with the holding's share of the risk beneath it. Tree order of the holdings: GLD, BND, TLT, DBC, VNQ, VTI, VXUS. Dec 2004 to Sep 2026.
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, Dec 2004 to Sep 2026 (262 months), ending at the data month of this page. | |
| Inputs | Monthly total returns of the funds over their full common window. Population covariance (divides by N, the number of months) for the weights and risk shares; Pearson correlation for the tree. | covarianceMatrixpackages/portfolio/engine/risk.ts |
| Inverse volatility | wᵢ proportional to 1/σᵢ from the diagonal of the covariance matrix, rescaled to sum to 1. A variance below 1e-18 is floored at 1e-18. | inverseVolWeightspackages/portfolio/engine/risk.ts |
| Equal risk contribution | Cyclical coordinate descent on Spinu's convex formulation, starting from the inverse-volatility weights, until no weight moves by more than 1e-12 (at most 1,000 sweeps). Long only, weights sum to 1. | equalRiskContributionWeightspackages/portfolio/engine/risk.ts |
| Hierarchical risk parity | Correlation distance √(0.5(1 − ρ)), single linkage, leaves read left to right for the order, then recursive bisection at the midpoint of each list with inverse-variance cluster variances; the left half gets 1 − V_L / (V_L + V_R). | hierarchicalRiskParitypackages/portfolio/engine/hrp.ts |
| Hierarchical equal risk contribution | The same single-linkage tree, walked from the root along its real branches: the left branch gets σ_R / (σ_L + σ_R) of the weight, each σ the volatility of an inverse-variance mix of that branch, down to single funds. No cluster count is chosen first, a simplification of Raffinot's method. | hierarchicalEqualRiskContributionpackages/portfolio/engine/hrp.ts |
| Comparison statistics | Volatility √(12 · w′Σw); risk share wᵢ(Σw)ᵢ / w′Σw; the largest weight and the largest risk share; and the co-movement groups count of independent bets at each set of weights, where funds whose returns average a correlation of at least 0.5 form one group. | GROUP_CORRELATIONpackages/portfolio/engine/overlap.ts |
| In the app | The portfolio app's Balance-risk table and the MCP tools compute the same five weightings with the same functions over a portfolio's full window. The weights describe the window with hindsight: they are not re-estimated month by month, and they are not a backtest of holding them from the start. | weightingStatspackages/portfolio/engine/risk.ts |
| Engine functions | The functions the portfolio app and the MarketHeist MCP tools run, called here on the same monthly returns. | inverseVolWeightspackages/portfolio/engine/risk.tsequalRiskContributionWeightspackages/portfolio/engine/risk.tshierarchicalRiskParitypackages/portfolio/engine/hrp.tshierarchicalEqualRiskContributionpackages/portfolio/engine/hrp.tsweightingStatspackages/portfolio/engine/risk.tseffectiveBetspackages/portfolio/engine/overlap.ts |
Portfolio weighting methods compared with its neighbours
| Method | What it makes equal | Uses volatilities | Uses correlations | Inverts the covariance matrix | Typical result |
|---|---|---|---|---|---|
| Equal weight | Money per holding | No | No | No | Risk concentrated in the most volatile holdings |
| Inverse volatility | Standalone risk per holding | Yes | No | No | Tilts toward calm holdings; correlated holdings double-count |
| Equal risk contribution | Each holding's share of portfolio risk | Yes | Yes, every pair | No, solved iteratively | Even risk shares; large weights in calm holdings |
| Hierarchical risk parity | Risk between halves of the cluster order, by inverse variance | Yes | Through the tree | No | Lowest volatility, often concentrated in one calm holding |
| Hierarchical equal risk contribution | Weight times volatility on both sides of every branch | Yes | Through the tree | No | Follows the clusters; an isolated holding can take a large share |
| Minimum variance (not shown) | Nothing; minimizes total volatility | Yes | Yes | Yes | Sensitive to estimation error; often very concentrated |
Limitations
- All five use only risk estimates from the past window. Volatilities and correlations change, so weights that balanced risk over the window may not balance it next year.
- None uses expected returns. A method that loads up on bonds because they are calm does so whatever bonds are expected to earn.
- The weights here are computed with hindsight over the whole window; a fair test of holding them would re-estimate them only from data available at each rebalance.
- Unlevered risk-based weights tilt heavily toward low-volatility funds, which lowers long-run growth. Risk parity funds that target stock-like returns use leverage, which is not modelled here.
- The hierarchical methods depend on a discrete tree. A small change in correlations can reorder it, and with it the weights.
Frequently asked questions
- What is the difference between inverse volatility and risk parity?
- Inverse volatility equalizes each holding's standalone volatility and ignores correlations. Risk parity in the strict sense, equal risk contribution, equalizes each holding's contribution to the portfolio's volatility, which depends on correlations. The two agree only when every pair of holdings is equally correlated.
- Is HRP better than equal risk contribution?
- They answer different questions. ERC makes every holding's risk share equal; HRP aims for a stable, low-volatility portfolio without inverting the covariance matrix and often ends up concentrated. Out-of-sample studies give mixed results that depend on the assets and the period.
- Why do risk-based methods put so much in bonds?
- Because bonds have usually been far less volatile than stocks, so equalizing risk takes several units of bond money for each unit of stock money. Without leverage that lowers the expected growth of the portfolio along with its volatility.
- Which weighting method gives the most diversification?
- It depends on the measure. Equal risk contribution spreads the risk shares most evenly by construction; on the co-movement groups count of independent bets it often comes out highest, as in the example here. HRP usually gives the lowest volatility, which is a different goal.
- Do these methods need expected returns?
- No. All five use only volatilities and correlations. That is their appeal, because expected returns are much harder to estimate than risk, and their limit, because they cannot prefer a holding for its return.
References
- DeMiguel, V., Garlappi, L. and Uppal, R. (2009) Optimal Versus Naive Diversification: How Inefficient Is the 1/N Portfolio Strategy?. Review of Financial Studies 22(5). Equal weight against optimized portfolios.
- Maillard, S., Roncalli, T. and Teiletche, J. (2010) The Properties of Equally Weighted Risk Contribution Portfolios. Journal of Portfolio Management 36(4).
- Spinu, F. (2013) An Algorithm for Computing Risk Parity Weights. SSRN working paper. The convex formulation MarketHeist solves.
- López de Prado, M. (2016) Building Diversified Portfolios that Outperform Out of Sample. Journal of Portfolio Management 42(4). Hierarchical risk parity.
- Raffinot, T. (2018) The Hierarchical Equal Risk Contribution Portfolio. HERC.
Try it on your own holdings
Open All Weather and compare five weightings in Balance risk →
Or ask an assistant connected to the MarketHeist MCP server (https://marketheist.io/mcp), which computes the same figures:
Using MarketHeist.io, for a portfolio of VTI, VXUS, VNQ, BND, TLT, GLD and DBC, what are the risk shares at equal weights, and what equal-risk weights would balance them?
Ask an AI assistant
The prompt opens in a new tab, already filled in. 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: weighting-methods.md.