Allocate volatility through covariance
Convert percentage weights to fractions w that sum to one, and calculate the sample covariance matrix C using N − 1. Portfolio variance is w′Cw and periodic standard deviation is σp = sqrt(w′Cw). Asset i contributes RCᵢ = wᵢ(Cw)ᵢ/σp. Contributions sum to portfolio standard deviation when it is positive. Annualize both total volatility and each contribution by sqrt(P), where P is observations per year. The contribution unit is percentage points of portfolio volatility.
A positive holding can reduce total variation
Consider three aligned return series: A is 1%, −1%, 0%; B is 2%, −2%, 0%; and C is −1%, 1%, 0%. With weights 50%, 25%, and 25%, portfolio returns are 0.75%, −0.75%, and 0%. Sample portfolio volatility is 0.75% per observation period. The signed contributions are 0.50, 0.50, and −0.25 percentage points, which sum to 0.75. Asset C has a positive capital weight yet offsets variation in this sample.
Use the signs without overstating diversification
A negative contribution describes a covariance relationship in the entered history; it does not mean that the asset cannot lose money. Return dates, currency units, and sampling frequency must align across all three series. A zero-volatility portfolio has no finite relative contribution decomposition. Fixed weights represent a constant-weight calculation rather than a drifting buy-and-hold account, and rebalancing costs are not included. A short sample can produce unstable covariances, so compare multiple windows before using contributions in a portfolio decision.