๐ NATR โ Normalized Average True Range
NATR is ATR with one division added: it expresses the same volatility measurement as a percentage of the closing price, making it directly comparable across instruments and across time as an asset's price level changes.
๐ก Financial Meaning
An ATR of โฌ3 is enormous for a โฌ10 stock and negligible for a โฌ1,000 stock. NATR removes that distortion, so a volatility screen across an entire portfolio โ "which of my holdings is moving the most, relative to its own price?" โ becomes meaningful. It is also more stable through time for a single asset that has undergone a stock split or a large multi-year price change.
๐ข Mathematical Formula
Building on the True Range and ATR (see ATR):
Because \(ATR_t\) is always non-negative, \(NATR_t \ge 0\), with no theoretical upper bound.
โ๏ธ Parameters
| Parameter | Key | Default | Description |
|---|---|---|---|
| Period (\(N\)) | period |
14 | Smoothing window applied to the underlying True Range (same as ATR), in sessions. |
๐๏ธ Signal Processing Equivalent โ Envelope Estimator with Automatic Gain Control
Where ATR is a smoothed rectified envelope of price range, NATR adds the same Automatic Gain Control (AGC) normalisation used by PPO: dividing an absolute-magnitude measurement by the signal's own current level (\(C_t\)) yields a scale-free relative measurement, exactly as AGC keeps an amplifier's output level consistent regardless of the input signal's amplitude.
flowchart LR
HLC["๐ High / Low / Close"] --> TR["๐ก๏ธ True Range"]
TR --> ATRN["๐ SMMA(N) โ ATR"]
ATRN --> DIV["โ รท Close"]
C["๐น Close"] --> DIV
DIV --> SCALE["โ๏ธ ร100"]
SCALE --> NATR["๐ NATR(t)"]
Choosing ATR vs NATR
Use ATR for single-asset decisions in that asset's own price units (e.g. stop-loss distance in euros). Use NATR for cross-asset or cross-time comparisons, or whenever the raw price level is not directly meaningful to the question being asked.