backtrader.bokeh.app module¶
Bokeh Application Core Classes
Provides integration between Backtrader and Bokeh
- class backtrader.bokeh.app.FigurePage[source]¶
Bases:
objectFigure 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
- class backtrader.bokeh.app.Figure[source]¶
Bases:
objectSingle Figure
Wraps a Bokeh figure.
- class backtrader.bokeh.app.BacktraderBokeh[source]¶
Bases:
objectBacktrader 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, start=None, end=None, preserveidx=False, fill_gaps=False)[source]¶
Create a figure page.
- Parameters:
strategy – Strategy instance
filldata – Whether to fill data
start – Start index for data slicing
end – End index for data slicing
preserveidx – Keep original index values in source
fill_gaps – Unused currently, for future compatibility
- Returns:
(figid, figurepage)
- Return type:
- 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:
- 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(figurepages=None)[source]¶
Generate model panels.
- Returns:
Panel list
- Return type:
- build_model(figurepages=None)[source]¶
Build a bokeh model from figure pages.
- Parameters:
figurepages – Iterable of (figid, figurepage) tuples. Defaults to all.
- Returns:
Tabs model or None
- build_full_model(figurepage=None, figurepages=None)[source]¶
Build a Tabs model with chart panels plus the extra tabs.
Extra tabs (Performance/Analyzer/Metadata/Config/Log/Source) are attached to a single figure page. This is the reusable build path used by both
plot()and the cerebro-compatibleBokehPlotadapter; it performs no display and writes no file.- Parameters:
figurepage – FigurePage to attach the extra tabs to. If
None, the most recently created figure page is used, or the extra tabs are skipped when no figure page exists.figurepages – Iterable of
(figid, figurepage)tuples for the chart panels. Defaults to all accumulated figure pages.
- Returns:
Bokeh
Tabsmodel, orNoneif bokeh is unavailable or no panels could be generated.