- feat(mean-risk): Cardinality and Threshold constraints (#102) (
a4d8db5
)
- chore(docs): pin
kaleido
version to fixsphinx-build
(#97) [skip-ci] (3a7184e
)
-
ci: specify
environment
in docs flow (#99) (1efe4c8
) -
ci: Integrate JupyterLite into documentation site (#98) (
c1d5bc0
)
- docs: sync dep versions between readme and pyproject (#100) [skip ci] (
dc5671f
)
- fix(datasets): Use CORS proxy to load remote datasets from browser (JupyterLite) (#101) (
c7dc97e
)
- v0.5.2 [skip ci]
Automatically generated by python-semantic-release (d3b8a8e
)
- chore(numpy): fix numpy DeprecationWarning (
28a36ed
)
- fix(risk-budgeting): weight constraint validation fixed (
21da12a
)
- v0.5.1 [skip ci]
Automatically generated by python-semantic-release (a5a7579
)
-
feat(pre-selection): Handle Incomplete Datasets, Inception, Expiry, Default, Delistings (#94)
-
SelectComplete and SelectNonExpiring transformers added
-
Incomplete Dataset example added (
2bebfd2
)
- v0.5.0 [skip ci]
Automatically generated by python-semantic-release (9b78127
)
- chore(readme): typo [skip ci] (
d53a15b
)
- fix(herc): HERC weight constraint bug fixed using minimum relative weight deviation (
5d24fc3
)
- v0.4.3 [skip ci]
Automatically generated by python-semantic-release (777bf6c
)
- fix(optimization):
linear_constraints
now supports equality strings (7a738f3
)
- v0.4.2 [skip ci]
Automatically generated by python-semantic-release (0cbbdcf
)
- chore(examples): Example for custom pre-selection with Volumes (
3448281
)
-
fix(pyproject): removing "numpy<2.0.0" following last cvxpy release (
ba08925
) -
fix(combinatorial): added default type for compatibility with numpy 2.0.0 (
ae45598
)
- v0.4.1 [skip ci]
Automatically generated by python-semantic-release (0132dcb
)
- feat(portfolio):
contribution
andplot_contribution
implemented for MultiPeriodPortfolio
BREAKING CHANGE: contribution
now returns a DataFrame as default. To return a numpy array, use to_df=False
(0996fac
)
- fix(population): names and tags arguments
BREAKING CHANGE: names and tags arguments removed from all methods except for filter
. Use chaining instead: population.filter(names="xxx", tags="yyy").plot_composition()
. (a020c28
)
- chore(docstring): WalkForward example (
0745b6a
)
-
feat(walk-forward): possibility to split based on datetime periods and pandas offsets (
f782275
) -
feat(walk-forward): possibility to split based on datetime periods and offsets (
af386be
) -
feat(portfolio):
weights_per_observation
added (d0d3b33
) -
feat(population):
contribution
andplot_contribution
added (128f619
) -
feat(population): rolling_measure and plot_rolling_measure added at the Population level (
c75d34d
)
-
fix(test): portfolio contribution (
56947eb
) -
fix(portfolio):
plot_contribution
changed to stacked bars
For better readability and homogeneity with plot_composition
(cd6e7c0
)
-
fix(workflow): python-semantic-release version updated (
f397565
) -
fix(pyproject): keeping major to 0.x.x after a breaking change (
9b29180
) -
fix(docs): typo in measure docstring [skip ci] (
17fd458
) -
fix(docs): typo in datasets docstring [skip ci] (
c796630
)
- v0.4.0 [skip ci]
Automatically generated by python-semantic-release (73c08ed
)
- Merge pull request #79 from skfolio/development
[ENH] WalkForward on specific dates - Rolling Measures - code enhancement (6b098fd
)
- fix(covariance): ImpliedCovariance param renamed to prior_covariance_estimator (
1677bb4
)
- v0.3.1 [skip ci]
Automatically generated by python-semantic-release (2969899
)
-
feat(metadata-routing): metadata routing (#64)
-
feat(metadata-routing): metadata-routing added
-
feat(covariance): ImpliedCovariance added
-
feat(datasets): SP500 3 months ATM implied volatility dataset added
-
fix(covariance): argument
nearest
is now defaulted to True for improved usability and emits a warning when cov is not PD -
fix(population): ensure plot index is sorted (
a682f47
)
- fix(doc): typo in example filename (#62) [skip ci] (
139ba0e
)
- v0.3.0 [skip ci]
Automatically generated by python-semantic-release (b00f70f
)
- fix(pyproject): impose numpy < 2.0.0 until CVXPY is fully compatible with the new release (
e02c172
)
- v0.2.3 [skip ci]
Automatically generated by python-semantic-release (5a5bd93
)
-
fix(cluster): compute_optimal_n_cluster now handles less then 8 assets (
d9ed4a4
) -
fix(plotly): remove global pandas plot backend setting (
4ff07c3
) -
fix(plotly): remove fix of create_dendrogram following new plotly release (
2e712c8
) -
fix(pre-processing): param drop_inceptions_nan (
75d8013
) -
fix(pre-processing): drop_interceptions_nan param added to prices_to_returns (#57)
Observations at the beginning are dropped if any of the asset values are missing, otherwise we keep the NaNs. (ba74842
)
- v0.2.2 [skip ci]
Automatically generated by python-semantic-release (1bbf996
)
-
chore(docs): Black & Litterman Factor model updated with deeply nested models (
a5b038b
) -
chore(readme): BL views updated (
b849570
) -
chore(doc): example link typo in user guide (
d722814
)
-
fix(test): nested Black & Litterman tests added (
1188b2c
) -
fix(prior): Factor model updated with y propagation (
8cbc5cc
) -
fix(prior): in BlackLitterman, y propagation was missing for embedded models (
cc4adc1
)
- v0.2.1 [skip ci]
Automatically generated by python-semantic-release (67a2a18
)
-
chore(readme): Fix badge links and underscores in README.rst file [skip ci] (
e4c4b65
) -
chore(readme): Fix badge links and underscores in README.rst file [skip ci] (
1a17e2a
) -
chore(typing): replaced
any
by theAny
type (#47) (d82c144
)
- feat(combinatorial): optimal_folds_number function for CombinatorialPurgedCV (#53) (
ae83967
)
- v0.2.0 [skip ci]
Automatically generated by python-semantic-release (52c8a16
)
-
[BUG] Risk Free Rate (#50)
-
fix(optimization): risk_free_rate added to the default portfolio_params
-
fix(population): relax Population items to all inheritance of BasePortfolio (
92666a8
)
-
chore(docs): contributing.md ruff cmd [skip ci] (
4982e27
) -
chore(formatter): replaced black formatter by ruff formatter (#37)
-
chore(ruff): removed duplicated rule.
-
chore(formatter): dropped black formatter.
-
ci(tests): added a format step to the tests job.
-
chore(ruff): fix line_length discrepancy.
-
chore(ruff): ignored redudant rules.
-
refactor(src): fix UP032.
-
style: one shot ruff formatting. (
3ee55f4
) -
chore(ruff): updated ruff's pyproject conf (
4e68a8b
) -
chore(docs): Bibtex entry corrected [skip ci] (
1b0c881
)
-
fix(ruff): file reformatting to pass ruff format (
f7a34b5
) -
fix(datasets): move datasets to another repo (skfolio-datasets) (
4b31e7d
)
- v0.1.3 [skip ci]
Automatically generated by python-semantic-release (5e2d895
)
- Merge pull request #42 from skfolio/feature/no-issue/skfolio-datasets
[ENH] Move datasets to another repo (skfolio-datasets) (c10158b
)
- Merge pull request #35 from vacarme/chore/issue-34/update-ruff-conf [skip ci]
[MNT] Updated ruff's pyproject section. (db3c56d
)
-
chore(docs): removed all-contributors [skip ci] (
3b4dcf1
) -
chore(docs): typo in example [skip ci] (
6e7cb36
) -
chore(docs): CONTRIBUTING.md improved [skip ci] (
8955fed
) -
chore(docs): pip install in contributing.md [skip ci] (
51a91b6
)
- fix(portfolio): add effective number of assets (
f4dbc5f
)
- v0.1.2 [skip ci]
Automatically generated by python-semantic-release (7ae2b4c
)
- Merge pull request #31 from skfolio/feature/issue-13/effective-number-assets
[ENH] Add effective number of assets (22f7b69
)
- fix(optimization): left_inequality and right_inequality converted to numpy array (
18073ad
)
- v0.1.1 [skip ci]
Automatically generated by python-semantic-release (1b312ac
)
- chore(docs): readme badge and logo improved [skip ci] (
9c5238d
)
-
feat(measure): effective number of assets [skip ci]
-
Implemented effective number of assets in the _measures as described in issue #13. Needs to review in the metrics enum.
-
Update src/skfolio/measures/_measures.py
Fixed docstring with proper references
Co-authored-by: Hugo Delatte <delatte.hugo@gmail.com>
Co-authored-by: carlo <c.nicolini@ipazia.com>
Co-authored-by: Hugo Delatte <delatte.hugo@gmail.com> (62692ef
)
- fix(portfolio): len method removed and number of assets fixed (
16205d5
)
- v0.1.0 [skip ci]
Automatically generated by python-semantic-release (d0c3eb1
)
- Merge pull request #21 from skfolio/fix/issue-19/number-of-assets
[BUG] Number of Assets and Portfolio len (1c8b357
)
-
chore(docs): codecov badge [skip ci] (
b369e87
) -
chore(docs): add derivative work credits
-
chore(docs): add derivative work credits
-
chore(docs): add more derivative work credits
-
chore(docs): add author (
c2fdd82
) -
chore(docs): fix typo [skip ci]
-
fix(typos): fix typos
-
docs: add @rriski as a contributor (
e1e202a
) -
chore(readme): download badge [skip ci] (
6dc7957
)
-
fix(plotly): fix ruff in _dendrogram.py (
0c2c59e
) -
fix(docs): ignore FutureWarnings in sphinx gallery examples (
46db794
) -
fix(returns): pandas concat replaced by join (
35f87b0
) -
fix(plotly): dendrogram fixes added (
374154e
) -
fix(measure): default trading days in a year amended from 255 to 252 (
796ed1e
)
- v0.0.11 [skip ci]
Automatically generated by python-semantic-release (7f98efb
)
- Merge pull request #20 from skfolio/fix/issue-11/business-days-in-year
[BUG] Default trading days in a year amended from 255 to 252 (8334c7b
)
- Merge remote-tracking branch 'origin/main' into main (
1adcdd3
)
-
chore(readme): ruff and website badges [skip ci] (
73e7c0e
) -
chore(docs): contributing [skip ci] (
a1e79d3
)
- fix(population): lint noqa A003 not used [skip ci] (
651a729
)
- v0.0.10 [skip ci]
Automatically generated by python-semantic-release (6d32c44
)
-
[BUG]: estimator nomenclature typo (#10)
-
fix: detoning typo
-
Update index.rst
-
fix: detoning (
60cd559
) -
Merge remote-tracking branch 'origin/main' into main (
29cef24
)
- chore(docs): readme updated [skip ci] (
6272852
)
- fix(docs): jupyterlite replaced by binder (
5b4cde3
)
- v0.0.9 [skip ci]
Automatically generated by python-semantic-release (85e6836
)
-
chore(docs): improved the docs [skip ci] (
d05b661
) -
chore(docs): typo in docs [skip ci] (
e8aed66
) -
chore(docs): readme update [skip ci] (
23f5d5c
) -
chore(docs): readme update [skip ci] (
de262c5
) -
chore(docs): readme update [skip ci] (
9623272
) -
chore(docs): readme update [skip ci] (
40d8bef
) -
chore(docs): contributing updated with branch name convention [skip ci] (
b678be7
) -
chore(docs): code of conduct and security [skip ci] (
06a5755
)
-
fix(tests): test_portfolio_clear_cache fixed (
f72562b
) -
fix(docs): docs and examples updated (
0f5575e
) -
fix(tests): random weights removed [skip ci] (
6fa39fd
)
- v0.0.8 [skip ci]
Automatically generated by python-semantic-release (cb79de3
)
- Merge remote-tracking branch 'origin/main' into main (
1db805a
)
- chore(docs): sitemap [skip ci] (
011e043
)
-
fix(workflow): [skip ci] workflow dependency success condition (
c5a115e
) -
fix(docs): new domain and SEO (
912b086
)
- v0.0.7 [skip ci]
Automatically generated by python-semantic-release (97da2b1
)
- Merge remote-tracking branch 'origin/main' into main (
634c85c
)
- fix(docs): doc theme and sidebar (
2402e3a
)
- v0.0.6 [skip ci]
Automatically generated by python-semantic-release (50cbed1
)
- Merge remote-tracking branch 'origin/main' into main (
213fc48
)
- fix(docs): docs seo (
136c7d1
)
- v0.0.5 [skip ci]
Automatically generated by python-semantic-release (779fe50
)
- Merge remote-tracking branch 'origin/main' into main (
32e7b61
)
-
fix(workflow): test semantic release app (
73612c2
) -
fix(workflow): test semantic release app (
4b5cf7f
) -
fix(workflow): test semantic release app (
fb2fd87
) -
fix(workflow): test semantic release app (
cc5a2a9
) -
fix(workflow): test semantic release app (
709283f
) -
fix(docs): readme (
1f5e86f
)
- v0.0.4 [skip ci]
Automatically generated by python-semantic-release (0017226
)
- Merge remote-tracking branch 'origin/main' into main (
b48c870
)
- fix(workflow): release to pypi (
4e7f722
)
- 0.0.3 [skip ci]
Automatically generated by python-semantic-release (233bd41
)
- Merge remote-tracking branch 'origin/main' into main (
9c75a05
)
-
chore(docs): docs workflow on push (
6d9eb09
) -
chore(docs): docs workflow (
edfeb41
) -
chore(workflow): coverage report (
f52ee96
)
-
fix(tests): linux dataset path PermissionError (
82017fe
) -
fix(dataset): download dataset from github (
2f0ff50
) -
fix(convex): solver changed from ECOS/ECS to CLARABEL (
1f05907
)
- 0.0.2 [skip ci]
Automatically generated by python-semantic-release (ba12c8d
)
- first commit (
7eeb687
)