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

  • CVaR
  • Mean-CVaR
  • EVaR
  • Mean-EvaR
  • Entropic Risk Metric

Online Learning

  • BCRP with 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

  • L2
  • Entropy
  • Maximum Weight

Backtest Metrics

  • Sharpe Ratio
  • Sortino Ratio
  • Volatility
  • Average Return
  • Total Return
  • CAGR
  • Maximum Drawdown
  • Calmar Ratio
  • Value at Risk 95
  • Conditional Value at Risk 95
  • Skew
  • Kurtosis
  • Omega Ratio

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.3.0.tar.gz (17.7 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.3.0-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: opes-0.3.0.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for opes-0.3.0.tar.gz
Algorithm Hash digest
SHA256 234b88db7c233b1f7e74a44154747b6e0015f7d8e17e14f4201a5726c21dff9e
MD5 454f0d4fe915a538e2088d0c63a1a5f5
BLAKE2b-256 232ce477fa7d10fe5b7b451682b52bbc9ae624e1c52cd11e8befba2f5249656f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: opes-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 23.5 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 515e160db19f153f9cc6a1e73d5c5d19ef12010fe95ae166061b8ecb0786ef36
MD5 8f795adf37409febb83469da7f9d2f3c
BLAKE2b-256 223486c4570bf0ffdb5c41d4ea43f58644469da27bd3495640040b60c510c42c

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