Open-source Python module for portfolio management with a plethora of portfolio schemes, stochastic backtesting and comprehensive metrics.
Project description
OPES
An open-source Python library for advanced portfolio optimization and backtesting.
Overview
OPES provides a plethora of quantitative portfolio optimizers with a comprehensive backtesting engine. Test strategies against historical data with configurable slippage costs.
Key Features
Porfolio Objectives
Utility Theory
- Quadratic Utility
- Constant Relative Risk Aversion
- Constant Absolute Risk Aversion
- Hyperbolic Absolute Risk Aversion
- Kelly Criterion and Fractions
Markowitz Paradigm
- Maximum Mean
- Minimum Variance
- Mean Variance
- Maximum Sharpe
Principled Heuristics
- 1/N
- Risk Parity
- Inverse Volatility
- Softmax Mean
- Maximum Diversification
- Return Entropy Portfolio Optimization
- Discrete Entropy Portfolio Optimization
Risk Measures
- Conditional Value at Risk
- Mean-CVaR
- Entropic Value at Risk
- Mean-EVaR
- Entropic Risk Measure
Online Learning
- BCRP with weight regularization (FTL/FTRL support)
- Exponential Gradient
Distributionally Robust Optimization (Kullback-Leibler)
- Distributionally Robust Maximum Mean
- Distributionally Robust Kelly and Fractions
Slippage Models
- Constant
- Gamma
- Lognormal
- Inverse Gaussian
- Compound Poisson-Lognormal
Regularization Schemes
- L1
- L2
- L $\infty$
- Entropy
- Weight Variance
- Mean Pairwise Absolute Deviation
Backtest Metrics
- Sharpe Ratio
- Sortino Ratio
- Volatility
- Average Return
- Total Return
- Maximum Drawdown
- Value at Risk 95
- Conditional Value at Risk 95
- Skew
- Kurtosis
- Omega Ratio
Portfolio Metrics
- Tickers
- Weights
- Portfolio Entropy
- Herfindahl Index
- Gini Coefficient
- Absolute Maximum Weight
Installation
pip install opes
Disclaimer
The information provided by OPES is for educational, research and informational purposes only. It is not intended as financial, investment or legal advice. Users should conduct their own due diligence and consult with licensed financial professionals before making any investment decisions. OPES and its contributors are not liable for any financial losses or decisions made based on this content. Past performance is not indicative of future results.
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.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file opes-0.4.2.tar.gz.
File metadata
- Download URL: opes-0.4.2.tar.gz
- Upload date:
- Size: 22.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17e6687393e8169ee599c40e07f1dbb7f435b95f9724690f8d4f6ae5e6ef8f74
|
|
| MD5 |
b1d20d6c5801086ed03d0ab6867ba8fa
|
|
| BLAKE2b-256 |
ee77357b9d730dca01b3d5a8c921dda4ef6861f0740fbe30174e927cc8255d8b
|
File details
Details for the file opes-0.4.2-py3-none-any.whl.
File metadata
- Download URL: opes-0.4.2-py3-none-any.whl
- Upload date:
- Size: 28.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d43721e8b0cf28fd159e1466a0b600e935d320ec0577cbd1fee4c73c67afdc2
|
|
| MD5 |
c8752b5f656daeee8a298515ae9b6de0
|
|
| BLAKE2b-256 |
6d5eafd687c8d9c86aa9798bcdeb0ddd8e25ee97346755511af9ce616044d361
|