Performance analysis of predictive (alpha) stock factors
Project description
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.
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:
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.
Installation
Install with pip:
pip install alphalens-reloaded
Install with conda:
conda install -c ml4t alphalens-reloaded
Install from the master branch of Alphalens repository (development code):
pip install git+https://github.com/stefan-jansen/alphalens-reloaded
Alphalens depends on:
Note that Numpy>=2.0 requires pandas>=2.2.2. If you are using an older version of pandas, you may need to upgrade accordingly, otherwise you may encounter compatibility issues.
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:
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 (jstauth@quantopian.com)
- Taso Petridis
For a full list of contributors see the contributors page.
Example Tear Sheets
Example factor courtesy of ExtractAlpha
Peformance Metrics Tables
Returns Tear Sheet
Information Coefficient Tear Sheet
Sector Tear Sheet
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
File details
Details for the file alphalens_reloaded-0.4.5.tar.gz
.
File metadata
- Download URL: alphalens_reloaded-0.4.5.tar.gz
- Upload date:
- Size: 94.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2b677819ab3f7646db75023f1318c6a6df295ca57cd83a36924f1310529a7fc |
|
MD5 | f27857fe67a0366f3321c8d853d578e4 |
|
BLAKE2b-256 | fb1e4fda8bfee60c775c6c8e81bdc1ecba691368a552d264572eb2d0fe6ef205 |
File details
Details for the file alphalens_reloaded-0.4.5-py3-none-any.whl
.
File metadata
- Download URL: alphalens_reloaded-0.4.5-py3-none-any.whl
- Upload date:
- Size: 63.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74c5839ed1f07c62a8eb6f00eba59a9a09899441cd1a5dfce2ebfdae3d3d542d |
|
MD5 | a3fb0938db4126086f877293da3c76b8 |
|
BLAKE2b-256 | 3427e2cb83160f06bc9407169de495629d151fe8b199000a45e541c481cbb181 |