PyPortfolio/PyPortfolioOpt
Financial portfolio optimisation in python, including classical efficient frontier, Black-Litterman, Hierarchical Risk Parity
2 Releases
Latest: 3mo ago
v1.6.0Latest
๐ What's Changed
- Support for python 3.14, end-of-life for python 3.8 and 3.9
- Support for `pandas 3.0`
- Reduction of dependency footprint. Former dependencies are still available as soft dependencies in the new `all_extras` depset.
- CLA speedup
๐ฆ Enhancements
- [ENH] `pandas 3` compatibility by @ayushraj09, @fkiraly in https://github.com/PyPortfolio/PyPortfolioOpt/pull/703
- [ENH] vectorize CLA `_reduce_matrix` using `numpy` advanced indexing by @philippdubach in https://github.com/PyPortfolio/PyPortfolioOpt/pull/693
๐ฆ Maintenance
- [MNT] skip failing tests on `main` by @fkiraly in https://github.com/PyPortfolio/PyPortfolioOpt/pull/643
- [MNT] fix all URLs and `main` branch references after move to new org by @fkiraly in https://github.com/PyPortfolio/PyPortfolioOpt/pull/641
- [MNT] python 3.14 compatibility, python 3.9 end-of-life by @fkiraly in https://github.com/PyPortfolio/PyPortfolioOpt/pull/646
- [MNT] remove dockerfile by @tschm in https://github.com/PyPortfolio/PyPortfolioOpt/pull/648
- [MNT] CI: concurrency and no fail-fast by @fkiraly in https://github.com/PyPortfolio/PyPortfolioOpt/pull/660
- [MNT] move packaging to `pyproject.toml` by @fkiraly in https://github.com/PyPortfolio/PyPortfolioOpt/pull/659
- [MNT] move CI installs to `uv` by @fkiraly in https://github.com/PyPortfolio/PyPortfolioOpt/pull/661
- [MNT] CI action for installing uv/uvx by @tschm in https://github.com/PyPortfolio/PyPortfolioOpt/pull/654
- + 16 more
๐ Documentation
- [DOC] Fix typos in `efficient_frontier` (#635) by @fkiraly in https://github.com/PyPortfolio/PyPortfolioOpt/pull/681
- [DOC] Update GeneralEfficientFrontier.rst by @avances123 in https://github.com/PyPortfolio/PyPortfolioOpt/pull/630
- [DOC] improvements to README.md by @tschm in https://github.com/PyPortfolio/PyPortfolioOpt/pull/658
- [DOC] improved README - important links at the top by @fkiraly in https://github.com/PyPortfolio/PyPortfolioOpt/pull/682
- [DOC] remove empty boxes in README by @fkiraly in https://github.com/PyPortfolio/PyPortfolioOpt/pull/683
โจ New Contributors
- @fkiraly made their first contribution in https://github.com/PyPortfolio/PyPortfolioOpt/pull/643
- @avances123 made their first contribution in https://github.com/PyPortfolio/PyPortfolioOpt/pull/630
- @ms32035 made their first contribution in https://github.com/PyPortfolio/PyPortfolioOpt/pull/632
- @philippdubach made their first contribution in https://github.com/PyPortfolio/PyPortfolioOpt/pull/693
- @aral190 made their first contribution in https://github.com/PyPortfolio/PyPortfolioOpt/pull/699
- @ayushraj09 made their first contribution in https://github.com/PyPortfolio/PyPortfolioOpt/pull/703
- Full Changelog: https://github.com/PyPortfolio/PyPortfolioOpt/compare/v1.4.1...v1.6.0
PyPortfolioOpt v1.4.1v1.4.1
