Skip to content

Repository files navigation

empyrical

Common financial risk metrics.

Table of Contents

Installation

pip install empyrical

Usage

Simple Statistics

importnumpyasnpfromempyricalimportmax_drawdown, alpha_betareturns=np.array([.01, .02, .03, -.4, -.06, -.02])
benchmark_returns=np.array([.02, .02, .03, -.35, -.05, -.01])
# calculate the max drawdownmax_drawdown(returns)
# calculate alpha and betaalpha, beta=alpha_beta(returns, benchmark_returns)

Rolling Measures

importnumpyasnpfromempyricalimportroll_max_drawdownreturns=np.array([.01, .02, .03, -.4, -.06, -.02])
# calculate the rolling max drawdownroll_max_drawdown(returns, window=3)

Pandas Support

importpandasaspdfromempyricalimportroll_up_capture, capturereturns=pd.Series([.01, .02, .03, -.4, -.06, -.02])
# calculate a capture ratiocapture(returns)
# calculate capture for up markets on a rolling 60 day basisroll_up_capture(returns, window=60)

Support

Please open an issue for support.

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"
python -m unittest

About

Common financial risk and performance metrics. Used by zipline and pyfolio.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages