// the find
bashtage/arch
ARCH models in Python
A Python library for ARCH/GARCH volatility models, unit root tests, cointegration analysis, and time-series-aware bootstrap methods. It is for quantitative finance practitioners and econometricians who need production-quality statistical tools beyond what statsmodels ships. The author is Kevin Sheppard, an Oxford econometrician who literally wrote textbooks on this material.
The breadth of unit root tests (ADF, DF-GLS, Phillips-Perron, KPSS, Zivot-Andrews, Variance Ratio) in one package is genuinely hard to match in Python. Performance is handled correctly: Cython extensions for the hot recursion loops with Numba as a fallback when you skip compilation, so you are not stuck with slow pure-Python paths. The bootstrap module is unusually thorough — stationary, circular block, and moving block variants with proper confidence interval methods, not just naive resampling. Critical values are simulation-derived and stored as pre-computed tables, so test results are fast and do not require asymptotic approximations.
Multivariate GARCH (DCC, BEKK) is absent — if you need those, you are still writing them yourself or reaching for R. The cointegration analysis covers Engle-Granger and Phillips-Ouliaris but not Johansen, which is the first thing most practitioners want for systems with more than two variables. The Cython build step is a genuine friction point on Windows without a pre-built wheel; the README acknowledges this but the workaround (Numba fallback) requires an extra install step that is easy to miss. Documentation is comprehensive for the univariate models but noticeably thinner for the covariance kernel estimators and the multiple comparison procedures, where you mostly have to read the academic papers to understand what the parameters actually mean.