empyrical-reloaded
empyrical computes performance and risk statistics commonly used in quantitative finance
Decision gist · record as of 2026-08-14
Yes, if you need standard quantitative finance metrics and accept aging maintenance. The library is stable, dependency-light, and permissively licensed. Install it for portfolio analysis, backtesting, or academic finance work. Avoid it if you require active development, cutting-edge risk models, or real-time data integration beyond Yahoo Finance.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9+; numpy>=2.0 requires pandas>=2.2.2.
- Optional dependencies (yfinance, pandas-datareader) have their own constraints—pandas-datareader is not compatible with Python>=3.12.
- Low friction: pure Python wheel with five standard dependencies (numpy, pandas, bottleneck, scipy, peewee).
License · maintenance · safety
permissive license (permissive) — Apache 2.0 permissive license allows commercial and derivative use with attribution and license propagation requirements. No restrictions on bundling or modification for your own use.
last release 2025-06-01 (439 days) · last repo commit 2025-12-12 · 118 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 161,706 downloads/mo, #10,624 on PyPI
Alternatives
Verify before relying
pip install empyrical-reloaded
import numpy as np
from empyrical import max_drawdown, alpha_beta
returns = np.array([.01, .02, .03, -.4, -.06, -.02])
benchmark_returns = np.array([.02, .02, .03, -.35, -.05, -.01])
max_drawdown(returns)
alpha, beta = alpha_beta(returns, benchmark_returns)- Whether peewee is actually used at runtime or is a build/test-only dependency
- Performance characteristics when processing large return series or many rolling windows
- Accuracy validation against other financial metrics libraries for edge cases
What it is and what it does
Empyrical-reloaded is a quantitative finance metrics library that calculates standard performance and risk statistics from return data. It accepts numpy arrays or pandas Series and computes metrics ranging from simple statistics (max drawdown, volatility) to advanced measures (alpha, beta, Value at Risk, Sharpe and Sortino ratios). The library also supports rolling-window calculations to track metrics over time, and includes utility functions to fetch historical price data from Yahoo Finance or Fama-French risk factors.
The package is designed for portfolio analysis, backtesting workflows, and financial research. Its main dependencies are numpy, pandas, scipy, and bottleneck, making it lightweight for a quantitative finance tool. It runs on Python 3.10–3.13 and is permissively licensed under Apache 2.0, so it can be used in commercial and proprietary projects. The aging maintenance status (last release 439 days ago) means new features are unlikely, but the codebase is stable and the repository remains active.
Use it for
- Calculate max drawdown and other risk metrics from a backtest return stream to evaluate strategy performance.
- Compute alpha and beta against a benchmark to measure active management skill and systematic risk exposure.
- Generate rolling Sharpe or Sortino ratios to track risk-adjusted returns over time windows.
- Fetch historical S&P 500 or other asset returns from Yahoo Finance for comparative analysis.
- Access Fama-French risk factors for multi-factor performance attribution studies.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need standard quantitative finance metrics and accept aging maintenance.
The library is stable, dependency-light, and permissively licensed. Install it for portfolio analysis, backtesting, or academic finance work. Avoid it if you require active development, cutting-edge risk models, or real-time data integration beyond Yahoo Finance.
Install
empyrical-reloaded on PyPI
Before you install
Low friction: pure Python wheel with five standard dependencies (numpy, pandas, bottleneck, scipy, peewee). Maintenance status is aging—last release 439 days ago—but the repository is active (last commit 2025-12-12) with no archived status, so core functionality remains available.
Requires Python 3.9+; numpy>=2.0 requires pandas>=2.2.2. Optional dependencies (yfinance, pandas-datareader) have their own constraints—pandas-datareader is not compatible with Python>=3.12.
License in practice
Apache 2.0 permissive license allows commercial and derivative use with attribution and license propagation requirements. No restrictions on bundling or modification for your own use.
Quickstart
pip install empyrical-reloaded
import numpy as np
from empyrical import max_drawdown, alpha_beta
returns = np.array([.01, .02, .03, -.4, -.06, -.02])
benchmark_returns = np.array([.02, .02, .03, -.35, -.05, -.01])
max_drawdown(returns)
alpha, beta = alpha_beta(returns, benchmark_returns)
Verify before relying
- Whether peewee is actually used at runtime or is a build/test-only dependency
- Performance characteristics when processing large return series or many rolling windows
- Accuracy validation against other financial metrics libraries for edge cases
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 5 packagesnumpypandasbottleneckscipypeewee |
| Maintenance | Aging 439 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 161,706 / month, #10,624 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: Science/ResearchLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Mathematics |
Evidence: empyrical_reloaded-0.5.12-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “financial performance metrics”
- empyrical-reloadedComputes financial return and risk metrics—including drawdown,…
- pyxirrPyXIRR is a Rust-backed library that computes financial functions…
- openbb-fmpIntegrates Financial Modeling Prep as a data provider into the OpenBB…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also quantstats · riskfolio-lib · backtesting · yfinance · yahooquery · skfolio · gs-quant · ft-pandas-ta · pyportfolioopt · pandas-ta