Trading Dev AcademyFree quant education

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.

σp=w𝖳Σw,MRCi=(Σw)iσp,RCi=wiMRCi,∑iRCi=σp
Model assumptions, derivation and arithmetic

Marginal risk, risk contributions and strategy overlap

  1. Differentiate sqrt(wᵀΣw): the outer derivative contributes 1/(2σ_p), and the quadratic derivative contributes 2Σw.
  2. Multiply each marginal derivative by its weight to obtain the component contribution.
  3. Sum contributions: wᵀΣw/σ_p=σ_p²/σ_p=σ_p. This verifies that the decomposition reconciles.
Work it by hand

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
  1. Mean–variance theory and the efficient frontier
  2. Covariance estimation, shrinkage and fragile allocations
  3. Regime uncertainty: combine scenarios before allocating
  4. Marginal risk, risk contributions and strategy overlap
  5. Bayesian views, forecast uncertainty and robust decisions
  6. Turnover, no-trade regions and dynamic portfolio management

Quantitative finance and development glossary · Python resources and libraries · Research sources and limitations