Generalizing risk fractions

More ways of constraining the variance attributable to individual assets.


This post describes some additions to the 1.04 version of Portfolio Probe.  A beta of that version was released last week.

We’ve also added Linux 32-bit and 64-bit as platforms on which Portfolio Probe is for sale.  Unfortunately demo and academic versions are still not available under Linux.

Basic risk fractions

The most likely constraints of this type were described in the blog post “Unproxying weight constraints”.  These are given by:

f = (w * Vw) / w’Vw

where f  is the vector of risk fractions for the assets, w is the vector of asset weights in the portfolio, V is the variance matrix, and * is element-by-element multiplication.  The elements of f  sum to 1 because the computation involves dividing by the portfolio variance.


But perhaps you want to constrain the actual variance rather than the fraction of the variance.  That is, not divide by the portfolio variance in the equation above.

If the portfolio variance is 150, then in Portfolio Probe we could either do:

risk.fraction = 0.05


risk.fraction = 7.5, = "value"

The first of these depends on the default of being "fraction".

But these are really quite different constraints (unless the variance is constrained to be essentially 150).   The value constraint puts a constraint on what the portfolio variance can be, unlike the fraction constraint.  The fraction constraint is saying that no asset can account for more than 5% of the variance, whatever that is.

Marginal benchmark

All of the above can be done when there is a benchmark as well — it just looks a little messier.  The equivalent equation to the one above when we add a benchmark is:

f = ((wb) * V(wb)) / (wb)’V(wb)

Now let’s get complicated.

The marginal contribution to the benchmark is a number defined by:


We can compute risk fractions that adjust for the marginal contribution to the benchmark.  These can either be on the variance values or on the fraction of the variance.

The value form of marginal benchmark risk fraction is:

f = (wb) * (V(wb) – bV(wb))

The fraction form is the same except there is also the division by the portfolio variance:

f = (wb) * (V(wb) – bV(wb)) / (wb)’V(wb)

Suppose the marginal contribution to the benchmark is negative and we are looking at the assets that are overweight the benchmark, then the marginal benchmark risk fractions will be larger than the usual risk fractions.


Are there other partitions of variance that are of interest?

Subscribe to the Portfolio Probe blog by Email

This entry was posted in Portfolio Probe, Quant finance and tagged , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *