Skip to main content

Performance and risk analysis of financial portfolios with Python

Project description

PyPI Tests conda PyPI Coverage Status GitHub issues Discourse users Twitter Follow

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 with pyfolio

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:

Performance Plots

In addition, it visualizes how several risk and return metrics behave over time:

Installation

To install pyfolio, run:

pip install pyfolio-reloaded

or

conda install -c ml4t pyfolio-reloaded

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 -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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfolio_reloaded-0.9.9.tar.gz (7.1 MB view details)

Uploaded Source

Built Distribution

pyfolio_reloaded-0.9.9-py3-none-any.whl (6.2 MB view details)

Uploaded Python 3

File details

Details for the file pyfolio_reloaded-0.9.9.tar.gz.

File metadata

  • Download URL: pyfolio_reloaded-0.9.9.tar.gz
  • Upload date:
  • Size: 7.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyfolio_reloaded-0.9.9.tar.gz
Algorithm Hash digest
SHA256 4dcd0bc6e07249458685e6591a105daafaa87c6b79a0680f71ba8e58435b5c0c
MD5 210c78e5a24e0db02fa2255f283bab98
BLAKE2b-256 efb3b37201fe90e8ce7e375fd451f7e7c1f70c79e9dba0fd43362b08609a6d9b

See more details on using hashes here.

File details

Details for the file pyfolio_reloaded-0.9.9-py3-none-any.whl.

File metadata

File hashes

Hashes for pyfolio_reloaded-0.9.9-py3-none-any.whl
Algorithm Hash digest
SHA256 aa0e136b379bc6c7a48a74746c784c263de986575af5377348330eb1aed8791c
MD5 84f2eb543c0dc2e069a65e88377bb168
BLAKE2b-256 650f66a8f8daec52c242d3cfda7886d72103c5ac0c6793fd185082309985f2a6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page