Volatility indicators
Normalized Average True Range
Average True Range expressed as a percentage of the closing price.
- Engine
- TA-Lib
- Function
NATR- Input series
- high, low, close
- Outputs
- 1
How it works
For the normal smoothed case, NATR calculates Wilder's Average True Range, divides it by the close, and multiplies by 100 so volatility is comparable across price scales.
Use case
Use NATR as a price-normalized volatility feature for comparing instruments or periods with different absolute price levels.
Parameters
| Parameter | Type | Default | Bounds or options | Description |
|---|---|---|---|---|
| Time Period | integer | 14 | 1…100000 | Number of bars used for Wilder-style Average True Range smoothing. |
Outputs
| Output | Type | Description |
|---|---|---|
| NATR | number | Normalized Average True Range value for the bar. |
Reading the result
NATR normalizes recent true range by price, making volatility easier to compare across instruments with different nominal price levels. It still describes magnitude rather than direction.
Normalization improves comparability but does not make market microstructure, liquidity, timeframe, or provider differences disappear.
Common mistakes
- Reading a rising value as bullish or bearish direction.
- Comparing different timeframes without accounting for their elapsed duration.
- Assuming normalized range is the same as return standard deviation.
- Ignoring edge cases when the price denominator is near zero.
DataCat workflow notes
Use ATR when price-unit magnitude is required and NATR when relative scale is more useful. Keeping both can be redundant unless the downstream model explicitly benefits from absolute and normalized volatility.