Financial Portfolio Optimization Algorithms
Project description
azapy project
Financial Portfolio Optimization Algorithms
An open source python library for everybody
Author: Mircea Marinescu
email: Mircea.Marinescu@outlook.com
Package installation: pip install azapy
Contents
A. Risk based portfolio optimization algorithms:
- Mixture CVaR (Conditional Value at Risk)
- Mixture SMCR (Second Moment Coherent Risk)
- MV (Mean Variance)
- SD (Standard Deviation)
- Mixture MAD (Mean Absolute Deviation)
- Mixture LSSD (Lower Semi-Standard Deviation)
- GINI (as in Corrado Gini - statistician 1884-1965)
- MSGINI (Second Moment Gini dispersion measure)
- Omega ratio (introduced by Con Keating and William F. Shadwick - 2002)
For each class of portfolios the following optimization strategies are available:
- Minimization of dispersion for a give expected rate of return
- Maximization of generalized Sharpe ratio
- Minimization of the inverse of generalized Sharpe ratio
- Minimum dispersion portfolio
- Inverse-N risk optimal portfolio (optimal portfolio with the same dispersion measure as equal weighted portfolio)
- Maximization of expected rate of returns for a fixed value of risk aversion
B. "Naïve" portfolio strategies:
- Constant weighted portfolio. A particular case is equal weighted portfolio.
- Inverse volatility portfolio (i.e. portfolio weights are proportional to the inverse of asset volatilities)
- Inverse variance portfolio (i.e. portfolio weights are proportional to the inverse of asset variances)
- Inverse drawdown portfolio (i.e. portfolio weights are proportional to the asset absolute value of maximum drawdowns over a predefined historical period)
C. Greedy portfolio optimization strategies:
- Kelly's portfolio (as in John Larry Kelly Jr. - scientist 1923-1965) - maximization of portfolio log returns
Utility functions:
-
Collect historical market data from various providers. Supported providers:
- yahoo.com
- eodhistoricaldata.com
- alphavantage.co
- marketstack.com
-
Generate business calendars. At this point only NYSE business calendar is implemented.
-
Generate rebalancing portfolio schedules.
-
Append a cash like security to an existing market data object.
-
Update market data saved in a directory.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.