Repository navigation
Releases: lavs9/quantwave
Release list
v0.7.0 — Unified PyO3 (abi3) FFI + complete TA-Lib surface
Retroactive GitHub Release for v0.7.0 (already tagged and published to PyPI). See docs/changelog.md for the full history.
Added
- Complete classic TA-Lib surface (
quantwave.talib): 161 functions, up from 8 — RSI, MACD, SMA, EMA, ATR, ADX, BBANDS, STOCH, OBV, all 61 candlestick patterns, plus math/price transforms. The classic array-in/array-out API (talib.RSI(close, timeperiod=14), multi-output tuples, OHLC/candlestick inputs) delegates to the Polars.taplugins — values are the talib-rs-parity-tested Rust results. - Top-level native symbol access restored:
qw.FracDiff,qw.fracdiff,qw.rsi,qw.SuperTrend, … bind alongside the slug-basedqw.tanamespace.
Changed
- Unified the Python FFI on PyO3 (abi3), retiring uniffi. Indicator bindings, Polars expression plugins, and the backtest engine are now a single PyO3
abi3-py39extension in one crate (quantwave-py) producing one cdylib — a singlematurin buildyields onecp39-abi3wheel with no wheel-merge step. - Collapsed the three PyO3 crates (
quantwave-python,quantwave-plugins,quantwave-backtest-py) intoquantwave-py; deletedscripts/build_unified_wheel.py; consolidated to onepyproject.toml.
Fixed
- Wheel tag / install correctness: the published wheel is now
cp39-abi3and installs correctly on CPython 3.9–3.13. 0.6.1 shipped apy3-nonewheel bundling CPython-3.12-only extensions, which brokepip installon 3.9/3.10/3.11/3.13.
v0.6.0 — Product Guardrails & Research Loop
QuantWave 0.6.0 ships the v0.6 productization epic: CI guardrails, a single verify entrypoint, the full research loop (feature matrix + Monte Carlo), fractional differencing, HTML tear sheets, and documentation SOA completion.
Install: pip install quantwave or pip install "quantwave[polars]"
What's new
PyPI packaging (unified wheel)
- Single wheel bundles core (
quantwave._quantwave), Polars plugins (quantwave_plugins), and backtest (quantwave._backtest) pip install "quantwave[polars]"— Polars extra for batch.ta/.btnamespacesquantwaveCLI —list,info,doctor,version- Core-only import —
import quantwaveworks without Polars (streaming, metadata, list API)
Product guardrails
./scripts/quantwave_verify.sh— one command for metadata drift, doc lint, nextest, and pytest smoke- Metadata drift gate in CI
- Plugin vs
.taguide and expanded regime documentation
Research loop
qw.build_feature_matrix()— batch ML feature matrix from OHLCVlf.bt.monte_carlo()— trade bootstrap + return-path VaR/CVaR (Python)- Fractional differencing (
FracDiff) — Prado-style stationary features
Indicators & backtest
- 217 registered indicators with full
IndicatorMetadatapipeline - HTML tear sheets —
BacktestReport.to_html()/save_html() - Sweep, WFO, cross-sectional, and Monte Carlo (Rust core)
Documentation
- Indicator doc SOA complete — 217 indicators, native pages under documentation standards
- Landing page redesign; doc drift checks in verify
Upgrade notes
- No breaking API changes from 0.5.2 for core indicator/backtest surfaces
- New optional APIs:
frac_diff,build_feature_matrix,to_htmltear sheets
v0.5.2 - Python DX & Discoverability
See docs/changelog.md
v0.5.1 - Complete publishing + release reliability
v0.5.1 (clean re-tag)
- All internal crates now publish successfully (including quantwave-backtest)
- Release no longer hard-blocked by docs build warnings
- See changelog for full details
v0.5.0 - Backtest Engine v0.2 + rich PA metadata sizers, high-fidelity execution & professional tearsheets
v0.5.0 - Backtest Engine v0.2 + rich PA metadata sizers, realistic execution models (incl. high-fidelity mode), professional tearsheets with attribution + PA metadata. Notebook + docs hardening, release workflow robustness.
Strict Next + Polars batch/streaming parity preserved across all enhancements (inspired by QF-Lib patterns for the vectorized path only).
Re-tagged cleanly on current main after internal crate version hygiene (path-only only in [workspace.dependencies]; no ^ pins for quantwave-* crates). This ensures Rust crates and Python wheels/sdist publish correctly.
Closes quantwave-n1yc epic and all 5 children (quantwave-n1yc.1 through .5) — rich position sizing from PA metadata, pluggable CommissionModel/SlippageModel (incl. SquareRootMarketImpact + volume limits), High-Fidelity ExecutionSimulator mode, BacktestTearsheet + EnrichedTrade + AttributionReport with full PA metadata, to_markdown() + trades_df() for Excel.
See docs/changelog.md for the complete list of changes.
CI publishing workflow (crates.io + PyPI): https://github.com/lavs9/quantwave/actions/runs/26691989511
(2026-05 IST — re-tag of exact v0.5.0 on the fixed main commit per user request)
v0.4.0 – Options India Suite & Polars Enhancements
v0.4.0 – Options India Suite & Polars Enhancements
This release delivers the long-requested Options India analytics suite and significant Polars quality-of-life improvements.
Highlights
- Options India Suite (new): Full Black-Scholes Greeks (Delta, Gamma, Theta, Vega, Rho, etc.), Implied Volatility solvers, Chain Analytics (Max Pain, PCR, GEX, OI Zones, ATM Straddle, Synthetic Futures), plus NSE utilities (
nse_lot_size,moneyness). - All Options India functionality is available as native Polars expressions with clean column-or-value parameter handling.
- Major code hygiene pass and release build fixes.
Installation
- Python:
pip install quantwave - Rust:
cargo add quantwave
Links
- Full Documentation: https://lavs9.github.io/quantwave/
- Ask DeepWiki: https://deepwiki.com/lavs9/quantwave
- 150+ indicators • Full Ehlers DSP • Regime Detection • Python + Rust
See the Changelog for complete details.