Skip to main content

Portfolio Optimization in Python

Project description

Riskfolio-Lib

Portfolio Optimization in Python, Easy for Everyone.


Buy Me a Coffee at ko-fi.com

GitHub stars Downloads Downloads per Month Documentation Status GitHub License Binder

Star History Chart

Description

Riskfolio-Lib is a library for making Portfolio Optimization in Python made in Peru 🇵🇪. Its objective is to help students, academics and practitioners to build investment portfolios based on mathematically complex models with low effort. It is built on top of CVXPY and closely integrated with Pandas data structures.

Some of key functionalities that Riskfolio-Lib offers:

  • Mean Risk and Logarithmic Mean Risk (Kelly Criterion) Portfolio Optimization with 4 objective functions:

    • Minimum Risk.
    • Maximum Return.
    • Maximum Utility Function.
    • Maximum Risk Adjusted Return Ratio.
  • Mean Risk and Logarithmic Mean Risk (Kelly Criterion) Portfolio Optimization with 26 convex risk measures:

    Dispersion Risk Measures:

    • Standard Deviation.
    • Square Root Kurtosis.
    • p-th Root Even Moment of order 2p.
    • Mean Absolute Deviation (MAD).
    • Gini Mean Difference (GMD).
    • Conditional Value at Risk Range.
    • Tail Gini Range.
    • Entropic Value at Risk Range.
    • Relativistic Value at Risk Range.
    • Range.  

    Downside Risk Measures:

    • Semi Standard Deviation.
    • Square Root Semi Kurtosis.
    • p-th Root Even Semi Moment of order 2p.
    • First Lower Partial Moment (Omega Ratio).
    • Second Lower Partial Moment (Sortino Ratio).
    • Conditional Value at Risk (CVaR).
    • Tail Gini.
    • Entropic Value at Risk (EVaR).
    • Relativistic Value at Risk (RLVaR).
    • Worst Case Realization (Minimax).  

    Drawdown Risk Measures:

    • Average Drawdown for uncompounded cumulative returns.
    • Ulcer Index for uncompounded cumulative returns.
    • Conditional Drawdown at Risk (CDaR) for uncompounded cumulative returns.
    • Entropic Drawdown at Risk (EDaR) for uncompounded cumulative returns.
    • Relativistic Drawdown at Risk (RLDaR) for uncompounded cumulative returns.
    • Maximum Drawdown (Calmar Ratio) for uncompounded cumulative returns.
  • Risk Parity Portfolio Optimization with 22 convex risk measures:

    Dispersion Risk Measures:

    • Standard Deviation.
    • Square Root Kurtosis.
    • p-th Root Even Moment of order 2p.
    • Mean Absolute Deviation (MAD).
    • Gini Mean Difference (GMD).
    • Conditional Value at Risk Range.
    • Tail Gini Range.
    • Entropic Value at Risk Range.
    • Relativistic Value at Risk Range.  

    Downside Risk Measures:

    • Semi Standard Deviation.
    • Square Root Semi Kurtosis.
    • p-th Root Even Semi Moment of order 2p.
    • First Lower Partial Moment (Omega Ratio)
    • Second Lower Partial Moment (Sortino Ratio)
    • Conditional Value at Risk (CVaR).
    • Tail Gini.
    • Entropic Value at Risk (EVaR).
    • Relativistic Value at Risk (RLVaR).  

    Drawdown Risk Measures:

    • Ulcer Index for uncompounded cumulative returns.
    • Conditional Drawdown at Risk (CDaR) for uncompounded cumulative returns.
    • Entropic Drawdown at Risk (EDaR) for uncompounded cumulative returns.
    • Relativistic Drawdown at Risk (RLDaR) for uncompounded cumulative returns.
  • Hierarchical Clustering Portfolio Optimization: Hierarchical Risk Parity (HRP) and Hierarchical Equal Risk Contribution (HERC) with 37 risk measures using naive risk parity:

    Dispersion Risk Measures:

    • Standard Deviation.
    • Variance.
    • Square Root Kurtosis.
    • 2p-th Root of Even Moment of Order 2p.
    • Mean Absolute Deviation (MAD).
    • Gini Mean Difference (GMD).
    • Value at Risk Range.
    • Conditional Value at Risk Range.
    • Tail Gini Range.
    • Entropic Value at Risk Range.
    • Relativistic Value at Risk Range.
    • Range.  

    Downside Risk Measures:

    • Semi Standard Deviation.
    • Fourth Root Semi Kurtosis.
    • 2p-th Root Even Semi Moment of order 2p.
    • First Lower Partial Moment (Omega Ratio).
    • Second Lower Partial Moment (Sortino Ratio).
    • Value at Risk (VaR).
    • Conditional Value at Risk (CVaR).
    • Tail Gini.
    • Entropic Value at Risk (EVaR).
    • Relativistic Value at Risk (RLVaR).
    • Worst Case Realization (Minimax).  

    Drawdown Risk Measures:

    • Average Drawdown for compounded and uncompounded cumulative returns.
    • Ulcer Index for compounded and uncompounded cumulative returns.
    • Drawdown at Risk (DaR) for compounded and uncompounded cumulative returns.
    • Conditional Drawdown at Risk (CDaR) for compounded and uncompounded cumulative returns.
    • Entropic Drawdown at Risk (EDaR) for compounded and uncompounded cumulative returns.
    • Relativistic Drawdown at Risk (RLDaR) for compounded and uncompounded cumulative returns.
    • Maximum Drawdown (Calmar Ratio) for compounded and uncompounded cumulative returns.
  • Nested Clustered Optimization (NCO) with four objective functions and the available risk measures to each objective:

    • Minimum Risk.
    • Maximum Return.
    • Maximum Utility Function.
    • Equal Risk Contribution.
  • Worst Case Mean Variance Portfolio Optimization.

  • Relaxed Risk Parity Portfolio Optimization.

  • Ordered Weighted Averaging (OWA) Portfolio Optimization.

  • Mean-Variance-Skewness-Kurtosis (MVSK) Portfolio Optimization (Semidefinite Relaxation).

  • Portfolio optimization with Black Litterman model.

  • Portfolio optimization with Risk Factors model.

  • Portfolio optimization with Black Litterman Bayesian model.

  • Portfolio optimization with Augmented Black Litterman model.

  • Portfolio optimization with Entropy Pooling model.

  • Portfolio optimization with constraints on tracking error and turnover.

  • Portfolio optimization with short positions and leveraged portfolios.

  • Portfolio optimization with constraints on maximum number of assets and number of effective assets.

  • Portfolio optimization with constraints based on graph information.

  • Portfolio optimization with inequality constraints on risk contributions for variance.

  • Portfolio optimization with inequality constraints on factor risk contributions for variance.

  • Portfolio optimization with integer constraints such as Cardinality on Assets and Categories, Mutually Exclusive and Join Investment.

  • Tools to build efficient frontier for 24 convex risk measures.

  • Tools to build linear constraints on assets, asset classes and risk factors.

  • Tools to build views on assets and asset classes.

  • Tools to build views on risk factors.

  • Tools to build risk contribution constraints per asset classes.

  • Tools to build risk contribution constraints per risk factor using explicit risk factors and principal components.

  • Tools to build bounds constraints for Hierarchical Clustering Portfolios.

  • Tools to calculate risk measures.

  • Tools to calculate risk contributions per asset.

  • Tools to calculate risk contributions per risk factor.

  • Tools to calculate uncertainty sets for mean vector and covariance matrix.

  • Tools to calculate assets clusters based on codependence metrics.

  • Tools to estimate loadings matrix (Stepwise Regression and Principal Components Regression).

  • Tools to visualizing portfolio properties and risk measures.

  • Tools to build reports on Jupyter Notebook and Excel.

  • Option to use commercial optimization solver such as MOSEK or GUROBI for large scale problems.

Documentation

Online documentation is available at Documentation.

The docs include a tutorial with examples that shows the capacities of Riskfolio-Lib.

Choosing a Solver

Due to Riskfolio-Lib is based on CVXPY, Riskfolio-Lib can use the same solvers available for CVXPY. The list of solvers compatible with CVXPY is available in Choosing a solver section of CVXPY's documentation. However, to select an adequate solver for each risk measure we can use the following table that specifies which type of programming technique is used to model each risk measure.

Risk Measure LP QP SOCP SDP EXP POW
Variance (MV) X X*
Mean Absolute Deviation (MAD) X
Gini Mean Difference (GMD) X**
Semi Variance (MSV) X
Kurtosis (KT) X
Even Moment (EM) X**
Semi Kurtosis (SKT) X
Even Semi Moment (ESM) X**
First Lower Partial Moment (FLPM) X
Second Lower Partial Moment (SLPM) X
Conditional Value at Risk (CVaR) X
Tail Gini (TG) X**
Entropic Value at Risk (EVaR) X**
Relativistic Value at Risk (RLVaR) X**
Worst Realization (WR) X
CVaR Range (CVRG) X
Tail Gini Range (TGRG) X**
EVaR Range (EVRG) X**
RLVaR Range (RVRG) X**
Range (RG) X
Average Drawdown (ADD) X
Ulcer Index (UCI) X
Conditional Drawdown at Risk (CDaR) X
Entropic Drawdown at Risk (EDaR) X**
Relativistic Drawdown at Risk (RLDaR) X**
Maximum Drawdown (MDD) X

(*) When SDP graph theory constraints or risk contribution constraints are included. In the case integer programming graph theory constraints are included, the model assume the SOCP formulation.

(**) For these models is highly recommended to use MOSEK as solver, due to in some cases CLARABEL cannot find a solution and SCS takes too much time to solve them.

LP - Linear Programming refers to problems with a linear objective function and linear constraints.

QP - Quadratic Programming refers to problems with a quadratic objective function and linear constraints.

SOCP - Second Order Cone Programming refers to problems with second-order cone constraints.

SDP - Semidefinite Programming refers to problems with positive semidefinite constraints.

EXP - refers to problems with exponential cone constraints.

POW - refers to problems with 3-dimensional power cone constraints.

Dependencies

Riskfolio-Lib supports Python 3.10 or higher.

Installation requires:

Examples requires:

Installation

The latest stable release (and older versions) can be installed from PyPI:

pip install riskfolio-lib

Contributing

Contributions of all kinds are welcome and greatly appreciated. Riskfolio-Lib is an independent open-source project, and community support plays a vital role in its continued development, maintenance, and growth.

Financial Support

If you would like to support the long-term sustainability of Riskfolio-Lib, you can contribute financially in any of the following ways:

Other Ways to Contribute

You can also contribute directly to the project by:

  • Improve and expand the documentation.
  • Enhance the performance and efficiency of existing code.
  • Implement new optimization objectives, risk measures, robust estimation techniques, and other portfolio optimization features.
  • Develop additional examples and tutorials using Jupyter notebooks.
  • Help expand the test suite by writing and improving tests with pytest.
  • Suggest journal articles, research papers, blog posts, or other resources related to portfolio optimization, quantitative finance, machine learning or econometrics that could inspire new features or improvements in Riskfolio-Lib.

Whether you contribute code, documentation, examples, tests, ideas, feedback, financial support, or simply help spread the word about Riskfolio-Lib, your support helps make the project a better tool for the quantitative finance community.

Citing

If you use Riskfolio-Lib for published work, please use the following BibTeX entry:

@misc{riskfolio,
      author = {Dany Cajas},
      title = {Riskfolio-Lib (7.3)},
      year  = {2026},
      url   = {https://github.com/dcajasn/Riskfolio-Lib},
      }

RoadMap

The plan for this module is to add more functions that will be very useful to asset managers.

  • Add more functions based on suggestion of users.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

riskfolio_lib-7.3.0.tar.gz (4.2 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

riskfolio_lib-7.3.0-cp314-cp314-win_amd64.whl (301.2 kB view details)

Uploaded CPython 3.14Windows x86-64

riskfolio_lib-7.3.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (334.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

riskfolio_lib-7.3.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (315.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

riskfolio_lib-7.3.0-cp314-cp314-macosx_10_13_x86_64.whl (328.2 kB view details)

Uploaded CPython 3.14macOS 10.13+ x86-64

riskfolio_lib-7.3.0-cp314-cp314-macosx_10_13_universal2.whl (493.0 kB view details)

Uploaded CPython 3.14macOS 10.13+ universal2 (ARM64, x86-64)

riskfolio_lib-7.3.0-cp313-cp313-win_amd64.whl (297.1 kB view details)

Uploaded CPython 3.13Windows x86-64

riskfolio_lib-7.3.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (334.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

riskfolio_lib-7.3.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (315.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

riskfolio_lib-7.3.0-cp313-cp313-macosx_10_13_x86_64.whl (328.0 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

riskfolio_lib-7.3.0-cp313-cp313-macosx_10_13_universal2.whl (492.4 kB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

riskfolio_lib-7.3.0-cp312-cp312-win_amd64.whl (297.1 kB view details)

Uploaded CPython 3.12Windows x86-64

riskfolio_lib-7.3.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (334.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

riskfolio_lib-7.3.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (315.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

riskfolio_lib-7.3.0-cp312-cp312-macosx_10_13_x86_64.whl (327.9 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

riskfolio_lib-7.3.0-cp312-cp312-macosx_10_13_universal2.whl (492.2 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

riskfolio_lib-7.3.0-cp311-cp311-win_amd64.whl (296.8 kB view details)

Uploaded CPython 3.11Windows x86-64

riskfolio_lib-7.3.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (333.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

riskfolio_lib-7.3.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (315.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

riskfolio_lib-7.3.0-cp311-cp311-macosx_10_9_x86_64.whl (329.5 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

riskfolio_lib-7.3.0-cp311-cp311-macosx_10_9_universal2.whl (494.9 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

riskfolio_lib-7.3.0-cp310-cp310-win_amd64.whl (295.8 kB view details)

Uploaded CPython 3.10Windows x86-64

riskfolio_lib-7.3.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (332.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

riskfolio_lib-7.3.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (315.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

riskfolio_lib-7.3.0-cp310-cp310-macosx_10_9_x86_64.whl (327.8 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

riskfolio_lib-7.3.0-cp310-cp310-macosx_10_9_universal2.whl (492.2 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file riskfolio_lib-7.3.0.tar.gz.

File metadata

  • Download URL: riskfolio_lib-7.3.0.tar.gz
  • Upload date:
  • Size: 4.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for riskfolio_lib-7.3.0.tar.gz
Algorithm Hash digest
SHA256 73ab9400691e0ca4258ba1b3d4939018c67809955504807b0559904405246bdf
MD5 64003cc35ce022a9cf85043730ad5f62
BLAKE2b-256 7315bde460cd3425b339c2d65576632e10e4c001e260d4e6b4d210373f4133cd

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 66e86764134073103120136763a20606642e5cabc6f71e72fe669fa4bb0835d0
MD5 1897ba0e9523a82ff4e45bb57f803996
BLAKE2b-256 faed989015eb926201752c105910f59aaec68aaf3423a906c17084ae73ff88a5

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 175d49c0ac65a1de14e3c4fd755168c83a59dd56c8fa8942d881262e83a46d50
MD5 3a96b54da1da8e057b98d6e5e841b819
BLAKE2b-256 b1c94e1eb83e8bc4f1436188030da4dae8ac12251a554e8ea2c4f294225d96bf

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 494d9271560c81944d071822f835d78555f69c3d37be1a855045dfa1f2dc5efc
MD5 727286681401d09c07e93bbb61db302f
BLAKE2b-256 b6c5b158d4ee52b54323b5e5a3e0028a160b2710d099b8bbc5ebc3e9143937d5

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp314-cp314-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp314-cp314-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 bc841861a7f421e645e8f473e6c1ab5ade3e1d40c8d0d469512cb77f713168e3
MD5 2777c63f6819b579260efd454fa7ac4f
BLAKE2b-256 2fe7ac252fe888ba9a4fb36fd5109d65fff942c9a7637a4cdcdb8d1627f5128d

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp314-cp314-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp314-cp314-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 ecf02c4a56d5f04649a86508ec896c6af24747e3422f4413aad188707bf4ab69
MD5 d2ceada121f6ecf7474dd6db053480ef
BLAKE2b-256 7531b1678b2318e14d8b1863ccdb9da418bf6502ce8fb7c8a8fda12e5488b2dd

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5640cb60953cde34b7afd7e7eb4348d29a2e11ca52a0e97e47c580d02a0c36bc
MD5 7d30b3e2e828758883e55226bdba3e1f
BLAKE2b-256 1f732967412b928a4b102ace56a65fc9c2b9d77c5486d5162cdd9e07a02542fe

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7597e638b85d2352390717cc19de962b9193eb56914cc0983268da8c13122ef0
MD5 8a23cc33f29e3ca5580d06f5824db85a
BLAKE2b-256 64e2c56f6a26f83b01820fb463cb2e6a95ab54ce6841fee69fcc10d9d0860e57

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d2d13ad3119d52903c71fa2b56ef57088850f46e10be5e4eea39f1dbd460e12a
MD5 6b17d958a261b328f69269afd1d281b0
BLAKE2b-256 f7252010825e270a5055dd161c02b04e5cb5b1484d194f3899860d965277ee0a

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 8f4520b9d07f67295a4a957cd2db427e6eda5e0a61accbe9536f6aa625d136f0
MD5 43eb2314f042b00c591a8ecdedca97f7
BLAKE2b-256 b83d2e204dba43cc1d8ef937a2eed7bddfe28dba01d445a2a345f8b6cf70a1b3

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 4def204855258aa05bd6dd97727969c4fb7bba1751c9d171b40246c360d03dd0
MD5 3ab9d4566b61a4592391f315bc22144a
BLAKE2b-256 d5514fbfe24be6a5910457083b1454ed3e459d80c6916b8f9289ef67f5f4a73d

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0d11dfd7aff3ecccf6204638526372d93ffd9e3e569e6f2fb77b45ff2f5eb74b
MD5 1b36eec4972cc9181f37cb752710b0e8
BLAKE2b-256 29a50b4c6323bf002338f9df576c695ee1654c4fe9b245309db088d7770edc51

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 aea873bf173e1dc30bf4899bc68c28a7ddec47aa1dfe0c5a3c32fd8beb4cdc9b
MD5 3986a57ad55f0b67225fb9c27cf6887c
BLAKE2b-256 ac803eb71701d2ad6ec925ade799b114777d4ce1e46e2ffed4a09aec7751fa8b

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ec6c172bedf4935d237fbcdda259af4cc4469c5e550b55abfd95c915eb7e811a
MD5 43b8d03f1e1e5888047de216a0f23dbe
BLAKE2b-256 a9101e7e188c71a4a4070c80505e3a40e7d4786deb02e0c843cb919cc30d42e5

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 98bbd58ade665a9a797a9dcf6f8713ea30fc22fc5e4da11bc6d2d31caaf79a1a
MD5 7e5aae121112ddc76d68f231f037fe00
BLAKE2b-256 834d842f1ae0ef20e848c1985f9ae73af01231cfe780c701f17cd3501e221585

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 d605c215c496b1a513d47478621f75d07705b6959116a47495bdb4bda9b9036b
MD5 eac82a6825f9952150403b55be3a7e4f
BLAKE2b-256 dd5a6cec4d48145af8579fe05cb813f803d07f4d95ed22ce9748d51f3abe4b54

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 48733b643e3e09f0251b9002cd12edc25c74f95ec173fde286690a6aa74a3b75
MD5 c6a4d91de0adeccb01003f7ad3a24b4a
BLAKE2b-256 53f360ce99355428a34d2143245d55a3da0269952274eee6250f8ecd72147e3b

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ec5e4ae798b06958f503e3e1efaad7814622752eab45f16424bf15b912fa991e
MD5 62178401941b0532578efe3cfa59c8d3
BLAKE2b-256 db05fa58e21a8d8fbe79df349f9854c6f1fc06d9dd45c09a72b0cc0ad5589bb4

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 28f768f22604b184090c97db75208a780a478ed47378e44a440d4ee7e44e2109
MD5 c7ba59766a4e11e7be2b6999abeb3b39
BLAKE2b-256 7180f7f5f4b2e01f46096b974e4fa9cb0cf162211307ea3d06afa4fc04808110

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 02d166546353ea5e6eeb34ac1d89d586f9296318c50de16d6c8b94ada4b97f7c
MD5 a09183c0abac11a11309dd5f5da38e54
BLAKE2b-256 954ddc0b83049aa2cbfea3fd92c9f27bad485b4cc4f578412bc49160cfc3a398

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 204d6e36949b7ac91cb07561079845d02f6961d67e827371fc4f18df1292134d
MD5 5edbb384675c198d3d26f30b34575dac
BLAKE2b-256 8f718e7e4e4a16feb53dd25ca4b83220e78fd1292e0809dd514a2851a9edf746

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b81d4257efa6cade27c63e15ace35a42d67f1725fa96d8206cfbf102f7a354ae
MD5 022b92da0de6eb30734f4700eba956d1
BLAKE2b-256 59ad1c5b9f3dbd36c42d1695b666d34a43aedb641e4f30fe8d853aedaf35ccb3

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 07cbb58d907807af8841f7ac3886dcac76c74c284aa0c2e2561833ce2c429225
MD5 34c937a24e438c1d7ccd23fb6154bf3b
BLAKE2b-256 28987e6db19f183f91e21798fc83820c765b22ea65e535dfd142867552219213

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ea517429e468db69cf4c29a41ee4fe856819b6f0648fe56741a1bac43df2b48c
MD5 44ea8782475ff6b8a2c82b7cc7d7657c
BLAKE2b-256 e8d26c6f01b23c671e80c603d0f06808db57ccfaeaddb96ebacd1f01c62217a2

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0e2c0824f95532e864402d2685d2a88ab130f14d85a79529e61cf70b9f690c03
MD5 720ad0fb8bc9ba2184870dbc19959057
BLAKE2b-256 8ce78c6231993869d2e9c06b75128a7470be4221d8f87fecaf50a36a3a93bd8f

See more details on using hashes here.

File details

Details for the file riskfolio_lib-7.3.0-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for riskfolio_lib-7.3.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 da084a04f797c0506fa3ef95e7cf2463912b99bb9966510197c9aca8183f9e64
MD5 a14d296299a6071e482ab09cd190d26a
BLAKE2b-256 8471d807891e46a83020a8a7839842773c6c571cf1981f388c53d2d4472b6e29

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page