Skip to main content
Education
Contents
7 min read

Volatility & Bands

Range, dispersion, and envelope measures for describing movement and relative extremes.

Volatility describes movement; bands place movement around a reference

Volatility signals measure the scale or dispersion of price changes. Band and channel signals combine a central reference with upper and lower boundaries so the current price can be described relative to recent movement or range.

They answer questions such as:

  • How large have recent moves been?
  • Is current movement unusually quiet or active?
  • Where is price relative to a volatility-adjusted envelope?
  • Has price exceeded a recent high or low?

They do not determine direction by themselves. Rising volatility can accompany a rally, selloff, or two-sided turbulence. A price touching an upper band can support continuation or reversion depending on the strategy’s hypothesis.

Range and return volatility are not the same

True Range uses the largest span involving the current high, current low, and previous close, so a gap can matter even when the current high-low range is small. Average True Range (ATR) smooths those one-bar values. Arizmic ships both a simple rolling-mean ATR and Wilder ATR; the latter uses Wilder's recursive smoothing and will usually react more slowly after a sudden change. Both remain in price units unless normalized.

Realized volatility summarizes variation in returns. It can be compared across price levels more naturally, but its estimate depends on sampling frequency and scaling. The shipped signal reports rolling log-return dispersion scaled to its window; it does not silently annualize the value.

Exponentially Weighted Moving Average (EWMA) volatility gives more weight to recent squared returns, allowing faster adaptation at the cost of an explicit decay parameter and annualization convention.

Rolling moments and distribution summaries add skew, kurtosis, or other features beyond standard deviation. Arizmic's shipped rolling moments describe close levels, not return moments, so a trend can materially affect them. The rolling distribution signal instead reports empirical median, quartiles, and percentile rank.

Drawdown belongs beside these signals as path context rather than a volatility estimator. It compares current close with the running peak from the start of the selected input. A deep drawdown and high return dispersion can coincide, but they measure different properties.

Bands embed a center and a width rule

A band has at least two components:

  1. a center, such as a moving average;
  2. a width, such as a multiple of standard deviation or ATR.

Bollinger-style bands use a moving center and rolling dispersion. Keltner-style channels commonly use a moving center with ATR-based width. Donchian channels use recent highs and lows rather than a dispersion estimate.

Because their widths come from different inputs, a “band touch” is not one common event across these families.

Illustrative volatility envelope separating center, width, position, and breakout event.

The center, width, normalized position, and boundary event can each become a separate signal output. Keeping them separate prevents a strategy from silently changing when a researcher moves from “price is high inside the band” to “price has just crossed beyond the band.”

A simple band example

Illustrative example. Assume a moving center of 100, a rolling standard deviation of 2, bands at two standard deviations, and a completed close of 104.50:

QuantityCalculationReading
Upper band100+2(2)100 + 2(2)104
Lower band1002(2)100 - 2(2)96
Raw distance from center104.50100104.50 - 1004.50
Standardized distance4.50/24.50 / 22.25

That does not say the market is mispriced or that it must return to 100. During a strong trend, the center and bands can move upward while price remains near the upper boundary. During a temporary shock, the same reading may revert.

Channel position and breakout distance answer different questions

A band-position output describes where price lies between or beyond two boundaries. A breakout-distance output measures how far price is from a prior extreme. A rolling-extreme flag identifies whether a level has been exceeded.

For a Donchian channel, including the current bar’s high when testing whether the current bar broke the high can create a self-reference. A clean breakout usually compares the current decision value with a channel formed from prior eligible observations.

Volatility regimes depend on a reference

Calling volatility “high” requires comparison. High relative to:

  • the asset’s past year;
  • the same time of day;
  • a cross-sectional peer group;
  • a long-term distribution;
  • a model forecast?

An intraday strategy that compares midday volatility with the full session can confuse ordinary time-of-day seasonality with an unusual regime. A percentile or z-score can normalize the state, but the history and window behind it remain choices.

Band compression is not a direction signal

Narrow bands or low range can identify compression. They do not say which direction a later expansion will take. A strategy may combine compression with a separate range break or trend filter.

To test whether compression adds value, compare the directional trigger alone with the same trigger gated by the compression state. Otherwise the researcher cannot tell whether the band state or the breakout produced the result.

Selecting a signal by the decision it supports

DecisionUseful measurementsMain caution
Size a positionATR, realized or EWMA volatilityBackward-looking estimate can jump
Define a dynamic stopATR or volatility bandA wider stop changes holding and loss size
Detect quiet statewidth, range percentile, volatility regimeTime-of-day and lookback matter
Test a breakoutDonchian/extreme distanceExclude current information correctly
Test reversionstandardized band positionExtreme does not imply fair value
Compare risknormalized return volatilityFrequency and annualization must align

False readings to avoid

  • Treating high volatility as bearish or low volatility as bullish.
  • Calling an upper-band touch automatically overbought.
  • Comparing price-unit ATR across instruments without scaling.
  • Including the current bar in the prior channel by mistake.
  • Interpreting a volatility percentile without its reference window.
  • Assuming narrow bands must expand immediately.
  • Using the same volatility estimate for signal, size, and stop without recognizing the rules are now coupled.
  • Annualizing dependent returns as if variance always scaled linearly.

Shipped signals in this family

Try it in Arizmic

Included with Arizmic

18 prebuilt signals in this family

Use the shipped family to measure movement size, dispersion, envelopes, relative location, range breaks, or categorical volatility state.

  • ATR and realized volatility use different units and smoothing; name the convention before comparing them.
  • A band level, band width, normalized position, and breakout flag answer different questions.
  • Volatility is directionless unless another signal or rule supplies direction.

Ask the AI Companion

Draft a custom volatility signal

Signal draft

Create a reviewable volatility or envelope definition with explicit scale and normalization.

Draft a custom volatility signal for [market and bar interval] that measures [range, return dispersion, compression, expansion, or envelope position]. Use inputs [list], define output units, gap treatment, window, smoothing, annualization if any, warmup, and threshold behavior. If it creates bands, separate center, width, position, and event outputs. Compare it with [ATR, Wilder ATR, realized volatility, Bollinger, Keltner, or Donchian]. Return a typed signal_draft for review only; do not save, run, generate arbitrary Python, or execute anything.

Ask the AI Companion

Explore volatility-signal uses

Research critique

Map shipped outputs to sizing, eligibility, compression, expansion, or location roles.

Explain [shipped volatility or band signal] for [market and horizon], including its units and every output. Suggest separate uses for risk scaling, compression or expansion state, and price location where applicable. State which ideas require a directional signal, name the closest shipped comparator, and flag smoothing or annualization mismatches. Do not treat a band touch as an automatic trade and do not execute anything.

Personal notebook

Extend it in Marimo

Prepared Data

Open typed bar data and selected volatility outputs in a personal Marimo notebook.

Make scale, smoothing, band width, and price location visible on the same timeline.

Bring in
OHLC completed bars, selected raw volatility outputs, band center, width, and position outputs, window and warmup masks
Build
price-and-envelope chart with beyond-band events, ATR versus Wilder ATR or realized-volatility comparison, bandwidth and range-state distribution

How to read it: Check whether apparent differences come from units or smoothing before assigning market meaning. A visually wide band can coexist with ordinary normalized position.

Value origin: Any rescaling, annualization, percentile, or event label computed in the notebook is notebook-derived and must be labeled as such.

With Companion: Ask for a reviewed chart-and-comparison cell draft, inspect its source diff and selected columns, then apply it explicitly.

Further reading