empyrical computes performance and risk statistics commonly used in quantitative finance
Project description
empyrical
Common financial risk metrics.
Installation
empyrical requires Python 3.7+. You can install it using pip
:
pip install empyrical-reloaded
or conda
:
conda install -c ml4t empyrical-reloaded
Usage
Simple Statistics
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])
# calculate the max drawdown
max_drawdown(returns)
# calculate alpha and beta
alpha, beta = alpha_beta(returns, benchmark_returns)
Rolling Measures
import numpy as np
from empyrical import roll_max_drawdown
returns = np.array([.01, .02, .03, -.4, -.06, -.02])
# calculate the rolling max drawdown
roll_max_drawdown(returns, window=3)
Pandas Support
import pandas as pd
from empyrical import roll_up_capture, capture
returns = pd.Series([.01, .02, .03, -.4, -.06, -.02])
# calculate a capture ratio
capture(returns)
# calculate capture for up markets on a rolling 60 day basis
roll_up_capture(returns, window=60)
Support
Please open an issue for support.
Deprecated: Data Reading via pandas-datareader
As of early 2018, Yahoo Finance has suffered major API breaks with no stable
replacement, and the Google Finance API has not been stable since late 2017
(source).
In recent months it has become a greater and greater strain on the empyrical
development team to maintain support for fetching data through
pandas-datareader
and other third-party libraries, as these APIs are known to
be unstable.
As a result, all empyrical
support for data reading functionality has been
deprecated and will be removed in a future version.
Users should beware that the following functions are now deprecated:
empyrical.utils.cache_dir
empyrical.utils.data_path
empyrical.utils.ensure_directory
empyrical.utils.get_fama_french
empyrical.utils.load_portfolio_risk_factors
empyrical.utils.default_returns_func
empyrical.utils.get_symbol_returns_from_yahoo
Users should expect regular failures from the following functions, pending patches to the Yahoo or Google Finance API:
empyrical.utils.default_returns_func
empyrical.utils.get_symbol_returns_from_yahoo
Contributing
Please contribute using Github Flow. Create a branch, add commits, and open a pull request.
Testing
- install requirements
- "nose>=1.3.7",
- "parameterized>=0.6.1"
nosetests empyrical.tests
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for empyrical_reloaded-0.5.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16ee3d6e4754058d3f743062be50c8167849cc2881776ec61a0df799f544c911 |
|
MD5 | 865c3fc2788da0e21a2fad5eff45821a |
|
BLAKE2b-256 | 421ac4b779046bf74c25d3e88f62fed5bbba40ff97882d6096fc45309c46f012 |