AnyLearn
All lessons
Businessintermediate

Practical Portfolio Construction: Minimum Variance, Risk Parity and Rebalancing

When expected returns cannot be trusted, portfolios are built from risk instead. Learn how to measure each holding's risk contribution, how minimum variance and equal risk contribution portfolios work and differ, what leverage does to them, and how rebalancing and turnover turn a weight rule into a real strategy.

Updated · AI-authored, review-gated · how lessons are made

Not signed in: your progress and quiz score won't be saved.
Progress1 / 10

A menu ordered by what it estimates

The previous lesson in this course showed that expected returns are the least reliable input to a portfolio, and a raw covariance matrix is not far behind. Practical portfolio rules can be ranked by how much they need to estimate.

RuleNeedsWeights proportional to
Equal weight (1/N)Nothing1 for every asset
Inverse volatilityVolatilities1/σi1 / \sigma_i
Equal risk contribution (risk parity)Full covariance matrixSolved so each asset carries the same share of risk
Minimum varianceFull covariance matrixΣ−11\Sigma^{-1}\mathbf{1}, usually with constraints
Mean-variance (tangency)Covariance matrix and expected returnsΣ−1μ\Sigma^{-1}\mu

Moving down the table uses more information and exposes the result to more estimation error. None of these rules is best in every market; the choice is about which errors you are prepared to carry. This lesson works through the middle of the table on the same three-asset example used in the first lesson: A (10% volatility), B (15%), C (20%), with correlations 0.3, 0.2 and 0.5.

Full lesson text

All 10 steps on one page, for reading, reference, and search.

Show

1. A menu ordered by what it estimates

The previous lesson in this course showed that expected returns are the least reliable input to a portfolio, and a raw covariance matrix is not far behind. Practical portfolio rules can be ranked by how much they need to estimate.

RuleNeedsWeights proportional to
Equal weight (1/N)Nothing1 for every asset
Inverse volatilityVolatilities1/σi1 / \sigma_i
Equal risk contribution (risk parity)Full covariance matrixSolved so each asset carries the same share of risk
Minimum varianceFull covariance matrixΣ−11\Sigma^{-1}\mathbf{1}, usually with constraints
Mean-variance (tangency)Covariance matrix and expected returnsΣ−1μ\Sigma^{-1}\mu

Moving down the table uses more information and exposes the result to more estimation error. None of these rules is best in every market; the choice is about which errors you are prepared to carry. This lesson works through the middle of the table on the same three-asset example used in the first lesson: A (10% volatility), B (15%), C (20%), with correlations 0.3, 0.2 and 0.5.

2. Measuring where the risk comes from

Weights tell you where the money is. They do not tell you where the risk is. The risk contribution of asset ii is its weight times its marginal effect on portfolio variance:

RCi=wi (Σw)iw⊤Σw,∑iRCi=1\text{RC}_i = \frac{w_i \, (\Sigma w)_i}{w^\top \Sigma w}, \qquad \sum_i \text{RC}_i = 1

The contributions sum to exactly 100% of the variance (a consequence of Euler's theorem for functions that scale with the weights), so they can be read as a budget.

Apply it to the equally weighted portfolio of A, B and C:

AssetWeightRisk contribution
A (10% vol)33.3%15.5%
B (15% vol)33.3%35.1%
C (20% vol)33.3%49.4%

Key idea: Equal money is not equal risk. The "diversified" 1/N portfolio gets almost half its risk from one asset, C, because C is both the most volatile and the most correlated with the others. On a real multi-asset portfolio split between equities and bonds, the same arithmetic leaves the equities dominating the risk.

3. Equal risk contribution

The equal risk contribution (ERC) portfolio, the formal version of risk parity, chooses weights so that every asset has the same risk contribution. Maillard, Roncalli and Teiletche studied its properties in "The Properties of Equally Weighted Risk Contribution Portfolios" (Journal of Portfolio Management, 2010). Two of their results matter most in practice:

  • The ERC portfolio's volatility always lies between that of the minimum-variance portfolio and that of the equally weighted portfolio.
  • When all pairwise correlations are equal, ERC weights reduce exactly to inverse volatility, wi∝1/σiw_i \propto 1/\sigma_i.

Solved on the three-asset example (computed with scipy, as in the code step below):

ABC
ERC weight48.8%28.7%22.6%
ERC risk contribution33.3%33.3%33.3%
Inverse-volatility weight46.2%30.8%23.1%
Inverse-volatility risk contribution30.0%36.0%34.0%

Inverse volatility gets close to equal risk here, because the correlations differ only moderately. The gap grows when one asset is much more correlated with the rest than the others are.

4. Four rules on one problem

Here are the four risk-based rules on the same three assets, scored with the true inputs.

Volatility of four weighting rules, three-asset example
Annual volatility (%)0510159.2510.1710.3211.52Minimum varianceEqual risk contributionInverse volatilityEqual weight
Source: Computed for this lesson from the three-asset example (vols 10/15/20%, correlations 0.3/0.2/0.5), numpy and scipy

The ordering matches the Maillard, Roncalli and Teiletche result: ERC at 10.17% sits between minimum variance at 9.25% and equal weight at 11.52%.

Predict first

The minimum-variance portfolio holds 74.5% in A, 18.5% in B and 7.0% in C. What are its risk contributions?

5. Solving for equal risk in Python

ERC has no closed form for general correlations, but it is a small, well-behaved optimisation: minimise the spread between the risk contributions, subject to the weights being positive and summing to one.

import numpy as np
from scipy.optimize import minimize

def risk_contributions(w, Sigma):
    marginal = Sigma @ w
    return w * marginal / (w @ marginal)

def equal_risk_contribution(Sigma):
    n = len(Sigma)
    def objective(w):
        rc = w * (Sigma @ w)
        return np.sum((rc[:, None] - rc[None, :]) ** 2)   # all pairwise gaps
    res = minimize(objective, np.ones(n) / n, method="SLSQP",
                   bounds=[(0, 1)] * n,
                   constraints={"type": "eq", "fun": lambda w: w.sum() - 1},
                   options={"ftol": 1e-14})
    return res.x

vol = np.array([0.10, 0.15, 0.20])
corr = np.array([[1, .3, .2], [.3, 1, .5], [.2, .5, 1]])
Sigma = np.outer(vol, vol) * corr
w = equal_risk_contribution(Sigma)
print(w.round(3), risk_contributions(w, Sigma).round(3))
# [0.488 0.287 0.226] [0.333 0.333 0.333]

The tight ftol matters: the objective is tiny near the solution, and the default tolerance can stop early with visibly unequal contributions. In production, feed it a shrunk covariance matrix, for the reasons the previous lesson measured.

6. The leverage question

Risk-based portfolios lean toward low-volatility assets, so they tend to have lower volatility and lower expected return than 1/N. On the three-asset example:

PortfolioExpected excess returnVolatilitySharpe ratio
Equal weight7.00%11.52%0.607
ERC, unlevered6.48%10.17%0.637
ERC levered 1.133x to 11.52% volatility7.34%11.52%0.637

Scaling any portfolio by a leverage factor scales its excess return and volatility together, leaving the Sharpe ratio unchanged. So if the ERC portfolio's Sharpe ratio is higher, borrowing to bring it up to 1/N's volatility produces more expected return at the same risk: 7.34% against 7.00% in this example. This is the logic behind risk parity funds that apply leverage to a risk-balanced mix.

Gotcha: The table assumes borrowing at the risk-free rate with no margin calls. Real leverage costs a spread over that rate, needs collateral, and can force selling at the worst moment. The trading risk course on AnyLearn covers how margin and leverage spirals work. A higher Sharpe ratio on paper only becomes a higher return after those costs.

7. Rebalancing: rules decay as prices move

Every weighting rule is a snapshot. The day after you set the weights, prices move and the portfolio drifts. Start the three-asset example at 1/N and suppose that over a year A returns 2%, B 10% and C 25%:

AssetStart weightValue after a yearDrifted weight
A33.3%0.34030.3%
B33.3%0.36732.6%
C33.3%0.41737.1%
Total100%1.123100%

Restoring 1/N means selling 3.8 points of C and buying A and B: trades totalling 7.5% of the portfolio. Drift also moves the risk: C, already the biggest risk contributor, now carries even more of the portfolio's variance.

Definition: Turnover is the fraction of the portfolio traded in a period, often reported one-way (half the sum of absolute weight changes, 3.8% here). The annual cost drag is roughly turnover times the cost per unit traded, including spreads, commissions and market impact, so a strategy's gross advantage has to be judged net of it. DeMiguel, Garlappi and Uppal included turnover as one of their three comparison measures for exactly this reason.

8. Two ways to decide when to rebalance

Calendar rules are simple and predictable. Band rules trade only when drift is large enough to matter.

stateDiagram-v2
  [*] --> OnTarget
  OnTarget --> Drifting: prices move
  Drifting --> Drifting: inside tolerance band
  Drifting --> Rebalance: weight leaves band
  Drifting --> Rebalance: calendar date reached
  Rebalance --> OnTarget: trade back to target

9. Rebalancing design choices

Rebalancing policy is where a weighting rule meets its costs. The main levers:

ChoiceOptionsTrade-off
TriggerCalendar (monthly, quarterly, annual), tolerance bands, or bothFrequent trading tracks the target closely but costs more
Trade sizeBack to target, or only back to the band edgeTrading to the edge cuts turnover but leaves residual drift
Cash flowsDirect new money and withdrawals toward underweight assetsRebalances for free when flows exist
EstimatesRefresh the covariance matrix each rebalance, or smooth itFresh estimates react faster but move weights on noise

The last row connects back to estimation error. A minimum-variance or ERC portfolio recomputed from a short, unshrunk covariance window will change its weights every period in response to noise, generating turnover that buys nothing. Longer windows, shrinkage and bands all damp this.

In practice: Estimate turnover before choosing a rule, not after. A strategy whose paper advantage over 1/N is smaller than its extra trading cost is not an improvement, however sophisticated the weights.

10. A construction checklist

Put the three lessons together and a defensible process looks like this:

  1. Define the universe and the benchmark. 1/N over the same assets is the minimum bar any rule must clear out of sample.
  2. Decide what you are willing to estimate. If you have no return forecast you would bet on, use a risk-based rule and ignore expected returns entirely.
  3. Estimate risk robustly. Shrink the covariance matrix, and use enough history for the number of assets.
  4. Choose the rule for its risk profile. Minimum variance for the lowest volatility, accepting concentration; ERC for balanced risk; inverse volatility when you want most of ERC's balance with only volatility estimates.
  5. Add constraints deliberately. Long-only and position caps limit the damage any single estimate can do.
  6. Decide on leverage explicitly, with its real borrowing cost and margin terms.
  7. Set the rebalancing policy and measure turnover.
  8. Evaluate out of sample, net of costs, against the benchmark from step 1.

Key idea: Portfolio construction is mostly the management of estimation error. The mathematics of diversification is exact; the inputs are not, and the rules that survive are the ones that use the fewest unreliable numbers.

Check your understanding

The lesson ends with a 5-question quiz. Take it in the player above to see your score.

  1. In the three-asset equally weighted portfolio, what share of the risk comes from asset C, the most volatile asset?
    • 33.3%
    • 15.5%
    • About 49%
    • 100%
  2. According to Maillard, Roncalli and Teiletche (2010), where does the ERC portfolio's volatility lie?
    • Between the minimum-variance and the equally weighted portfolios
    • Below the minimum-variance portfolio
    • Above the equally weighted portfolio
    • Always exactly equal to inverse volatility
  3. When do ERC weights reduce exactly to inverse-volatility weights?
    • When all volatilities are equal
    • When the portfolio is levered
    • When expected returns are equal
    • When all pairwise correlations are equal
  4. Why does levering a portfolio not change its Sharpe ratio (ignoring borrowing costs)?
    • Leverage reduces volatility
    • Leverage scales excess return and volatility by the same factor
    • Leverage changes the correlations
    • Leverage only affects the minimum-variance portfolio
  5. Why can a minimum-variance portfolio recomputed each month from a short, unshrunk covariance window generate wasteful turnover?
    • Minimum variance ignores covariances
    • Monthly rebalancing is prohibited
    • Its weights react to estimation noise, so they change even when true risks have not
    • It always holds equal weights

Related lessons

Business
intermediate

Estimation Error: Why Optimized Portfolios Disappoint

Mean-variance optimization treats its inputs as facts, and they are estimates. See why expected returns are nearly impossible to estimate, how optimizers magnify the noise, why simple 1/N weighting is so hard to beat out of sample, and how shrinkage and constraints recover much of the loss.

10 steps·~15 min
Business
intermediate

Mean-Variance Optimization: The Mathematics of Diversification

Portfolio risk is not the average of the risks inside it. Learn Markowitz's mean-variance framework, how correlation sets the limit of diversification, how the minimum-variance and tangency portfolios are computed, and what the model quietly assumes about its inputs.

10 steps·~15 min
AI
advanced

Building Something That Holds Up

Given that the tradable-signal path is narrow and hard to evidence, the systems worth building are the ones the first lesson identified: extraction at scale. This lesson covers the engineering that makes them survive audit, the evaluation that does not depend on returns, and the governance obligations that apply once a model touches a regulated process.

8 steps·~12 min
AI
advanced

Where LLMs Actually Fit in a Trading Firm

The popular framing is a model that predicts prices. That is the one job the technology is worst suited to, and it obscures the one it is genuinely good at: turning unstructured text into structured data at a scale that was previously unaffordable. This lesson locates LLMs against the trading stack and rules out the places they cannot go.

8 steps·~12 min