skfolio: Portfolio Optimization in Python
Carlo Nicolini, Matteo Manzi, Hugo Delatte

TL;DR
skfolio is an open-source Python library that integrates traditional and modern portfolio optimization techniques with machine learning workflows, enhancing reproducibility and transparency in quantitative finance.
Contribution
It introduces a unified, scikit-learn-compatible framework for diverse portfolio strategies, combining statistical rigor with practical implementation in Python.
Findings
Supports classical and modern optimization methods
Provides advanced cross-validation for financial data
Facilitates reproducible machine learning workflows in finance
Abstract
Portfolio optimization is a fundamental challenge in quantitative finance, requiring robust computational tools that integrate statistical rigor with practical implementation. We present skfolio, an open-source Python library for portfolio construction and risk management that seamlessly integrates with the scikit-learn ecosystem. skfolio provides a unified framework for diverse allocation strategies, from classical mean-variance optimization to modern clustering-based methods, state-of-the-art financial estimators with native interfaces, and advanced cross-validation techniques tailored for financial time series. By adhering to scikit-learn's fit-predict-transform paradigm, the library enables researchers and practitioners to leverage machine learning workflows for portfolio optimization, promoting reproducibility and transparency in quantitative finance.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Reservoir Engineering and Simulation Methods · Computational Physics and Python Applications
