Skip to main content

Open-source Python module for portfolio management with a plethora of portfolio schemes, stochastic backtesting and 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 (stochastic or constant).

Key Features

  • 15+ optimizers (and more to come): Mean-Variance, Max Sharpe, Kelly Criterion, Risk Parity, CVaR, Online Learning models and more
  • Advanced backtesting: Historical performance analysis with wealth plots and comprehensive metrics
  • Stochastic slippage models: Gamma, Lognormal, Poisson Jump, Inverse Gaussian, or constant costs
  • Flexible regularization: Entropy, L2, and MaxWeight regularizers
  • Rich metrics: Sharpe, Sortino, Calmar, Max Drawdown, CVaR, VaR, CAGR, Skewness, Kurtosis and more

Portfolio Methods

Utility Theory

  • Quadratic Utility
  • CRRA
  • CARA
  • HARA

Markowitz Paradigm

  • Maximum Mean
  • Minimum Variance
  • Mean Variance
  • Maximum Sharpe

Principled Heuristics

  • Risk Parity
  • Inverse Volatility
  • Softmax Mean
  • Maximum Diversification
  • 1/N

Risk Measures

  • CVaR
  • Mean-CVaR
  • EVaR
  • Mean-EvaR

Online Learning

  • BCRP with regularization (FTL/FTRL)
  • Exponential Gradient

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.1.0.tar.gz (14.2 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.1.0-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for opes-0.1.0.tar.gz
Algorithm Hash digest
SHA256 35064800e8165b08b50d870e3005db3f75dd2b6d9f9b6674bdf86c8229b8103f
MD5 91ef4e659e965c1ba9d917ec38617f0d
BLAKE2b-256 cdf07e9c69073c648b52d95a509accb4ec676075871673bfec18abc5fa3f1817

See more details on using hashes here.

File details

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

File metadata

  • Download URL: opes-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.8 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 746627176a489e5ff41c71a7edccdff019b15d6f84e6115d5f07baf5bd9fc2c0
MD5 458ad38c19b681ad79bf9c4399e54fe6
BLAKE2b-256 d2e02ff54abec0ddd18783956bcb19cc503461cc09e9cf65a00992185222e7af

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