Skip to main content

A research-focused portfolio optimization and backtesting engine.

Project description

OPES

An Open-source Portfolio Estimation System for advanced portfolio optimization and backtesting.


Overview

OPES is a comprehensive Python library for advanced portfolio optimization and backtesting. Designed for quantitative finance enthusiasts, OPES provides a wide range of portfolio strategies, risk measures and robust evaluation tools.

Visit the documentation for a detailed walkthrough on this module.


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.


Portfolio Objectives

Classification Name
Utility Theory Quadratic Utility
Constant Relative Risk Aversion (CRRA)
Constant Absolute Risk Aversion (CARA)
Hyperbolic Absolute Risk Aversion (HARA)
Kelly Criterion & Fractional Kelly
Markowitz Paradigm Maximum Mean Return
Minimum Variance
Mean–Variance
Maximum Sharpe Ratio
Principled Heuristics Uniform (1/N)
Risk Parity
Inverse Volatility
Softmax Mean
Maximum Diversification
Return Entropy Portfolio Optimization
Risk Measures Conditional Value at Risk (CVaR)
Mean–CVaR
Entropic Value at Risk (EVaR)
Mean–EVaR
Entropic Risk Measure
Online Learning Best Constant Rebalanced Portfolio (BCRP)
Exponential Gradient
Distributionally Robust Optimization KL-Ambiguity Robust Maximum Mean Return
KL-Ambiguity Robust Kelly
KL-Ambiguity Robust Fractional Kelly
Wasserstein-Ambiguity Robust Maximum Mean Return

Metrics

Portfolio Metrics Backtest Metrics
Tickers Sharpe
Weights Sortino
Portfolio Entropy Volatility
Herfindahl Index Average Return
Gini Coefficient Total Return
Absolute Maximum Weight Maximum Drawdown
Value-at-Risk 95
Conditional-Value-at-Risk 95
Skew
Kurtosis
Omega Ratio

Other Features

Slippage Models Regularization Schemes
Constant L1 Regularization
Gamma L2 Regularization
Lognormal L-infinity Regularization
Inverse Gaussian Entropy
Compound Poisson-Lognormal Weight Variance
Mean Pairwise Absolute Deviation
KL-Divergence from Uniform (Experimental)
JS-Divergence from Uniform (Experimental)

Upcoming Features (Unconfirmed)

These features are still in the works and may or may not appear in later updates:

  • Worst-Case Loss Optimization (Risk Measures)

  • Value-at-Risk (Risk Measures)

  • Hierarchical Risk Parity (Principled Heuristics)

  • Universal Portfolios (Online Learning)

  • Online Newton Step (Online Learning)

  • ADA-BARRONS (Online Learning)

  • Wasserstein Ambiguity Duals (Distributionally Robust)

    • Global Minimum Variance (GMV)
    • Mean–Variance Optimization (MVO)

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.5.5.tar.gz (16.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.5.5-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: opes-0.5.5.tar.gz
  • Upload date:
  • Size: 16.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.5.5.tar.gz
Algorithm Hash digest
SHA256 8a9ae2eefc094fc40140b95a7f19640ae1945ca498e942dff5a3ee51271d31f8
MD5 bef90550597cfdff780a06fda1c98cb3
BLAKE2b-256 8d8b55b1d776abec1bb7ac2900bf0f7b7b8439dc37c0bf2b437aff637cc218f4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: opes-0.5.5-py3-none-any.whl
  • Upload date:
  • Size: 16.1 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.5.5-py3-none-any.whl
Algorithm Hash digest
SHA256 935645255aa1cf8a00c07ad77fc5888e793c48e471b925c7fafb43b92b37f9d8
MD5 fbf3ec2b0c4fc4bc46c8f6351a68ff46
BLAKE2b-256 00b6d0e1c52db7825e133e9e5e0e39c3e3ce945644be39b9230693d4d861d3f0

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