riskparityportfolio provides solvers to design risk parity portfolios. In its simplest form, we consider the convex formulation with a unique solution proposed by Spinu (2013) and use cyclical methods inspired by Griveau-Billion et al. (2013) and Choi & Chen (2022). For more general formulations, which are usually nonconvex, we implement the successive convex approximation method proposed by Feng & Palomar (2015).
Documentation: https://mirca.github.io/riskparity.py
R version: https://mirca.github.io/riskParityPortfolio
Rust version: https://github.com/mirca/riskparity.rs
Talks: slides HKML meetup 2020, tutorial - Data-driven Portfolio Optimization Course (HKUST)
- development version
$ git clone https://github.com/dppalomar/riskparity.py.git
$ cd riskparity.py
$ pip install -e .
- stable version
$ pip install riskparityportfolio
Make sure to install Microsoft C++ Build Tools
prior to riskparityportfolio
.
riskparityportfolio
depends on jaxlib
which can be installed following these
instructions.
-
Spinu, Florin. An Algorithm for Computing Risk Parity Weights (July 30, 2013). Available at SSRN: https://ssrn.com/abstract=2297383.
-
Griveau-Billion, Théophile et al. A Fast Algorithm for Computing High-dimensional Risk Parity Portfolios. https://arxiv.org/abs/1311.4057
-
Feng, Yiyong et al. SCRIP: Successive Convex Optimization Methods for Risk Parity Portfolio Design. IEEE Transactions on Signal Processing, 2015. https://ieeexplore.ieee.org/document/7145485
-
Choi, J., & Chen, R. (2022). Improved iterative methods for solving risk parity portfolio. Journal of Derivatives and Quantitative Studies 30(2), 114–124. https://doi.org/10.1108/JDQS-12-2021-0031
Copyright 2022 Ze Vinicius and Daniel Palomar
This project is licensed under the terms of the MIT License.
The information, software, and any additional resources contained in this repository are not intended as, and shall not be understood or construed as, financial advice. Past performance is not a reliable indicator of future results and investors may not recover the full amount invested. The authors of this repository accept no liability whatsoever for any loss or damage you may incur. Any opinions expressed in this repository are from the personal research and experience of the authors and are intended as educational material.