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)
$ git clone https://github.com/dppalomar/riskparity.py.git
$ cd riskparity.py
$ pip install -e .
$ 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.
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