\( \newcommand{\bm}[1]{\boldsymbol{#1}} \newcommand{\textm}[1]{\textsf{#1}} \def\T{{\mkern-2mu\raise-1mu\mathsf{T}}} \newcommand{\R}{\mathbb{R}} % real numbers \newcommand{\E}{{\rm I\kern-.2em E}} \newcommand{\w}{\bm{w}} % bold w \newcommand{\bmu}{\bm{\mu}} % bold mu \newcommand{\bSigma}{\bm{\Sigma}} % bold mu \newcommand{\bigO}{O} %\mathcal{O} \renewcommand{\d}[1]{\operatorname{d}\!{#1}} \)

11.4 Problem formulation

The risk parity portfolio (RPP), also termed equal risk portfolio (ERP), is simply formulated as requiring the risk contributions to be equal (i.e., equalizing the individual risks): \[ \textm{RRC}_i = \frac{w_i(\bSigma\w)_i}{\w^\T\bSigma\w} = \frac{1}{N}, \qquad i=1,\dots,N. \] This is reminiscent of the \(1/N\) portfolio equally weighted portfolio (EWP) that satisfies: \[ w_i = \frac{1}{N},\qquad i=1,\dots,N. \] Thus, whereas the \(1/N\) portfolio equalizes the dollar allocation, the RPP equalizes the risk contribution. Interestingly, if all the assets have roughly the same Sharpe ratios and same correlations, the RPP can be interpreted as optimal under the Markowitz mean–variance framework (Maillard et al., 2010). In addition, it can be shown that the RPP exists, is unique, and is located between the minimum variance and equally weighted portfolios (Maillard et al., 2010).

More generally, one can specify a risk profile allocation different from the uniform one, termed risk budgeting portfolio (RBP): \[ \textm{RRC}_i = \frac{w_i(\bSigma\w)_i}{\w^\T\bSigma\w} = b_i, \qquad i=1,\dots,N, \] where \(\bm{b} = (b_1,\dots,b_N) \ge \bm{0}\) (normalized to \(\bm{1}^\T\bm{b}=1\)) is the desired risk profile.

Thus, in its simplest form, the problem can be formulated as finding a portfolio \(\w\ge\bm{0}\), with \(\bm{1}^\T\w=1\), satisfying the risk budgeting constraints \[ w_i (\bSigma\w)_i = b_i \,\w^\T\bSigma\w, \qquad i=1,\dots,N. \] This is a feasibility problem (there is no objective to maximize or minimize, just constraints), whose solution is not trivial. In the rest of the chapter, we will consider the resolution of this problem by exploring three cases in order of difficulty:51

  • naive diagonal formulation;
  • vanilla convex formulation; and
  • general nonconvex formulation.

Formulation with shorting

Typically, the RPP formulation involves no shorting, so \(\w \ge \bm{0}\). Allowing shorting generally requires more complicated resolution methods. Nevertheless, in case that the shorting pattern is known a priori, then the problem can be easily reformulated like the no-shorting formulation with the following trick (Spinu, 2013).

Suppose that the shorting pattern, i.e., which assets to long or short, is defined a priori in the vector \(\bm{s}=(s_1, \dots, s_N)\) with \(s_i=1\) for long positions and \(s_i=-1\) for short positions. Then the desired portfolio \(\w\), which follows the shorting pattern, can be related to a virtual no-shorting portfolio \(\tilde{\w}\ge\bm{0}\) as \[ \w = \bm{s} \odot \tilde{\w} \] such that \[ \w^\T\bSigma\w = \tilde{\w}^\T\tilde{\bSigma}\tilde{\w}, \] where \(\tilde{\bSigma} = \textm{Diag}(\bm{s})\bSigma\textm{Diag}(\bm{s})\). Then, the risk budgeting equations become \[ \tilde{w}_i (\tilde{\bSigma}\tilde{\w})_i = b_i \, \tilde{\w}^\T\tilde{\bSigma}\tilde{\w}, \qquad i=1,\dots,N. \]

Formulation with group risk parity

The idea of group risk parity is to consider the risk contributions of several assets belonging to the same group (e.g., industry or sector) as a whole. For example, suppose there are \(K\) groups (with \(K<N\)), denoted as \(\mathcal{G}_1,\dots,\mathcal{G}_K\), such that they form a partition of the \(N\) assets. We can define the risk contribution from the \(k\)th group as \[ \textm{RC}_{\mathcal{G}_k} = \sum_{i\in\mathcal{G}_k} w_i \frac{\partial \sigma}{\partial w_i} = \sum_{i\in\mathcal{G}_k} \frac{w_i(\bSigma\w)_i}{\sqrt{\w^\T\bSigma\w}} \] and then the risk budgeting equations become \[ \sum_{i\in\mathcal{G}_k} w_i (\bSigma\w)_i = b_k \, \w^\T\bSigma\w, \qquad i=1,\dots,K. \]

Formulation with risk factors

Consider the following factor modeling of the returns: \[ \bm{r}_t = \bm{\alpha} + \bm{B} \bm{f}_t + \bm{\epsilon}_t, \] where \(\bm{f}_t\) contains the \(K\) factors (typically with \(K\ll N\)), \(\bm{\alpha}\) is the so-called “alpha”, matrix \(\bm{B}\) contains the so-called “betas” on the columns corresponding to the different factors, and \(\bm{\epsilon}_t\) is the residual.

The risk contribution from the \(k\)th factor can be defined (Roncalli and Weisang, 2016) as \[ \textm{RC}_k = \frac{(\bm{B}^\T \w)_k (\bm{B}^\dagger\bSigma\w)_k}{\sqrt{\w^\T\bSigma\w}}, \] where \(\bm{B}^\dagger \triangleq \bm{B}^\T(\bm{B}^\T\bm{B})^{-1}\) is the Moore-Penrose pseudo-inverse matrix of \(\bm{B}\), and the risk budgeting equations become \[ (\bm{B}^\T \w)_k (\bm{B}^\dagger\bSigma\w)_k = b_k \, \w^\T\bSigma\w, \qquad i=1,\dots,K. \]

References

Cardoso, J. V. M., and Palomar, D. P. (2021). riskParityPortfolio: Design of risk parity portfolios.
Maillard, S., Roncalli, T., and Teiletche, J. (2010). The properties of equally weighted risk contribution portfolios. Journal of Portfolio Management, 36(4), 60–70.
Roncalli, T., and Weisang, G. (2016). Risk parity portfolios with risk factors. Quantitative Finance, 16(3), 377–388.
Spinu, F. (2013). An algorithm for computing risk parity weights. SSRN Electronic Journal.

  1. In the R programming language, the package riskParityPortfolio can solve very efficiently all these formulations (Cardoso and Palomar, 2021). ↩︎