plot_position_size
function backtide.analysis.position_size.plot_position_size(run, symbols=None, title=None, legend="upper left", figsize=(900, 600), filename=None, display=True)[source]
Create a position-size over time chart for a single strategy run.
Reconstructs the held quantity per symbol from the run's filled orders and renders one-step line per symbol. Positive values are long positions, negative values are short.
| Parameters |
run : RunResult
The strategy run to plot.
symbols : list[str] | None, default=None
List of symbols to include in the plot. If
title : str | dict | None, default=NoneNone or empty,
all traded symbols are included.
Title for the plot.
legend : str | dict | None, default="upper left"
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 price line chart.
A record of an order as resolved by the engine.
Example
>>> from backtide.analysis import plot_position_size
>>> from backtide.storage import query_experiments, query_strategy_runs
>>> exp = query_experiments().iloc[0]
>>> run = query_strategy_runs(exp.id)[-1]
>>> plot_position_size(run)