mantis-ta 0.6.7

Composable technical analysis and strategy engine for Rust
Documentation
# Reference fixtures

Synthetic reference outputs for Tier 1 indicators. Generated via
`python3 fixtures/generate_references.py`, which also writes synthetic sample
market data under `fixtures/market_data/`. Replace the generator with real
TA-Lib-backed outputs when available.

`sar.json`, `mfi_14.json`, and `ad.json` are exceptions: they're generated by
`fixtures/generate_sar_reference.py`, `fixtures/generate_mfi_reference.py`, and
`fixtures/generate_ad_reference.py` respectively, against the real TA-Lib C
library (`talib.SAR`, `talib.MFI`, `talib.AD`), not a Python reimplementation —
see each script's docstring for install/regeneration steps.

`ad.json` is verified against `market_data/ad_parity_synthetic.csv`, a
dedicated dataset (also written by `generate_ad_reference.py`), not
`spy_daily_5y.csv`. The shared `spy_daily_5y.csv` fixture has `close` pinned
to the exact midpoint of `high`/`low` on every bar, which makes A/D's
money-flow-multiplier ~0 everywhere — unable to distinguish a correct A/D
implementation from a broken one. `ad_parity_synthetic.csv` instead varies
close's position within the high/low range bar-to-bar.

`donchian_upper_20.json`, `donchian_middle_20.json`, and `donchian_lower_20.json`
are generated by `fixtures/generate_donchian_reference.py`. Donchian Channels
are a rolling MAX(high)/MIN(low), which — unlike recursive formulas — is exact
and order-independent, so a Python reimplementation matches TA-Lib's
`MAX`/`MIN` functions bit-for-bit without needing the native library.