Skip to content
All library documents

Constrained Portfolio Weights Near Inverse-Volatility Targets

Article Quant Q&A · Author: staxxx

Summary

The document considers how to choose portfolio weights that are proportional to risk budgets divided by asset volatilities, while meeting a target portfolio volatility and other constraints. It contrasts this objective with a risk-budgeting formulation that maximizes the sum of risk-budget-weighted log weights subject to a volatility limit. That formulation is described as producing weights whose marginal risk contributions align proportionally with the budgets, which is not the same condition as setting weights proportional to each budget over volatility.

The proposed adaptation is to minimize the sum of squared differences between each decision weight and its desired risk-budget-to-volatility value, then add the relevant constraints. This gives a direct optimization formulation for staying near the requested inverse-volatility weights when constraints prevent simply setting and scaling the weights. The document does not specify the full constraint set, whether weights must sum to one, or how to handle volatility estimates and infeasible targets. It offers a suggested objective, not a worked numerical example or comparison of optimization outcomes.

Key ideas

  • Risk-budgeting weights based on marginal risk contributions differ from simple risk-budget-to-volatility targets.
  • A squared-error objective can penalize deviations from desired inverse-volatility weights.
  • Portfolio volatility and other requirements can be included as optimization constraints.
  • The document gives no worked example and leaves the specific constraints and volatility estimates unspecified.

Tags

Full text
# Answer by RRG (score 1)


# How can I set portfolio weights inverse to volatility, with constraints and target volatility, using nonlinear optimization?












There are multiple sources that describe using a nonlinear optimization to risk budget a portfolio, with a portfolio target volatility. For example, see pages 16 and 17 of https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2673124

Given assets 1, ... , n, risk budgets $s_1,...,s_n$ and weights $w_i,...,w_n$, maximising: $$ \sum_{i=1}^{n} s_i . log(w_i) $$ subject to $$ \sqrt{w \Sigma w} \leq \sigma_{tgt} $$ will give weights such that each assets 'risk contribution', will be proportional to its risk budget: $$ w_i . MCR_i \propto s_i $$

I'm trying to adapt this to set $w_i$ $\propto$ $s_i / v_i$, rather than $w_i . MRC(w_i)$ $\propto$ $s_i$, where $v_i$ is asset i's volatility.

Is this possible using nonlinear programming, and if so what should my objective function be?

(I could do this by just setting the weights and then scaling them to target vol, but I have various constraints that prevent this)

## Answer by RRG (score 1)

https://quant.stackexchange.com/a/30801

For the specification $w_i = s_i/v_i$ the objective is $$ argmin \sum_i \left(w_i - \frac{s_i}{v_i}\right)^2. $$ Add to this any constraints you might have.

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.