Quant Memo
Advanced

Decomposing Portfolio Risk by Factor

A portfolio's total variance can be split into exactly how much comes from each factor it's exposed to and how much is left over as pure stock-specific noise — turning a single risk number into a list of where the risk actually lives.

Prerequisites: Mapping Positions to Risk Factors, Barra-Style Equity Risk Models

Ask an orchestra conductor how loud the hall got and "very loud" isn't a useful answer — what matters is knowing the strings drove most of it, the brass added a correlated surge on top, and the audience's own noise was a small, uncorrelated residual. A portfolio's risk number works the same way: a single volatility figure hides where the risk comes from. Multi-factor risk decomposition takes that one number apart into exactly how much came from each factor the portfolio is exposed to, and how much is left over as pure, unexplained stock noise.

Splitting the variance

A factor risk model writes total portfolio variance as two pieces:

σp2=wBFBw+wDw.\sigma_p^2 = \mathbf{w}^\top \mathbf{B} \mathbf{F} \mathbf{B}^\top \mathbf{w} + \mathbf{w}^\top \mathbf{D} \mathbf{w} .

In words: w\mathbf{w} is the vector of portfolio weights, B\mathbf{B} is the matrix of each stock's exposure to each factor (from the sector, country, and style memberships), and F\mathbf{F} is the factor covariance matrix — how much each factor moves and how the factors move together. The first term, wBFBw\mathbf{w}^\top \mathbf{B} \mathbf{F} \mathbf{B}^\top \mathbf{w}, is the systematic variance: risk that comes from the portfolio's factor tilts. D\mathbf{D} is a diagonal matrix of each stock's own specific variance, the part a factor model can't explain, so wDw\mathbf{w}^\top \mathbf{D} \mathbf{w} is the specific variance — it shrinks as a portfolio holds more, less-correlated names, because specific risk actually diversifies, unlike factor risk.

Worked example 1 — two factors, one portfolio

A portfolio has a net exposure of 0.80.8 to a Value factor and 0.3-0.3 to a Momentum factor. Value's own variance is 4%24\%^2, Momentum's is 9%29\%^2, and the two factors have a covariance of 1%2-1\%^2 (they tend to move slightly opposite each other). The factor variance is 0.82(4)+(0.3)2(9)+2(0.8)(0.3)(1)=2.56+0.81+0.48=3.85%20.8^2(4) + (-0.3)^2(9) + 2(0.8)(-0.3)(-1) = 2.56 + 0.81 + 0.48 = 3.85\%^2, so systematic volatility is 3.851.96%\sqrt{3.85} \approx 1.96\%. If the portfolio's specific variance from its diagonal D\mathbf{D} term works out to 1.15%21.15\%^2, total portfolio variance is 3.85+1.15=5.00%23.85 + 1.15 = 5.00\%^2, i.e. total volatility of exactly 52.24%\sqrt{5} \approx 2.24\% — with the two factors together responsible for 3.85/5.00=77%3.85 / 5.00 = 77\% of it.

Worked example 2 — attributing the 77% between the two factors

Splitting that 3.85%23.85\%^2 further between Value and Momentum uses each factor's own contribution, wjkwkFjkw_j \sum_k w_k \mathbf{F}_{jk}. Value's piece: 0.8×[0.8(4)+(0.3)(1)]=0.8×[3.2+0.3]=0.8×3.5=2.80%20.8 \times [0.8(4) + (-0.3)(-1)] = 0.8 \times [3.2 + 0.3] = 0.8 \times 3.5 = 2.80\%^2. Momentum's piece: 0.3×[(0.3)(9)+0.8(1)]=0.3×[2.70.8]=0.3×3.5=1.05%2-0.3 \times [(-0.3)(9) + 0.8(-1)] = -0.3 \times [-2.7 - 0.8] = -0.3 \times -3.5 = 1.05\%^2. Check: 2.80+1.05=3.85%22.80 + 1.05 = 3.85\%^2, matching the total factor variance exactly — Value alone contributes 2.80/5.00=56%2.80/5.00 = 56\% of total portfolio risk, more than double Momentum's 1.05/5.00=21%1.05/5.00 = 21\%, even though Momentum's own volatility is higher, because the portfolio's Value tilt is bigger and the negative covariance between the two factors actually works in the portfolio's favor.

Value 56% Momentum 21% Specific 23%
The same 5.00%² of total variance from the worked example, split by source — Value dominates even though it isn't the more volatile of the two factors.
Value Momentum Value Momentum 4.0 -1.0 -1.0 9.0
The factor covariance matrix from worked example 1 — diagonal cells are each factor's own variance, the off-diagonal cells are the covariance between them, and every cell feeds into the total systematic variance.

What this means in practice

A risk desk doesn't just report "your book's volatility is 12% a year" — it hands the portfolio manager a ranked list of which factors are driving that number, so a manager who believes they're running a stock-picking book can see, in black and white, that most of the risk is actually one large factor tilt they never intended. This is the diagnostic step before hedging or neutralizing anything: you can't fix an exposure you haven't measured.

The specific-variance term wDw\mathbf{w}^\top \mathbf{D} \mathbf{w} assumes stock-specific residuals are uncorrelated with each other. When that assumption breaks — because the model is missing a factor that several holdings secretly share — some of what gets reported as "diversified-away specific risk" is actually correlated risk hiding in the residuals. See Residual Correlation and Missing Factors.

Total portfolio variance always splits cleanly into factor variance (which does not diversify away, since every holding shares the exposure) and specific variance (which does), and the factor piece can always be broken down further, factor by factor, to show exactly where the systematic risk lives.

Related concepts

Practice in interviews

Further reading

  • Grinold & Kahn, Active Portfolio Management (Ch. 3)
  • Litterman, Modern Investment Management (Ch. 17)
ShareTwitterLinkedIn