Skip to content

Historical volatility

IndicatorsFrom Pro

  • Value
Historical volatility

20 candles · above 80 %

  • HV
  • calm
  • volatile
This is how the node looks on the board: inputs on the left, outputs on the right.

How much the price swings, per year. Measures how much the price has swung over the last candles and scales that to a year, the way options traders quote it. 50 % means the swings of the last candles amount to roughly ±50 % over a year. Because Bellchain scales by the timeframe, values from hourly and daily candles are of the same order. Below “calm” the market is quiet, often before a bigger move; above “volatile” it swings hard, for example in a sell-off. Example: HV 20 on daily candles above 80 % reports a phase in which BTC swings unusually hard.

BTC/USDT price and historical volatility 20Volatility as a yearly figure stays below 15 % in calm phases and rises above 40 % in restless ones.Price BTC/USDT80,00082,00084,000HV 2015 %40 %calm (below 15 %)volatile (above 40 %)Oct 9Oct 10Oct 11Oct 12Oct 13Oct 14Oct 15Oct 16Oct 17
  • Price (close of each candle)
  • HV 20
  • below 15 % and above 40 %
Top: the BTC/USDT price; bottom: the historical volatility 20 of the same 1-hour candles, scaled to a year. Here with “Calm below 15 %” and “Volatile above 40 %”: the outputs are true while the line is inside the zone. Big candles make the line jump; 20 candles later they drop out again.

Properties of the Historical volatility node: at the top the price of the last 150 candles, below it Historical volatility with the zone between the thresholds and two handles at the right edge, dots at the hits, below that the Calm below and Volatile above fields.

The properties show the price of the last 150 candles at the top and Historical volatility below it, with the zone between the thresholds. Drag a threshold or type it; the number in the field follows in whole steps. Dots on the price show where “calm” or “volatile” would be true, the top line shows how often.

More under Chart below the price.

The settings appear on the right under “Properties” once you click the node on the board. Below each field you find the same explanation as here.

Default: 20 · from 2 to 500, whole number

How many candles the swings are measured over. 20 is usual, on daily candles about three weeks. Fewer candles react faster to single big candles, more candles show the calmer underlying swing.

Default: 30 % · from 0 to 500 %

Below this line the market counts as calm, and the “calm” output is true. For BTC on daily candles 30 % is rather quiet; altcoins usually swing more.

Default: 80 % · from 0 to 500 %

Above this line the market counts as volatile, and the “volatile” output is true. For BTC on daily candles 80 % is already a lot.

Notifies you when the swings of the last 20 hours, scaled to a year, rise above 80 %: an unusually restless phase.

Example chain: Candle, Historical volatility, TelegramConnections: Candle → Historical volatility, Historical volatility → Telegram.CandleBTC/USDT · 1hHistorical volatility20 candles · above 80 %Telegramlinked chat · at most every4 h

How to connect the nodes:

  1. Candle (Price) → Historical volatility (Value)
  2. Historical volatility (volatile) → Telegram (Trigger)

On the board it reads: 20 candles · above 80 %

Chain as JSON

To try it, copy it and paste it in the editor under “Import”. Importing creates a new chain.

hv.json
{
"name": "Example: Historical volatility",
"version": 1,
"nodes": [
{ "id": "c1", "type": "core.candle", "position": { "x": 40, "y": 40 }, "settings": { "pair": "BTC/USDT", "timeframe": "1h" } },
{ "id": "h1", "type": "core.hv", "position": { "x": 260, "y": 40 }, "settings": { "length": 20, "high": 80 } },
{ "id": "t1", "type": "core.telegram", "position": { "x": 480, "y": 40 }, "settings": {} }
],
"edges": [
{ "from": "c1.close", "to": "h1.in" },
{ "from": "h1.high", "to": "t1.in" }
]
}

Only matching types connect: number series to number series (round pin), signal to signal (square), message to message (diamond).

Direction Pin Type Note
Input Value Number series required
Output HV Number series in percent
Output calm Signal (true/false) –
Output volatile Signal (true/false) –
  • In messages the value is called “HV 20”.
  • Warm-up with the default settings: 21 candles (this many extra candles are loaded by the replay before the value is reliable).
  • Search also finds it under: volatility, historical volatility, hv, realized volatility, calm, volatile, risk.

Standard deviation of the logarithmic returns ln(close / previous close) over the chosen candles (population), times √(candles per year) times 100. Candles per year for round-the-clock trading: 365 days divided by the timeframe, 12 for 1 month. On daily and weekly candles the same values as the Historical Volatility indicator in TradingView.

  • Type in the chain: core.hv · Version 1.0.0 · Category key ind
  • Settings in the chain: length (Candles), low (Calm below), high (Volatile above)
  • Pins in the chain: Input in · Output out, low, high
  • Reference tests in the manifest: 2 (with fixed price data: 500 candles of 1h)
  • How a node is built

Version 2026.10.24.21 · Changelog