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
where \(R\) is a risk concentration function.
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 .
riskparity.py is built on top of numpy, jax, quadprog, pybind, and tqdm.
An R version of this package is available at https://github.com/dppalomar/riskParityPortfolio
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