Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opes-0.4.2.tar.gz (22.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opes-0.4.2-py3-none-any.whl (28.9 kB view details)

Uploaded Python 3

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

Hashes for opes-0.4.2.tar.gz
Algorithm Hash digest
SHA256 17e6687393e8169ee599c40e07f1dbb7f435b95f9724690f8d4f6ae5e6ef8f74
MD5 b1d20d6c5801086ed03d0ab6867ba8fa
BLAKE2b-256 ee77357b9d730dca01b3d5a8c921dda4ef6861f0740fbe30174e927cc8255d8b

See more details on using hashes here.

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

Hashes for opes-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3d43721e8b0cf28fd159e1466a0b600e935d320ec0577cbd1fee4c73c67afdc2
MD5 c8752b5f656daeee8a298515ae9b6de0
BLAKE2b-256 6d5eafd687c8d9c86aa9798bcdeb0ddd8e25ee97346755511af9ce616044d361

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page