Registry / finance / skfolio

skfolio

JSON →
library0.20.1pypypiunverified

skfolio is a portfolio optimization library built on top of scikit-learn, providing tools for mean-variance optimization, risk parity, black-litterman, hierarchical risk parity (HRP), and more. It integrates seamlessly with scikit-learn's API. Current version 0.20.1, released in 2025. Active development with frequent releases.

pip install skfolio
INSTALL
IMPORT
SIG · SKFOLIO
S
skfolio
financepythonv0.20.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.

MeanVariance
from skfolio.portfolio import MeanVariance
from skfolio import MeanVariance

Fits a minimum variance portfolio on S&P 500 daily returns. Prints optimized weights.

import numpy as np from skfolio import MeanVariance, Population from skfolio.datasets import load_sp500_dataset # Load sample data prices = load_sp500_dataset() X = prices.pct_change().dropna() # Fit a Mean-Variance model model = MeanVariance() model.fit(X) print(model.weights_)
Debug
Known issues
breakingIn v0.20, the import paths for all estimators changed. Previously under skfolio.optimization, now under skfolio directly. Old imports will raise ImportError.
fix
Change 'from skfolio.optimization import MeanVariance' to 'from skfolio import MeanVariance'.
affects: >=0.20.0
deprecatedThe 'risk_parity' module is deprecated and will be removed in v0.22. Use 'RiskParity' from skfolio instead.
fix
Replace 'from skfolio.risk_parity import RiskParity' with 'from skfolio import RiskParity'.
affects: >=0.19.0
gotchaThe 'fit' method expects a DataFrame/array of returns (percentage change), not raw prices. Passing prices will produce incorrect weights.
fix
Ensure input data is returns, e.g., df.pct_change().dropna() before calling fit().
affects: all
Upgrade
Version history
0.20.1latest on PyPI · released Apr 21, 2026
Audit
Dependencies
scikit-learnrequiredCore dependency; skfolio extends sklearn's API.
numpyrequiredNumerical computations.
pandasrequiredData handling for price data.
cvxpyoptionalConvex optimization solver for some models.
Agent activity
43 hits · last 30 days
node
40
Resources
skfolio — pip install skfolio · libregistry