Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/quantopian/alphalens

Performance analysis of predictive (alpha) stock factors
https://github.com/quantopian/alphalens

algorithmic-trading finance jupyter numpy pandas python

Last synced: 28 days ago
JSON representation

Performance analysis of predictive (alpha) stock factors

Awesome Lists containing this project

README

        

.. image:: https://media.quantopian.com/logos/open_source/alphalens-logo-03.png
:align: center

Alphalens
=========
.. image:: https://github.com/quantopian/alphalens/workflows/CI/badge.svg
:alt: GitHub Actions status
:target: https://github.com/quantopian/alphalens/actions?query=workflow%3ACI+branch%3Amaster

Alphalens is a Python Library for performance analysis of predictive
(alpha) stock factors. Alphalens works great with the
`Zipline `__ open source backtesting library, and
`Pyfolio `__ which provides
performance and risk analysis of financial portfolios. You can try Alphalens
at `Quantopian `_ -- a free,
community-centered, hosted platform for researching and testing alpha ideas.
Quantopian also offers a `fully managed service for professionals `_
that includes Zipline, Alphalens, Pyfolio, FactSet data, and more.

The main function of Alphalens is to surface the most relevant statistics
and plots about an alpha factor, including:

- Returns Analysis
- Information Coefficient Analysis
- Turnover Analysis
- Grouped Analysis

Getting started
---------------

With a signal and pricing data creating a factor "tear sheet" is a two step process:

.. code:: python

import alphalens

# Ingest and format data
factor_data = alphalens.utils.get_clean_factor_and_forward_returns(my_factor,
pricing,
quantiles=5,
groupby=ticker_sector,
groupby_labels=sector_names)

# Run analysis
alphalens.tears.create_full_tear_sheet(factor_data)

Learn more
----------

Check out the `example notebooks `__ for more on how to read and use
the factor tear sheet. A good starting point could be `this `__

Installation
------------

Install with pip:

::

pip install alphalens

Install with conda:

::

conda install -c conda-forge alphalens

Install from the master branch of Alphalens repository (development code):

::

pip install git+https://github.com/quantopian/alphalens

Alphalens depends on:

- `matplotlib `__
- `numpy `__
- `pandas `__
- `scipy `__
- `seaborn `__
- `statsmodels `__

Usage
-----

A good way to get started is to run the examples in a `Jupyter
notebook `__.

To get set up with an example, you can:

Run a Jupyter notebook server via:

.. code:: bash

jupyter notebook

From the notebook list page(usually found at
``http://localhost:8888/``), navigate over to the examples directory,
and open any file with a .ipynb extension.

Execute the code in a notebook cell by clicking on it and hitting
Shift+Enter.

Questions?
----------

If you find a bug, feel free to open an issue on our `github
tracker `__.

Contribute
----------

If you want to contribute, a great place to start would be the
`help-wanted
issues `__.

Credits
-------

- `Andrew Campbell `__
- `James Christopher `__
- `Thomas Wiecki `__
- `Jonathan Larkin `__
- Jessica Stauth ([email protected])
- `Taso Petridis `_

For a full list of contributors see the `contributors page. `_

Example Tear Sheet
------------------

Example factor courtesy of `ExtractAlpha `_

.. image:: https://github.com/quantopian/alphalens/raw/master/alphalens/examples/table_tear.png
.. image:: https://github.com/quantopian/alphalens/raw/master/alphalens/examples/returns_tear.png
.. image:: https://github.com/quantopian/alphalens/raw/master/alphalens/examples/ic_tear.png
.. image:: https://github.com/quantopian/alphalens/raw/master/alphalens/examples/sector_tear.png
:alt: