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-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

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.3.tar.gz (23.0 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.3-py3-none-any.whl (29.0 kB view details)

Uploaded Python 3

File details

Details for the file opes-0.4.3.tar.gz.

File metadata

  • Download URL: opes-0.4.3.tar.gz
  • Upload date:
  • Size: 23.0 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.3.tar.gz
Algorithm Hash digest
SHA256 da30999208e2adffc9dfa1e3cb0410c0b75e7a3c7ac566ce46edb48a399c1e24
MD5 2d0324465a48a65228a5c4af5d52028a
BLAKE2b-256 c3556cd4ca2ea76e488b3c70198a49c752d72622e2af79ee52d743caed5cef49

See more details on using hashes here.

File details

Details for the file opes-0.4.3-py3-none-any.whl.

File metadata

  • Download URL: opes-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 29.0 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 284ececc420833348bde22982799a84f86cf7a893af9523e921c113cd5432ff8
MD5 6e5025de23fcd2817d6acf5aea88003a
BLAKE2b-256 3c1f37ad20305aacbaef42a3f1446380b550d64a961d9f717bcbabde3c7f8ec6

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