Rust Guides
QuantWave's Rust workspace powers 218 native indicators, Polars integration, and the backtest engine. These guides explain when and how to use Rust directly — without duplicating the full docs.rs API reference.
Short answer
Use Python + Polars (pip install "quantwave[polars]") for research and backtests.
Use Rust crates when embedding indicators in a service, building custom binaries, or contributing to the library.
Choose your path
| Goal | Start here |
|---|---|
| First Rust install | Getting Started: Rust |
| Which crate to import | Crate map |
| Streaming / live loops | Next<T> pattern |
| Simulation without Python | Rust backtest |
| Full API reference | docs.rs — quantwave-core |
Workspace layout
quantwave-core → Next<T> indicators, features, regimes (single source of math)
quantwave-polars → LazyFrame .ta() / .bt() namespace
quantwave-plugins → Polars expression plugins (vectorized UDFs)
quantwave-backtest → Portfolio simulation engine
quantwave → Umbrella re-exports for binary crates
Batch vs streaming parity
Every indicator implements Next<Input> in quantwave-core. That implementation is the single source of truth for:
- Streaming structs (
rsi.next(price)) - Polars batch columns (
.ta().rsi(...)) - Gold-standard validation vectors
Python's quantwave.assert_parity() exists because this contract is enforced in CI.
Next steps
- Crate map → docs.rs links
- SuperTrend steel-thread reference (formula + parity)
- Benchmarks
- Contributing