quant-indicators
Pure-math technical indicators for Rust. Decimal-backed, zero I/O, zero async, WASM-compatible.
Indicator outputs match TradingView / Bloomberg / MetaTrader where conventions exist (e.g. RSI uses Wilder's smoothing, Bollinger uses population stddev, ATR uses Wilder's method with H-L first TR).
Install
[]
= "0.4"
= "0.4" # for Candle, Interval
Indicators
| Category | Indicators |
|---|---|
| Moving averages | Sma, Ema, Wma, HullMa, Ma (enum dispatch) |
| Momentum | Rsi (Wilder), Macd, Momentum, EfficiencyRatio (Kaufman) |
| Volatility | BollingerBands, Atr (Wilder), StdDev, VarianceRatio (Lo-MacKinlay) |
| Trend | Supertrend (ATR-based, TF-agnostic), DetrendedOscillator |
| Volume | VolumeSignalIndicator |
| Portfolio | Hrp (de Prado, recursive bisection with inverse-variance) |
| Combinators | Diff, Ratio, Lag, Scale, Close |
| Synthesis | synthesize_ratio_candles (OHLC from two series) |
All indicators implement the Indicator trait (streaming push-based update).
Example
use ;
use dec;
let mut rsi = new;
for close in
let value = rsi.value;
Audit
See AUDIT-VERDICT.md at the workspace root for formula correctness, numerical stability, and convention notes (reviewed by Claude Opus agent personas — not a human-conducted audit).
License
MIT — see LICENSE-MIT.