Skip to content
forked from jcrichard/pyrb

Constrained and Unconstrained Risk Budgeting / Risk Parity Allocation in Python

License

Notifications You must be signed in to change notification settings

nikitazhhy/pyrb

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Constrained and Unconstrained Risk Budgeting Allocation in Python

Build Status Code style: black License: MIT

This repository contains the code for solving constrained risk budgeting with generalized standard deviation-based risk measure:

This formulation encompasses Gaussian value-at-risk and Gaussian expected shortfall and the volatility. The algorithm supports bounds constraints and inequality constraints. It is is efficient for large dimension and suitable for backtesting.

A description can be found in Constrained Risk Budgeting Portfolios: Theory, Algorithms, Applications & Puzzles by Jean-Charles Richard and Thierry Roncalli.

You can solve

  • Equally risk contribution
  • Risk budgeting
  • Risk parity with expected return
  • Constrained Risk parity

Installation

Can be done using pip:

pip install git+https://github.com/jcrichard/pyrb

Usage

from pyrb import EqualRiskContribution

ERC = EqualRiskContribution(cov)
ERC.solve()
ERC.get_risk_contributions()
ERC.get_volatility()

References

Griveau-Billion, T., Richard, J-C., and Roncalli, T. (2013), A Fast Algorithm for Computing High-dimensional Risk Parity Portfolios, SSRN.

Maillard, S., Roncalli, T. and Teiletche, J. (2010), The Properties of Equally Weighted Risk Contribution Portfolios, Journal of Portfolio Management, 36(4), pp. 60-70.

Richard, J-C., and Roncalli, T. (2015), Smart Beta: Managing Diversification of Minimum Variance Portfolios, in Jurczenko, E. (Ed.), Risk-based and Factor Investing, ISTE Press -- Elsevier.

Richard, J-C., and Roncalli, T. (2019), Constrained Risk Budgeting Portfolios: Theory, Algorithms, Applications & Puzzles, SSRN.

Roncalli, T. (2015), Introducing Expected Returns into Risk Parity Portfolios: A New Framework for Asset Allocation, Bankers, Markets & Investors, 138, pp. 18-28.

About

Constrained and Unconstrained Risk Budgeting / Risk Parity Allocation in Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 76.3%
  • Jupyter Notebook 23.7%