pyfolio is a Python library for performance and risk analysis of financial portfolios that works well with the Zipline open source backtesting library.
Trading Strategy Analysis: An Example Tear Sheet¶
At the core of pyfolio are various tear sheets that combine various individual plots and summary statistics to provide a comprehensive view of the performance of a trading algorithm.
Here’s an example of a simple tear sheet analyzing a strategy executed with the Zipline backtesting engine:
Performance Metrics¶
The tear sheet presents performance and risk metrics for the strategy separately during the backtest and out-of-sample periods:
Installation¶
To install pyfolio, run:
pip install pyfolio-reloaded
or
conda install -c ml4t pyfolio-reloaded
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 -m pip install .[all]
and edit the library files directly.
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 community.
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.