1.6k stars · NCSA · v8.0.0 (2025-10-21)
GARCH volatility models plus White's reality check and the Politis-Romano-Wolf stepwise test — regime filters, and a way to tell skill from search luck.
▶Repo detailsthe review · specs · pros & cons · install
What it is
The reference Python library for financial econometrics: GARCH-family volatility models and forecasts, unit-root tests, and a bootstrap module that includes the standard multiple-comparison procedures — White's reality check and the Politis–Romano–Wolf stepwise test.
Why it matters
Two things ScalpingMate is missing, and neither is another backtester. The first is regime. A scalping edge lives or dies on volatility: a rule that prints during a busy London open bleeds through a flat August afternoon, and a backtest averaged across three years hides that completely. Fit a GARCH model, join its conditional-volatility series to your trades, and you can finally ask "does this only work above median volatility?" — which is usually where a mediocre strategy turns into a usable one with a filter on the front. The second is blunter. tsfresh and STUMPY are going to hand you a great many candidates, and the best of many backtests always looks good. The reality check is the published test for whether it beat the benchmark by skill or by sheer number of attempts. That test is the difference between finding an edge and finding the luckiest coin in a bucket of five hundred.
- The standard, boring, correct implementation — written by a statsmodels core developer, implementing tests the literature actually names
- NCSA licence: permissive and BSD-shaped, so it can ship inside a paid feature, like skforecast and quantstats and unlike backtesting.py
- pandas in, pandas out, so it drops into the ScalpingMate pipeline without introducing a new way of working
- This is genuinely statistical software. The documentation assumes you know what a conditional variance model is — the entry most likely to need Claude Code as a tutor rather than a typist
- v8.0.0 in October 2025 is the oldest release on today's page. Ten months is comfortably inside the line, but it does not ship weekly like the rest
- A volatility model tells you about risk, never direction. It will not find you a strategy; it tells you when the ones you have are trustworthy
A Procrastinate job fits a GARCH(1,1) over the EURUSD series and writes conditional volatility to a column beside the price bars, at which point every backtest gains a regime filter for free.
source venv/bin/activate pip install arch