riskparity.py implements fast and scalable algorithms to design risk (budgeting) parity portfolios. The algorithms are based on the works of Spinu (2013), Griveau-Billion et. al. (2013), and Feng & Palomar (2015).
We consider the following optimization problem and its particular cases
\[\begin{split}\begin{array}{ll} \underset{\mathbf{w}}{\textsf{minimize}} & R(\mathbf{w}) - \alpha \mathbf{w}^{\top}\boldsymbol{\mu} + \lambda \mathbf{w}^{\top}\boldsymbol{\Sigma}\mathbf{w}\\ \textsf{subject to} & \mathbf{C}\mathbf{w} = \mathbf{c}, \mathbf{D}\mathbf{w} \leq \mathbf{d} \end{array}\end{split}\]
where \(R\) is a risk concentration function.
Installation¶riskparity.py can be installed via pip as:
$ pip install riskparityportfolio
Its development version can be installed as:
$ git clone https://github.com/dppalomar/riskparity.py $ cd riskparity.py $ pip install -e .Dependencies¶
riskparity.py is built on top of numpy, jax, quadprog, pybind, and tqdm.
References¶Spinu, “An algorithm for computing risk parity weights”, SSRN, 2013.
Griveau-Billion, J. Richard, and T. Roncalli, “A fast algorithm for computing high-dimensional risk parity portfolios” ArXiv preprint, 2013.
Feng and D. P. Palomar, “SCRIP: Successive convex optimization methods for risk parity portfolios design” IEEE Trans. Signal Process., vol. 63, no. 19, pp. 5285–5300, Oct. 2015.
Richard, and T. Roncalli “Constrained Risk Budgeting Portfolios: Theory, Algorithms, Applications & Puzzles” (February 8, 2019). Available at SSRN: https://ssrn.com/abstract=3331184
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4