NATR normalizes the Average True Range (ATR) as a percentage of the closing price. This is mathematically identical to ATRP (Average True Range Percent)—both compute `(ATR / Close) × 100`. The difference is purely nomenclature: NATR is the term used in TA-Lib and many charting platforms.
## Historical Context
NATR derives from J. Welles Wilder Jr.'s ATR, introduced in his 1978 *New Concepts in Technical Trading Systems*. While Wilder's original ATR provided absolute volatility in price units, traders and quantitative analysts quickly recognized the need for percentage-based normalization.
The "Normalized" moniker became standard in the TA-Lib open-source library, which formalized the calculation as `NATR = (ATR / Close) × 100`. This naming convention spread through the algorithmic trading community, creating the parallel terminology alongside "ATRP" (Average True Range Percent) used in other contexts.
Both names describe the same mathematical transformation: making volatility comparable across instruments with different price levels.
## Architecture & Physics
NATR consists of three cascaded components:
### 1. True Range (TR)
Captures the actual price movement including gaps:
Note: QuanTAlib's warmup-compensated RMA may diverge 4-7% from classic Wilder implementations over long histories. Both approaches are mathematically valid; QuanTAlib prioritizes accurate early-series values.
## Use Cases
### Cross-Asset Volatility Comparison
Compare volatility across different price scales:
| Asset | Price | ATR | NATR |
| :--- | :---: | :---: | :---: |
| Penny Stock | $2.50 | 0.25 | 10.0% |
| Mid-Cap | $150 | 4.50 | 3.0% |
| Blue Chip | $500 | 5.00 | 1.0% |
ATR suggests Blue Chip is most volatile. NATR reveals Penny Stock has 10× the relative volatility.
### Volatility-Adjusted Position Sizing
```
Position Size = (Account Risk %) / NATR
```
Ensures equal percentage risk per position regardless of asset price.
### Regime Detection
| NATR Range | Interpretation | Strategy Implication |
| > 5% | High volatility | Crisis mode, capital preservation |
## Common Pitfalls
1.**Lag Inheritance**: NATR inherits ATR's smoothing lag. It measures recent volatility, not current or future volatility.
2.**Close Price Spikes**: A sharp close creates transient NATR spikes since it affects both TR (numerator) and the denominator simultaneously.
3.**Near-Zero Prices**: Assets approaching zero produce extreme NATR values. Implement minimum price thresholds.
4.**Gap Sensitivity**: Large overnight gaps inflate TR significantly. Consider using gap-adjusted data for equity analysis.
5.**Warmup Period**: The first 40+ bars (for period=14) contain warmup bias. Use `IsHot` to filter unreliable values.
6.**OHLC Requirement**: NATR requires bar data (Open, High, Low, Close). It cannot be computed from close prices alone. Use `Update(TBar)` not `Update(TValue)`.