Open-source Python module for portfolio management with a plethora of portfolio schemes, stochastic backtesting and comprehensive metrics.
Project description
OPES
An Open-source Portfolio Estimation System 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.
For a quick documentation on this module, visit opes-documentation For a detailed guide on this module, visit opes-book.vercel.app
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.
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
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
- KL-Ambiguity Distributionally Robust Maximum Mean
- KL-Ambiguity Distributionally Robust Kelly and Fractions
- Wasserstein-Ambiguity Distributionally Robust Maximum Mean
Slippage Models
- Constant
- Gamma
- Lognormal
- Inverse Gaussian
- Compound Poisson-Lognormal
Regularization Schemes
- L1
- L2
- L-infinity
- 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
Upcoming Features (Unconfirmed)
These features are still in the works and may or may not appear in later updates:
-
Mean–Variance–Skew–Kurtosis Optimization (Markowitz)
-
Hierarchical Risk Parity (Principled Heuristics)
-
Online Newton Step (Online Learning)
-
Ada Barrons (Online Learning)
-
Wasserstein Ambiguity Duals (Distributionally Robust)
- Global Minimum Variance (GMV)
- Mean–Variance Optimization (MVO)
- Kelly Criterion
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.5.0.tar.gz.
File metadata
- Download URL: opes-0.5.0.tar.gz
- Upload date:
- Size: 23.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
878c725648a0050edf225f0f8a5cfa0c5627a77d886b5a21342c42edf85ff76e
|
|
| MD5 |
24a419effacfed62bd6c25d20ba736de
|
|
| BLAKE2b-256 |
e99a9c2e21099e7a8edbfe67fdf1659976f80bb9af60840a50a45f11725981a5
|
File details
Details for the file opes-0.5.0-py3-none-any.whl.
File metadata
- Download URL: opes-0.5.0-py3-none-any.whl
- Upload date:
- Size: 29.7 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 |
4ef9bb3a5c6fe163d345d3980786c3e1c1f5ca54e66177066ce6ab83379c00b2
|
|
| MD5 |
8a9fd99eb50484867f93a9ad90799b5b
|
|
| BLAKE2b-256 |
a9ae229d64591f9ace48754d14d0dc3cdf3d979f3966eb9c7a5aac67ef58e74a
|