Risk Parity or (synonymous) Equal Risk Contribution is an approach to portfolio construction which could work in theory with a broad class of risk measures. Yet, all references I have found so far cover almost exclusively standard deviation as risk measure. It would be great to see some papers or references analyzing Risk Parity for tail risk measures such as Expected Shortfall / Conditional Value at Risk / Tail Value at Risk or maybe even Value at Risk.

Specifically I would like to understand

  1. Under what conditions does a (unique) Risk Parity portfolio exist?
  2. What numerical optimisation algorithms are feasible? And how would these scale to a few hundred or a few thousand assets?

2 Answers 2


For question 1), lets add the topic of positive homogeneity to the discussion: Whenever a risk measure is positively homogeneous, we can calculate risk contributions.

A risk measure is positively homogeneous of degree $\lambda$, if $$R(cx)= c^{\lambda} R(x),\quad \text{with}\ x \in \mathbb{R}^n$$

If then, $\lambda>0$, this is equivalent to the Euler relation (for $R$ differentiable):

$$\lambda \cdot R(x) = \sum_{i=1}^{n} \frac{\partial R}{\partial x_i}(x) \cdot x_i.$$

That means, that we can decompose the risk measure to its marginal risk contributions $\frac{\partial R}{\partial x_i}(x) \cdot x_i$. So this must be satisfied if we want to calculate risk contributions. Risk Parity is then the case of all of these being the same value.

So one of the assumptions already lies in the definition. This is fulfilled for the VaR and the expected shortfall in case of a normal assumption. For distibution-free models, who knows what a risk contribution means?

So far so good, we have defined a Risk Parity portfolio and we assume our Risk measure is homogeneous.

Lets also try to answer 2 on one attempt: This paper is a pretty good resource for the topic. It looks at the following problem $(\text{RC}_i(x) = \frac{\partial R } {\partial x_i} \cdot x_i)$:

Find $x$ such that $$ \text{RC}_i(x) = b_i R(x) \\ b_i > 0 \\ x_i > 0 \\ \sum_{i=1}^{n} b_i = 1 \\ \sum_{i=1}^{n} x_i = 1$$

So the lines mean, that the Risk contributions should fulfill the budget constraints (for Risk Parity, $b_i = 1/N$), the weights are positive and all weights and budgets sum to 1.

The proposed problem is here (I made good experiences with it):

$$ y^\ast = \text{argmin} R(y)\\ \sum_{i=1}^n b_i\text{ln}y_i \geq c \\ y \geq 0$$

for arbitrary constant c. The unit weight constraint is now not fulfilled, but after rescaling the solution is

$$ x^\ast = y^\ast / (\sum_{i=1}^n y_i^{\ast}).$$

But why is this problem a risk parity problem?

The Lagrangian is

$$ L(y;\lambda) = R(y) - \lambda \sum_{i=1}^{n} b_i \text{ln} y_i$$

and the first order condition at the optimum $\frac{\partial L}{\partial y_i} = 0$ yields:

$$ \frac{\partial L}{\partial y_i} = \frac{\partial R}{\partial y_i}(y) - \frac{b_i}{y_i} = 0.$$

But this is exactly the budget constraint.

This is a pretty scalable optimization problem but it is not linear so you have to take care. I think it will handle a couple of variables very well, maybe around 100 it will get a bit tricky but I havent tried that explicitly.

  • $\begingroup$ The "ln" idea as constraint looks great! But shouldn't the constraint $y \geq 0$ also feature somewhere in the Lagrangian? $\endgroup$
    – g g
    Jun 15, 2018 at 20:57
  • $\begingroup$ $c$ is an arbitrary constant, does it have any economic interpretation? If the risk measures are convex (as Expected Shortfall is indeed) the optimisation problem should have a unique solution for each $c$. Does this mean there are many Risk Parity portfolios all parameterized by $c$? $\endgroup$
    – g g
    Jun 18, 2018 at 5:40
  • $\begingroup$ I think the constraint is implicit to the formulation, since the Lagrangian is not defined for $y<0$. I cant think of an economic interpretation for $c$. But what I know is that the problem is not solvable for every $c$ so the trick is to try a couple of values until you find a solution. All values of $c$ will give you different solutions that should(!) be the same after rescaling the weights to sum to 1. I say that without having proved the uniqueness. My wild guess: It follows from a continuous and strictly monotone $R(y)$ $\endgroup$
    – vanguard2k
    Jun 18, 2018 at 10:22

I had tried something similar to this in the past. It's much easier when there's an analytical formula for CVaR than when using simulations because it's much easier to calculate the derivatives you need to calculate the marginal contribution. However, if you're doing it this way, then you're probably assuming a multivariate normal distribution. Calculating the derivative of CVaR using the Cornish-Fisher approximation is going to be super annoying because you need the co-skewness and co-kurtosis matrices.

Equal contributions with analytic VaR was the first way I created a risk parity portfolio. However, it was quite annoying to take a simulation-based approach due to the difficulty in estimating the marginal contributions. One nice thing about CVaR is that it calculates over a range of values, rather than a specific value. I never got something I was comfortable with.

  • $\begingroup$ Yes, for multivariate normal (or even elliptic) all the risk measures are pretty much the same and you are again in the standard deviation context. Some papers mention this and this is why I wrote "almost exclusively". I agree as well on the VaR. Since there risk contribution means conditioning on a set of measure zero it is a pain with simulation. $\endgroup$
    – g g
    Jun 15, 2018 at 12:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.