Skip to content

Getting Started

Short answer

Install pip install "quantwave[polars]", run one .ta indicator on a Polars LazyFrame, then follow a path card below (batch, streaming, or backtest).

Your first 10 minutes with QuantWave — install, run one indicator, then pick where to go next.

Evaluating vs TA-Lib or pandas-ta?

Read QuantWave vs alternatives first if you are comparing stacks.

The funnel

flowchart LR
    A[Install] --> B[First indicator]
    B --> C{Goal?}
    C --> D[Polars batch research]
    C --> E[Live streaming]
    C --> F[Backtest a signal]
    C --> G[ML features]
    D --> H[Indicator catalog]
    E --> H
    F --> I[Backtest quickstart]
    G --> J[ML features guide]

1 — Install (2 min)

pip install "quantwave[polars]"
quantwave doctor
quantwave list --category "Classic"

Python guide — Polars .ta, streaming, TA-Lib migration, backtest hooks.

[dependencies]
quantwave-core = "0.1"
quantwave-polars = "0.1"

Rust guideNext<T> streaming and Polars .ta() in native crates.

2 — First indicator (3 min)

import polars as pl
import quantwave  # registers pl.col().ta

df = pl.DataFrame({
    "high":  [101, 102, 103, 102, 104],
    "low":   [99, 100, 101, 100, 102],
    "close": [100, 101, 102, 101, 103],
})

out = (
    df.lazy()
    .with_columns(
        pl.col("close").ta.rsi(timeperiod=14).alias("rsi"),
        pl.col("close").ta.supertrend("high", "low", period=10, multiplier=3.0).alias("st"),
    )
    .collect()
)
print(out.tail())
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));

3 — Pick your path

Polars batch research

Build feature columns on LazyFrame, then backtest.

Batch & streaming guidePlugin vs .ta

Live / streaming

Same math as batch — streaming_class + wrap_streaming.

Python streaming section · qw.assert_parity()

Backtest a strategy

.bt namespace — sweeps, walk-forward, tear sheets.

Backtest quickstartStrategy notebook

Explore indicators

217 native tools — search, gallery, or full catalog.

Indicators overview · Gallery

Migrate from TA-Lib

Drop-in quantwave.talib shim, then move to .ta.

TA-Lib migration · Comparison

ML feature pipelines

Hurst, frac-diff, build_feature_matrix(), regime gates.

ML features guideE2E notebook

4 — Conventions worth knowing early

Topic Where it lives
Warmup / NaN rules qw.warmup_bars(), qw.boundary_info()Python guide
Batch vs streaming parity qw.assert_parity() — same Next<T> core
Indicator discovery qw.indicators(), qw.metadata("rsi")
Performance claims Benchmarks

Next documentation