backtrader.bokeh.app module

Bokeh Application Core Classes

Provides integration between Backtrader and Bokeh

class backtrader.bokeh.app.FigurePage[source]

Bases: object

Figure Page

Manages a group of related charts and data sources.

__init__(strategy=None)[source]

Initialize a FigurePage.

Parameters:

strategy – Strategy instance associated with this figure page.

set_cds_columns_from_df(df)[source]

Set CDS columns from DataFrame.

Parameters:

df – pandas DataFrame

get_cds_streamdata_from_df(df)[source]

Get stream data from DataFrame.

Parameters:

df – pandas DataFrame

Returns:

Stream data dictionary

Return type:

dict

get_cds_patchdata_from_series(series)[source]

Get patch data from Series.

Parameters:

series – pandas Series

Returns:

(patch_data, stream_data)

Return type:

tuple

class backtrader.bokeh.app.Figure[source]

Bases: object

Single Figure

Wraps a Bokeh figure.

__init__(scheme=None)[source]

Initialize a Figure.

Parameters:

scheme – Theme/scheme instance for styling the figure.

get_cds_streamdata_from_df(df)[source]

Get stream data from DataFrame.

get_cds_patchdata_from_series(series, fill_nan=None)[source]

Get patch data from Series.

fill_nan()[source]

Return columns that need NaN filling.

class backtrader.bokeh.app.BacktraderBokeh[source]

Bases: object

Backtrader Bokeh Application

Provides the following features: - Create and manage figure pages - Generate Bokeh models - Data processing and formatting

Parameters:
  • style – Chart style, ‘bar’ or ‘candle’

  • scheme – Theme instance

  • use_default_tabs – Whether to use default tabs

  • filter – Data filter configuration

Example

app = BacktraderBokeh(style=’candle’, scheme=Blackly()) figid, figurepage = app.create_figurepage(strategy) panels = app.generate_model_panels()

params = (('style', 'bar'), ('scheme', None), ('use_default_tabs', True), ('filter', None))
__init__(**kwargs)[source]

Initialize BacktraderBokeh application.

Parameters:

**kwargs – Keyword arguments for configuration: - style: Chart style (‘bar’ or ‘candle’) - scheme: Theme instance for styling - use_default_tabs: Whether to use default tabs - filter: Data filter configuration

create_figurepage(strategy, filldata=True)[source]

Create a figure page.

Parameters:
  • strategy – Strategy instance

  • filldata – Whether to fill data

Returns:

(figid, figurepage)

Return type:

tuple

get_figurepage(figid)[source]

Get figure page.

Parameters:

figid – Figure page ID

Returns:

FigurePage instance or None

get_last_idx(figid)[source]

Get last data index of figure page.

Parameters:

figid – Figure page ID

Returns:

Last index

Return type:

int

generate_data(figid=None, start=None, end=None, back=None, preserveidx=False, fill_gaps=False)[source]

Generate chart data.

Parameters:
  • figid – Figure page ID

  • start – Start index

  • end – End index

  • back – Number of bars to look back

  • preserveidx – Whether to preserve original index

  • fill_gaps – Whether to fill gaps

Returns:

pandas.DataFrame

update_figurepage(filter=None)[source]

Update figure page.

Parameters:

filter – Filter configuration

generate_model_panels()[source]

Generate model panels.

Returns:

Panel list

Return type:

list

plot(strategy=None, show=True, filename=None)[source]

Bindto strategy and generate static chart.

Parameters:
  • strategy – Strategy instance

  • show – Whether to show chart

  • filename – Save filename

Returns:

Bokeh model or None