Tutorials › VEE Accounting and Finance › Asset Contributions To Portfolio Variance

VEE Accounting and Finance · Portfolio Diversification · Tutorial 540 of 996

Asset Contributions To Portfolio Variance

Calculate and interpret asset-level variance contributions, including how to check that the contributions reconcile to total portfolio risk.

Intermediate 10 min read

What You'll Learn

  • Define an asset’s contribution to portfolio variance using its portfolio weight and covariance with the portfolio return.
  • Derive why the contributions across assets sum to the portfolio’s total variance.
  • Calculate contributions from a covariance matrix and verify them using the portfolio variance formula.
  • Interpret negative contributions and contribution shares without treating them as standalone asset variances.
  • Identify common errors involving omitted covariance terms and squared weights.

Why Attribute Portfolio Variance to Individual Assets?

A portfolio’s total variance describes the variability of its return, but it does not by itself show how each holding participates in that risk. An asset with high standalone variance may contribute relatively little if its return tends to move in a way that offsets the rest of the portfolio. Conversely, an asset with modest standalone variance can contribute materially if it tends to move with the portfolio.

The relevant quantity is each asset’s variance contribution: its portfolio weight multiplied by its covariance with the portfolio return. This allocation is useful for describing how the portfolio’s total variance is built from the holdings and their joint return behavior. It is an accounting decomposition of variance, not a claim that an asset alone causes a particular amount of risk.

Definition: Suppose a portfolio holds \(n\) assets with fixed weights \(w_1,\ldots,w_n\), and asset \(i\) has return \(R_i\) over the period being analyzed. The portfolio return is \(R_p=\sum_{j=1}^{n}w_jR_j\). The variance contribution of asset \(i\) is $$ C_i=w_i\operatorname{Cov}(R_i,R_p). $$ The contributions add to the portfolio variance: \(\sum_{i=1}^{n}C_i=\operatorname{Var}(R_p)\), provided the returns have finite variances and the portfolio return is the stated weighted sum.

This definition applies to fixed portfolio weights over one measurement period. The weights may include negative values if short positions are allowed; the identity still holds. A fully invested portfolio commonly has \(\sum_i w_i=1\), but the variance identity itself follows from the weighted-sum definition of \(R_p\), not from that sum-to-one condition. If a cash holding is part of the portfolio, include it as an asset with its own return and weight.

Use consistent return units throughout. If returns are expressed as decimals, the variance and covariance are in squared-decimal units. If returns are expressed in percentage points, the variance and covariance are in squared-percentage-point units. A contribution can be positive, zero, or negative; its sign is not restricted to be positive.

Why the Contributions Sum to Total Variance

The result follows from covariance’s linearity in one argument. Since the portfolio return is a weighted sum, the covariance of any asset’s return with the portfolio return includes its covariance with every holding, weighted by that holding’s portfolio weight.

$$ \operatorname{Cov}(R_i,R_p) =\operatorname{Cov}\left(R_i,\sum_{j=1}^{n}w_jR_j\right) =\sum_{j=1}^{n}w_j\operatorname{Cov}(R_i,R_j). $$

Now multiply each asset’s covariance with the portfolio by that asset’s own weight, and sum over the assets. The resulting expression is the variance of the portfolio return.

$$ \begin{aligned} \sum_{i=1}^{n}C_i &=\sum_{i=1}^{n}w_i\operatorname{Cov}(R_i,R_p)\\ &=\operatorname{Cov}\left(\sum_{i=1}^{n}w_iR_i,R_p\right)\\ &=\operatorname{Cov}(R_p,R_p)\\ &=\operatorname{Var}(R_p). \end{aligned} $$

The same identity can be seen by expanding portfolio variance into individual and pairwise terms. Let \(\sigma_{ij}=\operatorname{Cov}(R_i,R_j)\), so that \(\sigma_{ii}=\operatorname{Var}(R_i)\). Then

$$ \operatorname{Var}(R_p) =\sum_{i=1}^{n}w_i^2\sigma_{ii} +2\sum_{i<j}w_iw_j\sigma_{ij}. $$

Each contribution \(C_i=w_i\sum_j w_j\sigma_{ij}\) includes asset \(i\)’s own variance term and its share of every covariance term involving \(i\). For a pair of different assets \(i\) and \(j\), the total variance contains \(2w_iw_j\sigma_{ij}\). The contribution for asset \(i\) contains one \(w_iw_j\sigma_{ij}\), and the contribution for asset \(j\) contains the other. This explains why summing the contributions counts each pairwise covariance term correctly.

Calculating Contributions from a Covariance Matrix

For multiple assets, the most direct method is to calculate the covariance of each asset with the whole portfolio, then multiply by that asset’s weight. In matrix notation, if \(\boldsymbol{\Sigma}\) is the covariance matrix and \(\mathbf{w}\) is the vector of weights, the vector of asset-to-portfolio covariances is \(\boldsymbol{\Sigma}\mathbf{w}\). Multiplying its \(i\)th entry by \(w_i\) gives \(C_i\). The sum of those entries is \(\mathbf{w}^{\mathsf T}\boldsymbol{\Sigma}\mathbf{w}\), the portfolio variance.

1
Check the inputs.
Confirm that the weights match the asset order in the covariance matrix, and that all entries use the same return units and period.
2
Find each covariance with the portfolio.
For asset \(i\), calculate \(\operatorname{Cov}(R_i,R_p)=\sum_j w_j\sigma_{ij}\).
3
Multiply by the asset’s weight.
Calculate \(C_i=w_i\operatorname{Cov}(R_i,R_p)\), retaining its sign.
4
Reconcile the result.
Add the contributions and check that their sum equals \(\mathbf{w}^{\mathsf T}\boldsymbol{\Sigma}\mathbf{w}\).

Worked Example: Contributions in a Two-Asset Portfolio

A hypothetical portfolio has weights \(w_1=0.60\) and \(w_2=0.40\). The asset return variances are \(0.040\) and \(0.010\), and their covariance is \(0.010\). Find each asset’s variance contribution and verify the portfolio variance. All return inputs are for the same period and are expressed as decimals.

Method. First calculate each asset’s covariance with the portfolio return, then multiply by its weight. This method avoids treating an asset’s standalone variance as its entire portfolio contribution.

For asset 1:

$$ \operatorname{Cov}(R_1,R_p) =0.60(0.040)+0.40(0.010) =0.024+0.004 =0.028. $$

Therefore, asset 1’s contribution is

$$ C_1=0.60(0.028)=0.0168. $$

For asset 2:

$$ \operatorname{Cov}(R_2,R_p) =0.60(0.010)+0.40(0.010) =0.006+0.004 =0.010, \qquad C_2=0.40(0.010)=0.0040. $$

The contributions sum to \(0.0168+0.0040=0.0208\). Independently, the two-asset variance expansion gives

$$ \operatorname{Var}(R_p) =(0.60)^2(0.040)+(0.40)^2(0.010) +2(0.60)(0.40)(0.010) =0.0144+0.0016+0.0048 =0.0208. $$

The check agrees. The contributions account for approximately \(0.0168/0.0208=80.77\%\) and \(0.0040/0.0208=19.23\%\) of the total variance, respectively. These shares sum to 100% because the total variance is positive and the contributions reconcile to it.

Worked Example: Three Assets with a Negative Covariance

A hypothetical portfolio has weights \(w_A=0.50\), \(w_B=0.30\), and \(w_C=0.20\). Its covariance matrix, in squared-decimal return units, is

$$ \boldsymbol{\Sigma} = \begin{pmatrix} 0.090 & 0.018 & -0.009\\ 0.018 & 0.040 & 0.006\\ -0.009 & 0.006 & 0.0225 \end{pmatrix}. $$

Calculate each contribution, the total variance, and the contribution shares. The negative covariance between A and C means their returns tend to move in opposite directions, but it does not imply that A or C must have a negative contribution.

Method. Multiply each row of the covariance matrix by the portfolio weight vector to obtain the asset-to-portfolio covariances. Then multiply each resulting entry by the corresponding asset weight.

For asset A:

$$ \operatorname{Cov}(R_A,R_p) =0.50(0.090)+0.30(0.018)+0.20(-0.009) =0.045+0.0054-0.0018 =0.0486, $$ $$ C_A=0.50(0.0486)=0.02430. $$

For asset B:

$$ \operatorname{Cov}(R_B,R_p) =0.50(0.018)+0.30(0.040)+0.20(0.006) =0.009+0.012+0.0012 =0.0222, $$ $$ C_B=0.30(0.0222)=0.00666. $$

For asset C:

$$ \operatorname{Cov}(R_C,R_p) =0.50(-0.009)+0.30(0.006)+0.20(0.0225) =-0.0045+0.0018+0.0045 =0.0018, $$ $$ C_C=0.20(0.0018)=0.00036. $$

The contribution sum is \(0.02430+0.00666+0.00036=0.03132\). Check it by expanding the portfolio variance:

$$ \begin{aligned} \operatorname{Var}(R_p) ={}&(0.50)^2(0.090)+(0.30)^2(0.040)+(0.20)^2(0.0225)\\ &+2(0.50)(0.30)(0.018) +2(0.50)(0.20)(-0.009) +2(0.30)(0.20)(0.006)\\ ={}&0.0225+0.0036+0.0009+0.0054-0.0018+0.00072\\ ={}&0.03132. \end{aligned} $$

Thus the reconciliation holds. The contribution shares are approximately \(77.59\%\) for A, \(21.26\%\) for B, and \(1.15\%\) for C, calculated by dividing each contribution by \(0.03132\) and rounding to two decimal places. A and C have negative covariance, but C’s net covariance with the whole portfolio is positive, so its contribution is positive.

Negative Contributions and Contribution Shares

An asset can have a negative contribution when its weighted covariance with the portfolio is negative. In that case, it offsets some of the portfolio’s variance as measured by this decomposition. A negative contribution is compatible with a positive total variance: the remaining assets’ positive contributions can exceed the offset.

Worked Example: A Holding That Offsets Portfolio Variance

A hypothetical two-asset portfolio has weights \(w_1=0.80\) and \(w_2=0.20\). The return variances are \(0.040\) and \(0.090\), and the covariance is \(-0.050\). Find and interpret the two contributions, then check the total variance.

Method. Calculate each asset’s covariance with the portfolio and retain the sign through the weight multiplication. The common mistake here is to replace a negative covariance with its absolute value.

For asset 1:

$$ \operatorname{Cov}(R_1,R_p) =0.80(0.040)+0.20(-0.050) =0.032-0.010 =0.022, \qquad C_1=0.80(0.022)=0.0176. $$

For asset 2:

$$ \operatorname{Cov}(R_2,R_p) =0.80(-0.050)+0.20(0.090) =-0.040+0.018 =-0.022, \qquad C_2=0.20(-0.022)=-0.0044. $$

The contribution sum is \(0.0176-0.0044=0.0132\). The independent variance calculation confirms it:

$$ \operatorname{Var}(R_p) =(0.80)^2(0.040)+(0.20)^2(0.090) +2(0.80)(0.20)(-0.050) =0.0256+0.0036-0.0160 =0.0132. $$

Asset 2’s negative contribution offsets part of asset 1’s positive contribution. Its share of total variance is \(-0.0044/0.0132=-33.33\%\); asset 1’s share is \(133.33\%\). These shares still sum to 100%. A share above 100% or below zero is possible because the contributions are signed components of an additive identity, not probabilities.

Common Mistake: Using Only Weighted Standalone Variances

A tempting but incorrect calculation is to assign asset \(i\) the quantity \(w_i^2\operatorname{Var}(R_i)\). That is the asset’s diagonal term in the expanded portfolio variance, but it is not its full variance contribution. It leaves out the asset’s allocation of covariance terms with the other holdings.

For the three-asset example, the diagonal terms alone are \(0.0225\), \(0.0036\), and \(0.0009\), which sum to \(0.02700\). The true portfolio variance is \(0.03132\). The difference, \(0.00432\), is the net of the pairwise covariance terms. The contribution method assigns each pairwise term across the two assets in that pair, so its total includes all the covariance information.

A second trap is calculating \(w_i\operatorname{Var}(R_i)\) rather than \(w_i\operatorname{Cov}(R_i,R_p)\). The former generally omits the relationship between asset \(i\) and all other holdings. Another is summing only the diagonal entries of a covariance matrix after applying squared weights. For a portfolio with more than one asset, the off-diagonal covariances must be included.

Key takeaway: For each asset, calculate its covariance with the full portfolio, multiply by its own weight, and keep the sign. The resulting contributions must sum to the portfolio variance; if they do not, check the weights, matrix alignment, covariance terms, and return units.

Check Your Understanding

For each problem, calculate the requested asset contributions and use their sum as a check against portfolio variance.

  1. A two-asset portfolio has weights \(0.70\) and \(0.30\), variances \(0.025\) and \(0.010\), and covariance \(0.005\). Find both contributions and total variance. (Answer: \(C_1=0.01330\), \(C_2=0.00195\), total variance \(=0.01525\).)
  2. A three-asset portfolio has weights \(0.40,0.40,0.20\), variances \(0.040,0.0225,0.010\), and covariances \(\sigma_{12}=0.006\), \(\sigma_{13}=-0.004\), and \(\sigma_{23}=0.003\). Find the contributions in asset order and verify their sum. (Answer: \(0.00704,\ 0.00480,\ 0.00032\); total variance \(=0.01216\).)
  3. A two-asset portfolio has weights \(0.80\) and \(0.20\), variances \(0.040\) and \(0.090\), and covariance \(-0.050\). Find both contributions and explain whether the second asset offsets portfolio variance. (Answer: \(C_1=0.0176\), \(C_2=-0.0044\), total variance \(=0.0132\); the second asset has a negative contribution and offsets variance.)
  4. A portfolio has weights \(0.50,0.25,0.25\), variances \(0.040,0.010,0.0225\), and covariances \(\sigma_{12}=0.004\), \(\sigma_{13}=0.006\), and \(\sigma_{23}=-0.003\). Calculate each contribution and the percentage contribution of asset 2, rounding the percentage to two decimal places. (Answer: \(C_1=0.01125\), \(C_2=0.0009375\), \(C_3=0.00196875\), total variance \(=0.01415625\); asset 2 contributes approximately \(6.62\%\).)
  5. For a three-asset portfolio, the calculated asset-to-portfolio covariances are \(0.030,-0.010,\) and \(0.015\), and the respective weights are \(0.40,0.35,\) and \(0.25\). Find the contributions and portfolio variance, and state whether any asset offsets variance. (Answer: \(C_1=0.0120\), \(C_2=-0.0035\), \(C_3=0.00375\), total variance \(=0.01225\); asset 2 offsets variance.)
Clinical Biostats