Free lesson · Portfolio management theory
Marginal risk, risk contributions and strategy overlap
Open interactive lessonPractice calculationsExplore labs
Start with the idea
A position’s risk depends on how it interacts with the rest of the book. Marginal risk measures the local portfolio-volatility change from adding exposure; risk contribution scales that sensitivity by the current position.
Symbols, units & horizon
- σ_p: positive portfolio volatility
- w_i: asset or strategy weight
- Σ: covariance matrix
- MRC_i: marginal volatility per unit weight
- RC_i: component contribution in volatility units
- (Σw)_i: i-th component of matrix-vector product
- Sum identity: Euler decomposition for homogeneous volatility
When and why to use this
Use risk contributions to identify concentrated risk across assets, factors and supposedly different strategy sleeves.
Equal dollars do not mean equal risk. In a positively correlated two-asset portfolio, a higher-volatility asset may dominate total risk despite equal weights. Risk-budget methods seek a chosen distribution of contributions, while expected-return optimisation answers a different question.
Hierarchical methods group correlated assets before allocating risk. They can reduce sensitivity to noisy inverses, but depend on distance, linkage and tree stability. They are allocation procedures to evaluate, not universally superior replacements for covariance estimation.
At the strategy level, common names, factors and execution windows create overlap. Estimate risk from netted instrument exposures and portfolio returns, not by summing standalone VaRs. Negative risk contributions can occur for hedges; their interpretation requires the whole portfolio.
Marginal risk, risk contributions and strategy overlap
- Differentiate sqrt(wᵀΣw): the outer derivative contributes 1/(2σ_p), and the quadratic derivative contributes 2Σw.
- Multiply each marginal derivative by its weight to obtain the component contribution.
- Sum contributions: wᵀΣw/σ_p=σ_p²/σ_p=σ_p. This verifies that the decomposition reconciles.
Independent variances [.04,.16] and equal weights [.5,.5] give variance .05 and volatility .223607. Contributions are .044721 and .178885, or 20% and 80% of total volatility.
Apply it in a strategy
- Compute marginal and component risks on netted final weights, checking the sum identity.
- Compare actual contributions with the mandate’s risk budgets and liquidity constraints.
- Stress covariance and cluster membership; inspect whether diversification survives common adverse scenarios.
Research deliverable
Create a contribution report that reconciles to total risk and identifies overlapping exposures across strategy sleeves.
Python implementation
Self-contained teaching example. Python 3.10+; dependencies and input conventions are shown in the code and notation. Run in your own Python environment.
import numpy as np
def risk_contributions(weights,covariance):
w=np.asarray(weights,float); s=np.asarray(covariance,float)
variance=float(w@s@w)
if variance<=0: raise ValueError("Positive portfolio variance required")
vol=variance**.5
marginal=s@w/vol
return vol,marginal,w*marginal
print(risk_contributions([.5,.5],[[.04,0],[0,.16]]))Continue learning
Portfolio Theory: Estimation, Risk Budgets & Rebalancing — all lessons- Mean–variance theory and the efficient frontier
- Covariance estimation, shrinkage and fragile allocations
- Regime uncertainty: combine scenarios before allocating
- Marginal risk, risk contributions and strategy overlap
- Bayesian views, forecast uncertainty and robust decisions
- Turnover, no-trade regions and dynamic portfolio management
Quantitative finance and development glossary · Python resources and libraries · Research sources and limitations