Risk Contributions and Optimization for Tail-Risk Parity Portfolios
Summary
The discussion explores whether equal risk contribution portfolios can be built using tail measures such as value at risk or expected shortfall, and what conditions support the approach. It highlights positive homogeneity: for a differentiable risk measure that scales proportionally to portfolio size, Euler's relation decomposes total risk into asset-level marginal contributions multiplied by their weights. Risk parity then assigns these contributions according to chosen budgets, equally in the standard parity case. The answer notes that the interpretation depends on the risk measure and its assumptions; normal-distribution settings make the stated homogeneity properties available for VaR and expected shortfall.
For computation, it presents a constrained optimization formulation using a logarithmic barrier, followed by rescaling the solution to make weights sum to one. The author describes it as potentially scalable but offers only an informal expectation about performance as asset counts grow. A second response says analytic CVaR derivatives are easier to use than simulation-based estimates, while approximations that include skewness and kurtosis require difficult higher-order dependence estimates. The exchange does not establish uniqueness or provide benchmark scaling results, and warns that estimated marginal contributions can be uncomfortable to rely on.
Key ideas
- Positive homogeneity allows total portfolio risk to be decomposed into marginal asset contributions under differentiability conditions.
- Risk parity sets risk contributions to target budgets, commonly equal budgets.
- A logarithmic-barrier optimization can seek positive portfolio weights before rescaling them to sum to one.
- Analytic tail-risk formulas simplify marginal contribution calculations compared with simulation estimates.
- The discussion leaves uniqueness and large-universe computational performance unresolved.
Tags
Full text
# Risk Parity / Equal Risk Contribution with Tail Risk Measures
# Risk Parity / Equal Risk Contribution with Tail Risk Measures
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
- Under what conditions does a (unique) Risk Parity portfolio exist?
- What numerical optimisation algorithms are feasible? And how would these scale to a few hundred or a few thousand assets?
## Answer by vanguard2k (score 4, accepted)
https://quant.stackexchange.com/a/40345
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.
## Answer by John (score 2)
https://quant.stackexchange.com/a/40341
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.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.