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:
With a signal and pricing data creating a factor "tear sheet" is a two step process:
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)
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:
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:
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.
If you find a bug, feel free to open an issue on our github tracker.
If you want to contribute, a great place to start would be the help-wanted issues.
For a full list of contributors see the contributors page.
Example factor courtesy of ExtractAlpha