Roadmap and Changelog¶
These are some of the things that I am thinking of adding in the near future. If you have any other feature requests, please raise them using GitHub issues
- More objective functions, e.g risk-averse utility functions.
- Optimising for higher moments (i.e skew and kurtosis)
- Factor modelling: doable but not sure if it fits within the API.
- Plotting the efficient frontier
- Proper CVaR optimisation – remove NoisyOpt and use proper linear programming
- Monte Carlo optimisation with custom distributions
- Black-Litterman portfolio selection
- Open-source backtests using either Backtrader or Zipline.
- Further support for different risk/return models
prices_from_returnsutility function and provided better docs for
cov_to_corrmethod to produce correlation matrices from covariance matrices.
- Fixed readme examples.
- Minor fix for
- Removed official support for python 3.4.
- Minor improvement to semicovariance, thanks to Felipe Schneider.
- Added CLA back in after getting permission from Dr Marcos López de Prado
- Added more tests for different risk models.
- Major improvements to
discrete_allocation. Added functionality to allocate shorts; modified the linear programming method suggested by Dingyuan Wang; added postprocessing section to User Guide.
- Further refactoring and docs for
- Major documentation update, e.g to support custom optimisers
Refactored shrinkage models, including single factor and constant correlation.
- Migrated the project internally to use the
poetrydependency manager. Will still keep
poetryis now the recommended way to interact with
- Merged an amazing PR from Dingyuan Wang that rearchitects the project to make it more self-consistent and extensible.
- New algorithm: ML de Prado’s CLA
- New algorithms for converting continuous allocation to discrete (using linear programming).
- Merged a PR implementing Single Factor and Constant Correlation shrinkage.
- Hierarchical Risk Parity optimisation
- Semicovariance matrix
- Exponential covariance matrix
- CVaR optimisation
- Better support for custom objective functions
- Multiple bug fixes (including minimum volatility vs minimum variance)
- Refactored so all optimisers inherit from a
Minor bug fixes and documentation
- Efficient frontier (max sharpe, min variance, target risk/return)
- L2 regularisation
- Discrete allocation
- Mean historical returns, exponential mean returns
- Sample covariance, sklearn wrappers.