plot_pnl_histogram
function backtide.analysis.pnl_histogram.plot_pnl_histogram(runs, bins=None, title=None, legend="upper right", figsize=(900, 600), filename=None, display=True)[source]
Create a histogram of per-trade PnL for one or more strategy runs.
Each strategy plots its own histogram overlaid on the same axes, so the shape and skew of the trade-PnL distribution can be easily compared.
| Parameters |
runs : RunResult | list[RunResult]
The per-strategy results to plot.
bins : int | None, default=None
Number of histogram bins. If
title : str | dict | None, default=NoneNone, Plotly's default binning algorithm
is used.
Title for the plot.
legend : str | dict | None, default="upper right"
Legend for the plot. See the user guide for an extended
description of the choices.
figsize : tuple[int, int], default=(900, 600)
Figure's size in pixels, format as (x, y).
filename : str | Path | None, default=None
Save the plot using this name. The type of the file depends on the
provided name (
display : bool | None, default=True.html, .png, .pdf, etc...). If filename has no
file type, the plot is saved as .html. If None, the plot isn't saved.
Whether to render the plot. If
None, it returns the figure.
|
| Returns |
Figure | None
The Plotly figure object. Only returned if
display=None.
|
See Also
Create a PnL-over-time chart for one or more strategy runs.
Create a histogram of trade durations for one or more strategy runs.
Create a per-trade PnL over time plot for one or more strategy runs.
Example
>>> from backtide.analysis import plot_pnl_histogram
>>> from backtide.storage import query_experiments, query_strategy_runs
>>> exp = query_experiments().iloc[0]
>>> runs = query_strategy_runs(exp.id)
>>> plot_pnl_histogram(runs)