skfolio: Portfolio Optimization in Python
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.
Keywords
Cite
@article{arxiv.2507.04176,
title = {skfolio: Portfolio Optimization in Python},
author = {Carlo Nicolini and Matteo Manzi and Hugo Delatte},
journal= {arXiv preprint arXiv:2507.04176},
year = {2025}
}
Comments
7 pages