skfolio 0.2.0__tar.gz → 0.2.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 (87) hide show
  1. {skfolio-0.2.0/src/skfolio.egg-info → skfolio-0.2.1}/PKG-INFO +2 -2
  2. {skfolio-0.2.0 → skfolio-0.2.1}/README.rst +1 -1
  3. {skfolio-0.2.0 → skfolio-0.2.1}/pyproject.toml +1 -1
  4. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/prior/_black_litterman.py +1 -1
  5. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/prior/_empirical.py +5 -4
  6. {skfolio-0.2.0 → skfolio-0.2.1/src/skfolio.egg-info}/PKG-INFO +2 -2
  7. {skfolio-0.2.0 → skfolio-0.2.1}/LICENSE +0 -0
  8. {skfolio-0.2.0 → skfolio-0.2.1}/MANIFEST.in +0 -0
  9. {skfolio-0.2.0 → skfolio-0.2.1}/setup.cfg +0 -0
  10. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/__init__.py +0 -0
  11. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/cluster/__init__.py +0 -0
  12. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/cluster/_hierarchical.py +0 -0
  13. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/datasets/__init__.py +0 -0
  14. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/datasets/_base.py +0 -0
  15. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/datasets/data/__init__.py +0 -0
  16. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/datasets/data/factors_dataset.csv.gz +0 -0
  17. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/datasets/data/sp500_dataset.csv.gz +0 -0
  18. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/datasets/data/sp500_index.csv.gz +0 -0
  19. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/distance/__init__.py +0 -0
  20. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/distance/_base.py +0 -0
  21. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/distance/_distance.py +0 -0
  22. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/exceptions.py +0 -0
  23. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/measures/__init__.py +0 -0
  24. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/measures/_enums.py +0 -0
  25. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/measures/_measures.py +0 -0
  26. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/metrics/__init__.py +0 -0
  27. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/metrics/_scorer.py +0 -0
  28. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/model_selection/__init__.py +0 -0
  29. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/model_selection/_combinatorial.py +0 -0
  30. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/model_selection/_validation.py +0 -0
  31. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/model_selection/_walk_forward.py +0 -0
  32. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/moments/__init__.py +0 -0
  33. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/moments/covariance/__init__.py +0 -0
  34. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/moments/covariance/_base.py +0 -0
  35. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/moments/covariance/_covariance.py +0 -0
  36. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/moments/expected_returns/__init__.py +0 -0
  37. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/moments/expected_returns/_base.py +0 -0
  38. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/moments/expected_returns/_expected_returns.py +0 -0
  39. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/optimization/__init__.py +0 -0
  40. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/optimization/_base.py +0 -0
  41. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/optimization/cluster/__init__.py +0 -0
  42. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/optimization/cluster/_nco.py +0 -0
  43. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/optimization/cluster/hierarchical/__init__.py +0 -0
  44. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/optimization/cluster/hierarchical/_base.py +0 -0
  45. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/optimization/cluster/hierarchical/_herc.py +0 -0
  46. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/optimization/cluster/hierarchical/_hrp.py +0 -0
  47. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/optimization/convex/__init__.py +0 -0
  48. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/optimization/convex/_base.py +0 -0
  49. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/optimization/convex/_distributionally_robust.py +0 -0
  50. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/optimization/convex/_maximum_diversification.py +0 -0
  51. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/optimization/convex/_mean_risk.py +0 -0
  52. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/optimization/convex/_risk_budgeting.py +0 -0
  53. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/optimization/ensemble/__init__.py +0 -0
  54. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/optimization/ensemble/_base.py +0 -0
  55. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/optimization/ensemble/_stacking.py +0 -0
  56. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/optimization/naive/__init__.py +0 -0
  57. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/optimization/naive/_naive.py +0 -0
  58. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/population/__init__.py +0 -0
  59. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/population/_population.py +0 -0
  60. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/portfolio/__init__.py +0 -0
  61. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/portfolio/_base.py +0 -0
  62. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/portfolio/_multi_period_portfolio.py +0 -0
  63. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/portfolio/_portfolio.py +0 -0
  64. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/pre_selection/__init__.py +0 -0
  65. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/pre_selection/_pre_selection.py +0 -0
  66. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/preprocessing/__init__.py +0 -0
  67. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/preprocessing/_returns.py +0 -0
  68. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/prior/__init__.py +0 -0
  69. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/prior/_base.py +0 -0
  70. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/prior/_factor_model.py +0 -0
  71. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/typing.py +0 -0
  72. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/uncertainty_set/__init__.py +0 -0
  73. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/uncertainty_set/_base.py +0 -0
  74. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/uncertainty_set/_bootstrap.py +0 -0
  75. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/uncertainty_set/_empirical.py +0 -0
  76. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/utils/__init__.py +0 -0
  77. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/utils/bootstrap.py +0 -0
  78. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/utils/equations.py +0 -0
  79. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/utils/fixes/__init__.py +0 -0
  80. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/utils/fixes/_dendrogram.py +0 -0
  81. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/utils/sorting.py +0 -0
  82. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/utils/stats.py +0 -0
  83. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio/utils/tools.py +0 -0
  84. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio.egg-info/SOURCES.txt +0 -0
  85. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio.egg-info/dependency_links.txt +0 -0
  86. {skfolio-0.2.0 → skfolio-0.2.1}/src/skfolio.egg-info/requires.txt +0 -0
  87. {skfolio-0.2.0 → skfolio-0.2.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.2.0
3
+ Version: 0.2.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>
@@ -564,7 +564,7 @@ Black & Litterman Factor Model
564
564
  ------------------------------
565
565
  .. code-block:: python
566
566
 
567
- factor_views = ["MTUM - QUAL == 0.03 ", "SIZE - TLT == 0.04", "VLUE == 0.06"]
567
+ factor_views = ["MTUM - QUAL == 0.03 ", "VLUE == 0.06"]
568
568
  model = MeanRisk(
569
569
  objective_function=ObjectiveFunction.MAXIMIZE_RATIO,
570
570
  prior_estimator=FactorModel(
@@ -479,7 +479,7 @@ Black & Litterman Factor Model
479
479
  ------------------------------
480
480
  .. code-block:: python
481
481
 
482
- factor_views = ["MTUM - QUAL == 0.03 ", "SIZE - TLT == 0.04", "VLUE == 0.06"]
482
+ factor_views = ["MTUM - QUAL == 0.03 ", "VLUE == 0.06"]
483
483
  model = MeanRisk(
484
484
  objective_function=ObjectiveFunction.MAXIMIZE_RATIO,
485
485
  prior_estimator=FactorModel(
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "skfolio"
7
- version = "0.2.0"
7
+ version = "0.2.1"
8
8
  maintainers = [
9
9
  { name = "Hugo Delatte", email = "delatte.hugo@gmail.com" },
10
10
  ]
@@ -156,7 +156,7 @@ class BlackLitterman(BasePrior):
156
156
  check_type=BasePrior,
157
157
  )
158
158
  # fitting prior estimator
159
- self.prior_estimator_.fit(X)
159
+ self.prior_estimator_.fit(X, y)
160
160
 
161
161
  prior_mu = self.prior_estimator_.prior_model_.mu
162
162
  prior_covariance = self.prior_estimator_.prior_model_.covariance
@@ -120,11 +120,11 @@ class EmpiricalPrior(BasePrior):
120
120
  "`is_log_normal` is `False`"
121
121
  )
122
122
  # Expected returns
123
- self.mu_estimator_.fit(X)
123
+ self.mu_estimator_.fit(X, y)
124
124
  mu = self.mu_estimator_.mu_
125
125
 
126
126
  # Covariance
127
- self.covariance_estimator_.fit(X)
127
+ self.covariance_estimator_.fit(X, y)
128
128
  covariance = self.covariance_estimator_.covariance_
129
129
  else:
130
130
  if self.investment_horizon is None:
@@ -134,14 +134,15 @@ class EmpiricalPrior(BasePrior):
134
134
  )
135
135
  # Convert linear returns to log returns
136
136
  X_log = np.log(1 + X)
137
+ y_log = np.log(1 + y) if y is not None else None
137
138
 
138
139
  # Estimates the moments on the log returns
139
140
  # Expected returns
140
- self.mu_estimator_.fit(X_log)
141
+ self.mu_estimator_.fit(X_log, y_log)
141
142
  mu = self.mu_estimator_.mu_
142
143
 
143
144
  # Covariance
144
- self.covariance_estimator_.fit(X_log)
145
+ self.covariance_estimator_.fit(X_log, y_log)
145
146
  covariance = self.covariance_estimator_.covariance_
146
147
 
147
148
  # Using the property of aggregation across time we scale this distribution
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: skfolio
3
- Version: 0.2.0
3
+ Version: 0.2.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>
@@ -564,7 +564,7 @@ Black & Litterman Factor Model
564
564
  ------------------------------
565
565
  .. code-block:: python
566
566
 
567
- factor_views = ["MTUM - QUAL == 0.03 ", "SIZE - TLT == 0.04", "VLUE == 0.06"]
567
+ factor_views = ["MTUM - QUAL == 0.03 ", "VLUE == 0.06"]
568
568
  model = MeanRisk(
569
569
  objective_function=ObjectiveFunction.MAXIMIZE_RATIO,
570
570
  prior_estimator=FactorModel(
File without changes
File without changes
File without changes
File without changes
File without changes