Paper: arXiv 2507.04176

Authors: Carlo Nicolini, Matteo Manzi, Hugo Delatte

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.

Complexity vs Empirical Score

  • Math Complexity: 8.5/10
  • Empirical Rigor: 7.0/10
  • Quadrant: Holy Grail — high math complexity, high empirical rigor

Why this score: The paper presents advanced mathematical formulations including convex optimization, risk measures, shrinkage, and copula models, justifying a high math score. It provides concrete code examples, integration with scikit-learn, and discusses backtesting and cross-validation, showing strong empirical rigor.

Research Flowchart

  flowchart TD
  A["Research Goal: Develop Portfolio Optimization Library"] --> B["Methodology: skfit Estimator Framework"]
  B --> C["Input: Financial Time Series Data"]
  C --> D["Computational Process: Fit-Predict-Transform & Cross-Validation"]
  D --> E["Outcome: Diverse Allocation Strategies & Risk Management"]

Cited References (125)

  1. Portfolio Selection (1952)
  2. Options, Futures, and Other Derivatives (2017)
  3. Scikit-learn: Machine Learning in Python (2011)
  4. The Elements of Statistical Learning: Data Mining, Inference, and Prediction (2009)
  5. Keras: Deep Learning library for Python (2015) — link
  6. The NumPy array: a structure for efficient numerical computation (2011)
  7. pandas-dev/pandas: Pandas (2020) — link
  8. D ata S tructures for S tatistical C omputing in P ython (2010) — link
and 117 more
  1. A History of Commercially Available Risk Models (2022)
  2. Handbook of Computational and Numerical Methods in Finance (2009)
  3. Riskfolio-Lib (7.0.1) (2025) — link
  4. PyPortfolioOpt: portfolio optimization in Python (2021) — link
  5. Optimal versus naive diversification: How inefficient is the 1/N portfolio strategy? (2009)
  6. Active portfolio management (2000)
  7. Risk and asset allocation (2005)
  8. Efficient asset management: a practical guide to stock portfolio optimization and asset allocation. (2001)
  9. Estimation error and portfolio optimization: a resampling solution (2007)
  10. Advances in financial machine learning (2018)
  11. Regularizing portfolio optimization (2010) — link
  12. Honey, I shrunk the sample covariance matrix (2003)
  13. A well-conditioned estimator for large-dimensional covariance matrices (2004)
  14. Improved estimates of higher-order comoments and implications for portfolio selection (2010)
  15. The intuition behind Black-Litterman model portfolios (2002)
  16. Risk parity portfolio vs. other asset allocation heuristic portfolios (2011)
  17. Building diversified portfolios that outperform out-of-sample (2016)
  18. Portfolio selection via subset resampling (2017) — link
  19. The optimization of a quadratic function subject to linear constraints (1956)
  20. Axioma Portfolio Optimizer for Portfolio Construction (2025) — link
  21. Barra Portfolio Manager (2025) — [link]({ https://app2.msci.com/products/analytics/barra_portfolio_manager/ })
  22. The capital asset pricing model: Theory and evidence (2004)
  23. Portfolio selection with parameter and model uncertainty: A multi-prior approach (2007)
  24. Optimal portfolio choice with parameter uncertainty (2007)
  25. Coherent measures of risk (1999)
  26. Conditional value-at-risk for general loss distributions (2002)
  27. Optimization of conditional value-at-risk (2000)
  28. The Gerber Statistic: A Robust Co-Movement Measure for Portfolio Optimization. (2022)
  29. The gerber statistic: A robust measure of correlation (2019)
  30. Enhancing multi-asset portfolio construction under modern portfolio theory with a robust co-movement measure (2015)
  31. Deconstructing the Gerber statistic (2023)
  32. Risk-based and factor investing (2015)
  33. The hierarchical equal risk contribution portfolio (2018)
  34. Cluster analysis for portfolio optimization (2008)
  35. A robust estimator of the efficient frontier (2016)
  36. Correlation, hierarchies, and networks in financial markets (2010)
  37. A constrained hierarchical risk parity algorithm with cluster-based capital allocation (2019)
  38. Introduction to risk parity and budgeting (2013)
  39. A theoretical foundation of portfolio resampling (2015)
  40. Programming with linear fractional functionals (1962)
  41. The investor’s guide to fidelity funds (1989)
  42. Portfolio Optimization with Drawdown Constraints (2003)
  43. Drawdown measure in portfolio optimization (2005)
  44. Portfolio optimization of relativistic value at risk (2023)
  45. A step-by-step guide to the Black-Litterman model: Incorporating user-specified confidence levels (2007)
  46. Linear vs. Compounded Returns–Common Pitfalls in Portfolio Management (2010)
  47. Correlation risk (2009)
  48. The price of correlation risk: Evidence from equity options (2009)
  49. Large-Scale Portfolio Optimization Using Multiobjective Evolutionary Algorithms and Preselection Methods (2017)
  50. Robustness properties of mean-variance portfolios (2009)
  51. Automatic block-length selection for the dependent bootstrap (2004)
  52. Correction to Automatic block-length selection for the dependent bootstrap (2009)
  53. Distributionally robust optimization: A review (2019) — link
  54. Portfolio analysis under uncertain means, variances, and covariances (1974)
  55. The effect of estimation risk on optimal portfolio choice (1976)
  56. The effect of limited information and estimation risk on optimal portfolio diversification (1977)
  57. Measuring and testing dependence by correlation of distances (2007) — link
  58. In defense of optimization: the fallacy of 1/N (2010)
  59. Stacked regressions (1996)
  60. Data-driven distributionally robust optimization using the Wasserstein metric: Performance guarantees and tractable reformulations (2018)
  61. From gan to wgan (2019) — link
  62. Ambiguity set and learning via Bregman and Wasserstein (2017) — link
  63. The 1/N investment strategy is optimal under high model ambiguity (2012)
  64. Hyperparameter optimization for portfolio selection (2020)
  65. Machine learning in asset pricing (2021)
  66. Drawdown: From practice to theory and back again (2017)
  67. Entropic value-at-risk: A new coherent risk measure (2012)
  68. Mean-risk analysis with risk associated with below-target returns (1977)
  69. Stochastic dominance, mean variance, and Gini’s mean difference (1982)
  70. Risk reduction in large portfolios: Why imposing the wrong constraints helps (2003)
  71. Random matrix theory and financial correlations (2000)
  72. Theory of financial risk and derivative pricing: from statistical physics to risk management (2003)
  73. On the coherence of expected shortfall (2002)
  74. Dynamic robust portfolio selection with copulas (2017)
  75. Robust portfolio optimization with copulas (2014)
  76. An introduction to copulas (2006)
  77. Quantitative risk management: concepts, techniques and tools-revised edition (2015)
  78. Canonical vine copulas in the context of modern portfolio management: Are they worth it? (2018)
  79. Multivariate models and multivariate dependence concepts (1997)
  80. Fonctions de r 'e partition `a n dimensions et leurs marges (1959)
  81. Pair-copula constructions of multiple dependence (2009)
  82. Application of copula and copula-CVaR in the multivariate portfolio optimization (2007)
  83. Probabilistic opinion pooling generalized. Part one: general agendas (2017)
  84. Probabilistic opinion pooling generalized. Part two: the premise-based approach (2017)
  85. Rational decisions (1952)
  86. Opinion aggregation and individual expertise (2017)
  87. Fully Flexible Views: Theory and Practice (2008) — link
  88. The Black-Litterman approach: Original model and extensions (2009)
  89. Fully flexible extreme views (2011)
  90. Effective number of scenarios in fully flexible probabilities (2012)
  91. I-divergence geometry of probability distributions and minimization problems (1975)
  92. Sequential Entropy Pooling Heuristics (2021)
  93. Causal and Predictive Market Views and Stress-Testing (2023)
  94. Elements of copula modeling with R (2018)
  95. Enjoy the joy of copulas: with a package copula (2007)
  96. Modeling dependence with C-and D-vine copulas: the R package CDVine (2013)
  97. On entropic tilting and predictive conditioning (2022) — link
  98. Optimal shrinkage estimator for high-dimensional mean vector (2019)
  99. Toward maximum diversification (2008)
  100. Bayes-Stein estimation for portfolio analysis (1986)
  101. Stacked generalization (1992)
  102. Clarabel: An interior-point solver for conic programs with quadratic objectives (2024) — link
  103. CVXPY: A Python-embedded modeling language for convex optimization (2016)
  104. Gurobi Optimizer Reference Manual (2024) — link
  105. V12. 1: User’s Manual for CPLEX (2009)
  106. The MOSEK optimization toolbox for Python manual. (2025) — link
  107. Incorporating estimation errors into portfolio selection: Robust portfolio construction (2006)
  108. Sparse inverse covariance estimation with the graphical lasso (2008)
  109. A Backtesting Protocol in the Era of Machine Learning (2019) — link
  110. The Probability of Backtest Overfitting (2016) — link
  111. Schur Complementary Allocation: A Unification of Hierarchical Risk Parity and Minimum Variance Portfolios (2024)
  112. Portfolio Optimization, Theory and Application (2025)
  113. Advanced Portfolio Optimization: A Cutting-edge Quantitative Approach (2025) — link
  114. PyPortfolioOpt: portfolio optimization in Python (2021) — link
  115. Riskfolio-Lib (7.0.1) (2025) — link
  116. Barra Risk Model Handbook (2007)
  117. Portfolio Construction Using Robust Optimization (2008)

0 of 125 cited works are in the corpus; resolved via arXiv source bundles, Semantic Scholar and OpenAlex. Corpus-wide: 2518 linked papers.