QuantWave
Why QuantWave?
Most quant stacks force a tradeoff: Python convenience or Rust speed — rarely both with Polars-native ergonomics and research-to-production parity.
QuantWave is built as a Rust workspace with a single source of mathematical truth. Every indicator implements Next<T>; Polars plugins and Python streaming wrappers consume the same logic, validated by gold-standard vectors and proptests.
| Approach | Large-data speed | Polars-native | Streaming parity | Ehlers + PA + regimes |
|---|---|---|---|---|
| pandas-ta / TA-Lib (Python) | Slow | Partial | Rare | Limited |
| Other Rust TA crates | Fast | Weak | Rare | Limited |
| QuantWave | Fast | Native | Guaranteed | Deep |
What you get
Indicators
217 Rust-native indicators with metadata, gold-standard tests, and full docs. Classic TA, Ehlers DSP, candlestick patterns, price action, and fractional differencing.
Polars .ta() + plugins
Zero-copy expression plugins for hot paths, or the ergonomic .ta() namespace for research. Same math either way.
Backtest engine
Sweep, walk-forward, Monte Carlo, cross-sectional runs, and HTML tear sheets — Rust core with Python Polars integration.
Python DX
qw.indicators(), qw.metadata(), qw.assert_parity(), build_feature_matrix(), and arm64 wheels.
Quickstart
import polars as pl
import quantwave as qw
print(len(qw.indicators()), "indicators")
meta = qw.metadata("supertrend")
df = pl.DataFrame({"close": [100.0, 101.0, 102.0, 101.5, 103.0]})
out = df.lazy().ta.supertrend("high", "low", "close", 10, 3.0).collect()
use quantwave_core::indicators::supertrend::SuperTrend;
use quantwave_core::Next;
let mut st = SuperTrend::new(10, 3.0);
let v = st.next((100.0, 105.0, 95.0, 102.0));
Install: pip install "quantwave[polars]" or cargo add quantwave.
Performance snapshot
On 1M rows of realistic OHLCV:
- SuperTrend: ~27× faster than common Python implementations
- CyberCycle (Ehlers): ~100× faster than pandas loops
- Memory: 2–5× lower than pandas on multi-ticker workloads
Explore
- Complete indicator catalog — all 217 indicators by category
- Indicator gallery — curated starting points
- Ehlers DSP suite
- ML features
- Options India
- Examples & notebooks