English

skfolio: Portfolio Optimization in Python

Machine Learning 2025-07-09 v2 Portfolio Management

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