Registry / data / riskfolio-lib

riskfolio-lib

JSON →
library7.2.1pypypi✓ verified 86d ago

Riskfolio-Lib is a Python library for portfolio optimization and quantitative strategic asset allocation. It provides tools for mean-variance, Black-Litterman, risk parity, and other advanced portfolio methods. Current version is 7.2.1, requiring Python >=3.9. The library is actively maintained with a regular release cadence.

pip install riskfolio-lib
INSTALL
IMPORT
SIG · RISKFOLIO-LIB
R
riskfolio-lib
datapythonv7.2.1
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Portfolio
from riskfolio import Portfolio
import Portfolio from riskfolio-lib
Hyphen in library name, but Python module uses underscore; import as 'riskfolio'.
HRP (Hierarchical Risk Parity)
from riskfolio import HCPortfolio
from riskfolio.lib import HRP
HRP is implemented in HCPortfolio class, not a separate module.
RiskParity
from riskfolio import RiskParity
from riskfolio.optimization import RiskParity
RiskParity is in the top-level namespace.

Basic mean-variance optimization to maximize Sharpe ratio using historical returns.

import numpy as np import pandas as pd from riskfolio import Portfolio # Sample data ereturns = pd.DataFrame(np.random.randn(100, 4), columns=['Asset1','Asset2','Asset3','Asset4']) # Portfolio object port = Portfolio(returns=ereturns) # Mean-variance optimization w = port.optimization(model='Classic', rm='MV', obj='Sharpe', hist=True) print(w)
Debug
Known issues
breakingIn version 7.0+, the Portfolio class no longer accepts 'prices' directly; use 'returns' or 'mu' and 'cov' explicitly.
fix
Convert prices to returns with .pct_change().dropna() before passing to Portfolio.
affects: >=7.0.0
deprecatedThe function 'riskfolio.MeanRisk()' is deprecated. Use 'Portfolio.optimization()' with risk measure parameters.
fix
Switch to Portfolio object and its optimization method.
affects: >=6.0.0
gotchaThe library requires cvxpy with a compatible solver (e.g., ECOS, SCS). Missing solver may cause silent fallback or errors.
fix
Install cvxpy and optionally 'cvxopt' or 'scipy' for alternative solvers.
affects: all
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'riskfolio'
Importing with hyphen instead of underscore: 'riskfolio-lib' is the package name, but the module is 'riskfolio'.
fix
Use 'import riskfolio' after 'pip install riskfolio-lib'.
KeyError: 'prices'
Portfolio class in v7+ does not accept 'prices' as a parameter.
fix
Pass 'returns' (DataFrame of returns) instead of 'prices' to Portfolio.
cvxpy.error.SolverError: Solver not found (ECOS, SCS, etc.)
cvxpy is installed but no solver backend is available.
fix
Install a solver: e.g., 'pip install cvxopt'.
ValueError: The covariance matrix is not positive semidefinite
Data contains NaN or insufficient observations causing non-psd covariance.
fix
Drop or interpolate NaN values; use method='ledoit' in covariance estimation: Port = Portfolio(returns, method_cov='ledoit').
Upgrade
Version history
7.2.1latest on PyPI · released Feb 18, 2026
Audit
Dependencies
numpyrequiredCore array operations
pandasrequiredData handling for returns and prices
cvxpyrequiredConvex optimization solver interface
scipyrequiredOptimization routines
matplotliboptionalPlotting efficient frontier and risk-return
Agent activity
7 hits · last 30 days
node
6
OpenAI (training)
1
Resources
riskfolio-lib — pip install riskfolio-lib · libregistry