skfolio 0.4.0__tar.gz → 0.4.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. {skfolio-0.4.0/src/skfolio.egg-info → skfolio-0.4.1}/PKG-INFO +2 -2
  2. {skfolio-0.4.0 → skfolio-0.4.1}/pyproject.toml +2 -2
  3. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/model_selection/_combinatorial.py +1 -1
  4. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/population/_population.py +2 -2
  5. {skfolio-0.4.0 → skfolio-0.4.1/src/skfolio.egg-info}/PKG-INFO +2 -2
  6. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio.egg-info/requires.txt +1 -1
  7. {skfolio-0.4.0 → skfolio-0.4.1}/LICENSE +0 -0
  8. {skfolio-0.4.0 → skfolio-0.4.1}/MANIFEST.in +0 -0
  9. {skfolio-0.4.0 → skfolio-0.4.1}/README.rst +0 -0
  10. {skfolio-0.4.0 → skfolio-0.4.1}/setup.cfg +0 -0
  11. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/__init__.py +0 -0
  12. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/cluster/__init__.py +0 -0
  13. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/cluster/_hierarchical.py +0 -0
  14. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/datasets/__init__.py +0 -0
  15. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/datasets/_base.py +0 -0
  16. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/datasets/data/__init__.py +0 -0
  17. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/datasets/data/factors_dataset.csv.gz +0 -0
  18. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/datasets/data/sp500_dataset.csv.gz +0 -0
  19. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/datasets/data/sp500_index.csv.gz +0 -0
  20. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/distance/__init__.py +0 -0
  21. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/distance/_base.py +0 -0
  22. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/distance/_distance.py +0 -0
  23. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/exceptions.py +0 -0
  24. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/measures/__init__.py +0 -0
  25. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/measures/_enums.py +0 -0
  26. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/measures/_measures.py +0 -0
  27. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/metrics/__init__.py +0 -0
  28. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/metrics/_scorer.py +0 -0
  29. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/model_selection/__init__.py +0 -0
  30. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/model_selection/_validation.py +0 -0
  31. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/model_selection/_walk_forward.py +0 -0
  32. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/moments/__init__.py +0 -0
  33. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/moments/covariance/__init__.py +0 -0
  34. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/moments/covariance/_base.py +0 -0
  35. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/moments/covariance/_denoise_covariance.py +0 -0
  36. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/moments/covariance/_detone_covariance.py +0 -0
  37. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/moments/covariance/_empirical_covariance.py +0 -0
  38. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/moments/covariance/_ew_covariance.py +0 -0
  39. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/moments/covariance/_gerber_covariance.py +0 -0
  40. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/moments/covariance/_graphical_lasso_cv.py +0 -0
  41. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/moments/covariance/_implied_covariance.py +0 -0
  42. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/moments/covariance/_ledoit_wolf.py +0 -0
  43. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/moments/covariance/_oas.py +0 -0
  44. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/moments/covariance/_shrunk_covariance.py +0 -0
  45. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/moments/expected_returns/__init__.py +0 -0
  46. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/moments/expected_returns/_base.py +0 -0
  47. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/moments/expected_returns/_empirical_mu.py +0 -0
  48. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/moments/expected_returns/_equilibrium_mu.py +0 -0
  49. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/moments/expected_returns/_ew_mu.py +0 -0
  50. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/moments/expected_returns/_shrunk_mu.py +0 -0
  51. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/optimization/__init__.py +0 -0
  52. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/optimization/_base.py +0 -0
  53. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/optimization/cluster/__init__.py +0 -0
  54. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/optimization/cluster/_nco.py +0 -0
  55. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/optimization/cluster/hierarchical/__init__.py +0 -0
  56. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/optimization/cluster/hierarchical/_base.py +0 -0
  57. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/optimization/cluster/hierarchical/_herc.py +0 -0
  58. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/optimization/cluster/hierarchical/_hrp.py +0 -0
  59. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/optimization/convex/__init__.py +0 -0
  60. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/optimization/convex/_base.py +0 -0
  61. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/optimization/convex/_distributionally_robust.py +0 -0
  62. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/optimization/convex/_maximum_diversification.py +0 -0
  63. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/optimization/convex/_mean_risk.py +0 -0
  64. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/optimization/convex/_risk_budgeting.py +0 -0
  65. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/optimization/ensemble/__init__.py +0 -0
  66. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/optimization/ensemble/_base.py +0 -0
  67. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/optimization/ensemble/_stacking.py +0 -0
  68. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/optimization/naive/__init__.py +0 -0
  69. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/optimization/naive/_naive.py +0 -0
  70. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/population/__init__.py +0 -0
  71. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/portfolio/__init__.py +0 -0
  72. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/portfolio/_base.py +0 -0
  73. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/portfolio/_multi_period_portfolio.py +0 -0
  74. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/portfolio/_portfolio.py +0 -0
  75. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/pre_selection/__init__.py +0 -0
  76. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/pre_selection/_pre_selection.py +0 -0
  77. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/preprocessing/__init__.py +0 -0
  78. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/preprocessing/_returns.py +0 -0
  79. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/prior/__init__.py +0 -0
  80. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/prior/_base.py +0 -0
  81. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/prior/_black_litterman.py +0 -0
  82. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/prior/_empirical.py +0 -0
  83. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/prior/_factor_model.py +0 -0
  84. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/typing.py +0 -0
  85. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/uncertainty_set/__init__.py +0 -0
  86. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/uncertainty_set/_base.py +0 -0
  87. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/uncertainty_set/_bootstrap.py +0 -0
  88. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/uncertainty_set/_empirical.py +0 -0
  89. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/utils/__init__.py +0 -0
  90. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/utils/bootstrap.py +0 -0
  91. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/utils/equations.py +0 -0
  92. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/utils/sorting.py +0 -0
  93. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/utils/stats.py +0 -0
  94. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio/utils/tools.py +0 -0
  95. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio.egg-info/SOURCES.txt +0 -0
  96. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio.egg-info/dependency_links.txt +0 -0
  97. {skfolio-0.4.0 → skfolio-0.4.1}/src/skfolio.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: skfolio
3
- Version: 0.4.0
3
+ Version: 0.4.1
4
4
  Summary: Portfolio optimization built on top of scikit-learn
5
5
  Author-email: Hugo Delatte <delatte.hugo@gmail.com>
6
6
  Maintainer-email: Hugo Delatte <delatte.hugo@gmail.com>
@@ -56,7 +56,7 @@ Classifier: Topic :: Software Development
56
56
  Requires-Python: >=3.10
57
57
  Description-Content-Type: text/x-rst
58
58
  License-File: LICENSE
59
- Requires-Dist: numpy<2.0.0,>=1.23.4
59
+ Requires-Dist: numpy>=1.23.4
60
60
  Requires-Dist: scipy>=1.8.0
61
61
  Requires-Dist: pandas>=1.4.1
62
62
  Requires-Dist: cvxpy>=1.4.1
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "skfolio"
7
- version = "0.4.0"
7
+ version = "0.4.1"
8
8
  maintainers = [
9
9
  { name = "Hugo Delatte", email = "delatte.hugo@gmail.com" },
10
10
  ]
@@ -15,7 +15,7 @@ description = "Portfolio optimization built on top of scikit-learn"
15
15
  readme = "README.rst"
16
16
  requires-python = ">=3.10"
17
17
  dependencies = [
18
- "numpy>=1.23.4, <2.0.0", # TODO: remove "<2.0.0" when https://github.com/cvxpy/cvxpy/issues/2474 is completed
18
+ "numpy>=1.23.4",
19
19
  "scipy>=1.8.0",
20
20
  "pandas>=1.4.1",
21
21
  "cvxpy>=1.4.1",
@@ -377,7 +377,7 @@ class CombinatorialPurgedCV(BaseCombinatorialCV):
377
377
  ]
378
378
  values = self.index_train_test_.T
379
379
  values = np.insert(values, 0, np.arange(n_samples), axis=0)
380
- fill_color = np.select(cond, ["green", "blue", "red"]).T
380
+ fill_color = np.select(cond, ["green", "blue", "red"], default="green").T
381
381
  fill_color = fill_color.astype(object)
382
382
  fill_color = np.insert(
383
383
  fill_color, 0, np.array(["darkblue" for _ in range(n_samples)]), axis=0
@@ -410,7 +410,7 @@ class Population(list):
410
410
  spacing: float | None = None,
411
411
  display_sub_ptf_name: bool = True,
412
412
  ) -> pd.DataFrame:
413
- """Contribution of each asset to a given measure of each portfolio in the
413
+ r"""Contribution of each asset to a given measure of each portfolio in the
414
414
  population.
415
415
 
416
416
  Parameters
@@ -420,7 +420,7 @@ class Population(list):
420
420
 
421
421
  spacing : float, optional
422
422
  Spacing "h" of the finite difference:
423
- :math:`contribution(wi)= \frac{measure(wi-h) - measure(wi+h)}{2h}`
423
+ :math:`contribution(wi)= \frac{measure(wi-h) - measure(wi+h)}{2h}`.
424
424
 
425
425
  display_sub_ptf_name : bool, default=True
426
426
  If this is set to True, each sub-portfolio name composing a multi-period
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: skfolio
3
- Version: 0.4.0
3
+ Version: 0.4.1
4
4
  Summary: Portfolio optimization built on top of scikit-learn
5
5
  Author-email: Hugo Delatte <delatte.hugo@gmail.com>
6
6
  Maintainer-email: Hugo Delatte <delatte.hugo@gmail.com>
@@ -56,7 +56,7 @@ Classifier: Topic :: Software Development
56
56
  Requires-Python: >=3.10
57
57
  Description-Content-Type: text/x-rst
58
58
  License-File: LICENSE
59
- Requires-Dist: numpy<2.0.0,>=1.23.4
59
+ Requires-Dist: numpy>=1.23.4
60
60
  Requires-Dist: scipy>=1.8.0
61
61
  Requires-Dist: pandas>=1.4.1
62
62
  Requires-Dist: cvxpy>=1.4.1
@@ -1,4 +1,4 @@
1
- numpy<2.0.0,>=1.23.4
1
+ numpy>=1.23.4
2
2
  scipy>=1.8.0
3
3
  pandas>=1.4.1
4
4
  cvxpy>=1.4.1
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes