pyfolio
pyfolio is a Python library for performance and risk analysis of
financial portfolios developed by
Quantopian Inc. It works well with the
Zipline open source backtesting library.
Quantopian also offers a fully managed service for professionals
that includes Zipline, Alphalens, Pyfolio, FactSet data, and more.
At the core of pyfolio is a so-called tear sheet that consists of
various individual plots that provide a comprehensive image of the
performance of a trading algorithm. Here's an example of a simple tear
sheet analyzing a strategy:
Also see slides of a talk about
pyfolio.
Installation
To install pyfolio, run:
pip install pyfolio
Development
For development, you may want to use a virtual environment to avoid dependency conflicts between pyfolio and other Python projects you have. To get set up with a virtual env, run:
mkvirtualenv pyfolio
Next, clone this git repository and run python setup.py develop
and edit the library files directly.
Matplotlib on OSX
If you are on OSX and using a non-framework build of Python, you may need to set your backend:
echo "backend: TkAgg" > ~/.matplotlib/matplotlibrc
Usage
A good way to get started is to run the pyfolio examples in
a Jupyter notebook. To do this, you first want to
start a Jupyter notebook server:
jupyter notebook
From the notebook list page, navigate to the pyfolio examples directory
and open a notebook. 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 in this repository.
You can also join our mailing list or
our Gitter channel.
Support
Please open an issue for support.
Contributing
If you'd like to contribute, a great place to look is the issues marked with help-wanted.
For a list of core developers and outside collaborators, see the GitHub contributors list.