Reader question: Equal capital weights are easy to understand, but how can an algorithm allocate a portfolio so that every component contributes the same amount of risk instead?
Risk parity, also called equal risk contribution, starts from Euler’s decomposition of portfolio volatility. If portfolio volatility is a homogeneous function of the weights, it can be decomposed into additive contributions from each asset. The algorithm then solves a nonlinear system that makes those contributions equal, or more generally proportional to chosen risk budgets.
This article owns the risk-budgeting weight-solution problem: covariance matrix + risk budgets + weight constraints → portfolio weights whose marginal and total contributions satisfy a chosen risk-allocation rule.
It does not own expected-return forecasting, leverage policy, strategic asset allocation, or personalised portfolio recommendations. The purpose here is mathematical and algorithmic: how equal-risk contributions are defined, solved, verified and falsified.
This is public educational material, not financial advice.
1. Portfolio volatility
Let w be a vector of portfolio weights and Σ a covariance matrix. Portfolio variance is:
σ²(w) = wTΣw.
Portfolio volatility is:
σ(w) = √(wTΣw).
The covariance matrix contains both individual volatilities and cross-asset dependence. Risk parity therefore depends on more than the volatility of each asset alone.
2. Marginal risk contribution
The derivative of portfolio volatility with respect to weight wi is:
MRCi = ∂σ/∂wi = (Σw)i/σ(w).
This is the marginal risk contribution: how rapidly total portfolio volatility changes when asset i‘s weight changes locally.
3. Total risk contribution
Multiply marginal contribution by the current weight:
RCi = wiMRCi = wi(Σw)i/σ(w).
By Euler’s theorem for homogeneous functions:
σ(w) = Σi RCi.
This identity is the accounting rule behind risk budgeting. Every unit of portfolio volatility is allocated back to portfolio components.
4. Equal risk contribution
For n assets, the equal-risk-contribution condition is:
RCi = σ(w)/n
for every i.
An equivalent variance-scale condition is:
wi(Σw)i = σ²(w)/n.
This is nonlinear because each asset’s contribution depends on every weight through Σw and through total volatility.
5. Risk budgets generalise equal parity
Let bi > 0 be risk-budget fractions satisfying:
Σ bi = 1.
The general risk-budgeting condition is:
RCi = biσ(w).
Equal risk contribution is the special case bi=1/n.
This distinction matters because “risk parity” is sometimes used broadly for any risk-budgeting portfolio, while strict equal risk parity gives identical contribution targets.
6. Inverse volatility is only a special case
If assets are uncorrelated, Σ is diagonal and:
(Σw)i = σi2wi.
Then equal risk contributions imply approximately:
wi ∝ 1/σi.
But when correlations are nonzero, inverse-volatility weights generally do not equalise total risk contributions.
Falsifier: calculate actual RCi under inverse-volatility weights. If they are not equal, inverse volatility is only a heuristic, not the full risk-parity solution.
7. Why there is no simple closed form in general
The equations:
wi(Σw)i = biwTΣw
must hold simultaneously.
Each equation contains cross-products with all other weights, so a general analytic formula is unavailable. Risk parity is therefore a numerical optimisation or root-finding problem.
8. A convex formulation
One useful formulation solves for positive unnormalised variables x by minimising a quadratic risk term subject to a logarithmic budget constraint, or equivalently through a barrier objective of the form:
min ½xTΣx − λ Σibiln xi.
The logarithmic term keeps positive weights away from zero and embeds the risk budgets in the first-order conditions.
After solving, the vector can be rescaled to satisfy the desired capital-weight sum, such as:
Σ wi = 1.
The exact normalisation depends on the chosen formulation and constraints.
9. Coordinate-descent algorithms
Cyclical coordinate descent updates one weight at a time while holding the others fixed. The one-dimensional subproblem can often be solved efficiently because the risk-budget equation becomes a quadratic expression in the selected coordinate.
A typical cycle is:
- initialise positive weights;
- update asset 1;
- update asset 2;
- continue through all assets;
- rescale if required;
- repeat until contribution errors are below tolerance.
Modern research has shown that carefully implemented coordinate-descent and Newton-type methods can solve equal-risk-contribution systems very efficiently.
10. Newton methods
Define residual equations such as:
fi(w) = RCi/σ(w) − bi.
A Newton solver uses the Jacobian of these equations to update the full weight vector.
Newton methods can converge rapidly near the solution but may require:
- a good initial guess;
- careful positivity enforcement;
- regularisation when the covariance matrix is poorly conditioned;
- line search or damping when a full Newton step is too aggressive.
11. Solver output needs a residual test
A solver reporting “success” is not enough. Recompute:
ei = RCi/σ(w) − bi.
Then report:
maxi|ei|.
This is the direct economic residual: how far any asset’s realised risk share remains from its target budget.
Also verify the weight constraints, portfolio variance, covariance-matrix validity and gradient/KKT residuals of the optimisation formulation.
12. Inputs and outputs
Inputs can include:
- covariance matrix;
- risk-budget vector;
- long-only or other weight constraints;
- normalisation rule;
- initial weights;
- solver choice;
- tolerance;
- maximum iterations;
- rebalancing frequency;
- turnover controls where relevant.
Outputs can include:
- portfolio weights;
- portfolio volatility;
- marginal risk contributions;
- total risk contributions;
- percentage risk contributions;
- risk-budget residuals;
- solver diagnostics;
- sensitivity to covariance assumptions;
- turnover between rebalancing dates.
13. Evidence polarity
Evidence for confidence includes tiny risk-budget residuals, stable solutions across multiple initial guesses, a valid positive-definite covariance matrix, reasonable sensitivity to small covariance perturbations, lower concentration of risk than simple capital weighting, and out-of-sample risk contributions that remain acceptably close to intended budgets.
Evidence against confidence includes large residuals, solver dependence on initialisation, extreme weights caused by near-singular covariance structure, rapid turnover from small covariance changes, realised risk dominated by one component during stress, or a result that appears balanced only because leverage or constraints have hidden the true contribution pattern.
14. Counterexample: low volatility but high correlation
Two low-volatility assets can be highly correlated with each other and with the rest of the portfolio. Inverse-volatility weighting may assign them large capital weights, yet their combined contribution to portfolio risk can be much larger than expected.
Falsifier: compute full covariance-based risk contributions rather than relying on standalone volatility.
15. Counterexample: correlation changes during stress
Risk parity is often estimated from a covariance matrix that reflects historical co-movement. If correlations rise sharply in stress, ex-ante equal risk contributions can become ex-post highly unequal.
Falsifier: recompute risk contributions under stressed covariance scenarios and dynamic-correlation estimates.
This connects directly to GARCH/EWMA volatility forecasting and dynamic covariance modelling.
16. Counterexample: near-singular covariance
If two assets are nearly duplicates, the covariance matrix can be ill-conditioned. The solver may discover extreme offsetting weights or become numerically unstable.
Falsifier: inspect eigenvalues and condition number, then compare results using a stabilised covariance estimator.
See correlation-matrix repair algorithms for matrix validity and the covariance-shrinkage material in this finance lane for statistical stabilisation.
17. Counterexample: turnover overwhelms the theoretical benefit
If risk estimates change daily, a pure risk-parity solver can generate frequent rebalancing. Transaction costs, taxes, market impact and operational constraints can dominate the theoretical improvement.
Falsifier: add turnover costs or no-trade bands and compare net results. A mathematically exact contribution target is not automatically economically optimal.
18. Counterexample: equal risk is not equal economic importance
An asset can contribute little measured volatility while carrying important liquidity, jump, inflation, credit, legal or regime risk not represented in the covariance matrix.
Equalising covariance-based volatility contributions does not equalise every possible form of risk.
Boundary: the algorithm allocates the chosen mathematical risk measure, not an all-encompassing concept of safety.
19. Leverage is a separate layer
Once a risk-parity weight vector is found, some implementations scale the whole portfolio to a target volatility.
If weights are multiplied by scalar c:
σ(cw) = cσ(w).
Percentage risk contributions remain unchanged under uniform scaling, but absolute risk and financing exposure change.
Therefore:
risk-budget solution ≠ leverage decision.
The first allocates risk shares. The second chooses the portfolio’s total risk level.
20. Risk parity and Euler capital allocation
The same Euler decomposition that allocates portfolio volatility across assets also appears in economic-capital allocation.
See Euler risk-capital allocation algorithms.
The roles are different:
- Euler allocation asks how a given portfolio’s total risk should be attributed;
- risk parity searches for weights that make those attributed risk shares satisfy a target budget.
21. Alternatives
Equal weighting is transparent and requires no covariance estimate.
Inverse volatility is a simple approximation when correlations are weak or ignored.
Minimum variance minimises total variance but can produce concentrated weights.
Mean–variance optimisation includes expected returns but introduces additional estimation uncertainty.
Maximum diversification maximises a diversification ratio rather than equalising contributions.
Hierarchical risk parity uses clustering and recursive allocation to reduce dependence on matrix inversion.
Expected-Shortfall risk budgeting replaces volatility with a different homogeneous risk measure when tail loss is the intended object.
22. Diagnostics that should be automated
- Covariance symmetry and positive definiteness.
- Condition number and eigenvalue spectrum.
- Weight-sum and bound constraints.
- Maximum risk-budget residual.
- Gradient or KKT residual.
- Convergence from multiple starting points.
- Sensitivity to covariance perturbations.
- Risk contributions under stressed covariance matrices.
- Rolling turnover.
- Out-of-sample realised contribution dispersion.
- Comparison with inverse-volatility, equal-weight and minimum-variance challengers.
23. Connections to the Bukit Timah Tutor knowledge estate
Mean–variance portfolio optimisation uses the same covariance machinery but a different objective.
Euler risk allocation provides the decomposition that risk parity turns into a target equation.
Correlation-matrix repair provides mathematical validity checks for the covariance input.
The lane hub is Finance & Banking Algorithms | Applied Mathematics in Real Financial Systems.
24. What would falsify confidence?
Confidence should be withdrawn if the solver does not actually meet the risk budgets; if covariance estimates are unstable or invalid; if small input perturbations create extreme weight changes; if realised risk contributions repeatedly diverge from intended budgets; if turnover costs dominate; or if unmodelled tail, liquidity or jump risks are the main hazards in the use case.
25. Verification and update triggers
Preserve the covariance matrix, risk budgets, solver version, initialisation, constraints, tolerance, final weights and contribution residuals for every run. Revalidate when the asset universe changes, covariance methodology changes, new constraints are introduced or the risk measure changes.
Trigger review when condition numbers rise, risk-budget residuals deteriorate, turnover spikes, stress correlations move materially, realised contribution concentration increases, or a simpler challenger provides similar risk balance with greater stability.
26. Primary and high-quality references
- Sébastien Maillard, Thierry Roncalli and Jérôme Teïletche, The Properties of Equally Weighted Risk Contribution Portfolios, Journal of Portfolio Management, 2010.
- Thierry Roncalli, research resources on risk budgeting and equally weighted risk contributions.
- Jaehyuk Choi and Rong Chen, Improved Iterative Methods for Solving Risk Parity Portfolio, Journal of Derivatives and Quantitative Studies, 2022.
- Federal Reserve Board and OCC, SR 11-7 — Guidance on Model Risk Management, for validation and model-risk principles.
Educational boundary: equalising modelled risk contributions does not guarantee equal economic risk or future diversification. The result is only as sound as the risk measure, covariance estimate, constraints and data supporting it.
