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)
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'.
fixUse 'import riskfolio' after 'pip install riskfolio-lib'.
KeyError: 'prices'
Portfolio class in v7+ does not accept 'prices' as a parameter.
fixPass '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.
fixInstall 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.
fixDrop 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