Summary
ATRP is RTTA's streaming implementation of: Average True Range expressed as a percentage of price.
Update API
result = rtta.ATRP().update(close, high, low)
The update(...) call consumes one observation using close, high, low. advance(...)
uses the same inputs when the caller wants to update state without materializing
a Python return value.
Theory Of Operation
ATRP expresses the current ATR volatility estimate relative to the current close. This makes a dollar-denominated range comparable across price levels while preserving the same one-step Wilder true-range smoothing used by ATR.
Recurrence
Let \(z_t = (close_t, high_t, low_t)\) denote the observation consumed by one
update(...) call and let \(\theta\) denote constructor parameters such as
window lengths, thresholds, and smoothing constants.
The return value is the current scalar indicator value.
Composed Primitives
Implementation Notes
The recurrence is implemented in src/rtta/indicator.cpp in class ATRP.
