Skip to main content

Library replacing original matlibplot used by backtrader

Project description

backtrader_plotly

Plot backtrader's result using plotly instead of the default matplotlib

This is an experimental package, and it is done by replacing original matplotlib method calls.

Installation

$ pip install backtrader-plotly==1.5.0

Features

  • Support for Multiple Strategies Plotting (Added from 1.5.0.dev1)

  • Support for Filled Area Plotting and Toggling (Added from 1.4.0)

  • New Scheme Arguments (Added from 1.3.0)

    Additional scheme arguments are added to provide extra control

    Name of Argument Default Value Description
    decimal_places 5 It is used to control the number of decimal places of price shown on the plot. For instance, forex price usually consists of 5 decimal places.
    max_legend_text_width 16 It is used to limit the legend text width to prevent it from occupying the page.

Usage

Complete Working Example Here

# import the package after installation
from backtrader_plotly.plotter import BacktraderPlotly
from backtrader_plotly.scheme import PlotScheme
import plotly.io

# do whatever you want with `backtrader`
import backtrader as bt

# for instance
cerebro = bt.Cerebro()

# add strategies
cerebro.addstrategy(IchimokuStrategy)
cerebro.addstrategy(SMACrossStrategy)

# after adding data and strategy
cerebro.run()

# define plot scheme with new additional scheme arguments
scheme = PlotScheme(decimal_places=5, max_legend_text_width=16)

figs = cerebro.plot(BacktraderPlotly(show=False, scheme=scheme))

# directly manipulate object using methods provided by `plotly`
for i, each_run in enumerate(figs):
    for j, each_strategy_fig in enumerate(each_run):
        # open plot in browser
        each_strategy_fig.show()

        # save the html of the plot to a variable
        html = plotly.io.to_html(each_strategy_fig, full_html=False)

        # write html to disk
        plotly.io.write_html(each_strategy_fig, f'{i}_{j}.html', full_html=True)

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

backtrader_plotly-1.5.0.tar.gz (24.2 kB view details)

Uploaded Source

Built Distribution

backtrader_plotly-1.5.0-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

Details for the file backtrader_plotly-1.5.0.tar.gz.

File metadata

  • Download URL: backtrader_plotly-1.5.0.tar.gz
  • Upload date:
  • Size: 24.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for backtrader_plotly-1.5.0.tar.gz
Algorithm Hash digest
SHA256 84594b90ea2c34e842320194143f8cf1afe500294a207b521216fb46c4ba2a8f
MD5 a17a39699e6a63336b20e7124602be9b
BLAKE2b-256 a6c453091c09b7e02cbce736b9fc671e9b7c4b08e69706f3ce809efeb9dda6e8

See more details on using hashes here.

File details

Details for the file backtrader_plotly-1.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for backtrader_plotly-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3ff95c4ad9a2f311c6f1811d72c1cc673e4bcc7b3ebecb6ad0d77a253a8c95f5
MD5 15642a46677b2362a1d3b42dc745c7cf
BLAKE2b-256 1ee320540d07df8bd3742a5f61cfe9ac1d1a29832f496568b941b09ae4f25c09

See more details on using hashes here.

Supported by

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