plot_volatility
function backtide.analysis.volatility.plot_volatility(data, price_col="close", window=21, title=None, legend="upper left", figsize=(900, 600), filename=None, display=True)[source]
Create a rolling volatility chart.
Plots the rolling standard deviation of percentage returns over a configurable window for one or more symbols. Useful for tracking how risk evolves over time and comparing volatility regimes.
| Parameters |
data : pd.DataFrame | pl.DataFrame
Input data containing columns
price_col : str, default="close"symbol, the column specified by
price_col, and dt with the datetime.
Column name used to compute returns.
window : int, default=21
Rolling window size (number of bars) for computing volatility.
title : str | dict | None, default=None
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 drawdown chart.
Create a returns distribution histogram.
Create a seasonality heatmap.
Example
>>> import pandas as pd
>>> from backtide.storage import query_bars
>>> from backtide.analysis import plot_volatility
>>> df = query_bars("AAPL", "1d")
>>> plot_volatility(df, window=21)