Repository navigation
arch 9.0 is a major release. It adds new volatility models, covariance estimators, bootstraps and tests. It also fixes bugs that change results, some of them with the default arguments. Please read Changes that alter results and Backward-incompatible changes before upgrading.
Highlights
- New volatility and mean models:
FIAPARCH, a fractionally integrated asymmetric power ARCH.NGARCH, the nonlinear asymmetric GARCH of Engle and Ng.MAMean, a moving average mean that works with any volatility process and distribution.
- Forecasting with new data:
ARCHModel.appendadds observations to a model in place. Parameters estimated on earlier data can then forecast without re-estimating. - Long-run covariance:
PreWhitenedRecolored, the VAR-HAC and pre-whitened recolored estimators.- The Andrews (1991) AR(1) plug-in bandwidth,
bandwidth_method="andrews".
- Risk and diagnostics:
- The VaR backtests of Kupiec and Christoffersen, and the Basel traffic light.
- The residual diagnostics
excess_kurtosis,hill_estimatorandvar_ratio.
- Bootstrap and unit roots:
LocalBlockBootstrap, the local block bootstrap of Paparoditis and Politis.- Ng and Perron's modified AIC,
method="maic", for the lag length inADF,DFGLSandZivotAndrews.
- Wheels: Python 3.10 to 3.15 on Linux, macOS and Windows. Wheels for Windows on ARM are new, for Python 3.13 to 3.15.
Changes that alter results
SPAandStepMnow studentize by default.studentize=Trueis the default, but it had no effect in earlier versions. P-values, critical values and the set of superior models can change, and the default is about 3 times slower. Usestudentize=Falsefor the previous statistics.- Automatic bandwidths: the default Newey and West (1994) method now matches the R package sandwich. Every automatically chosen bandwidth of the kernel covariance estimators changes.
- Fixed bugs that changed results:
- The forecasts of
RiskMetrics2006. - The analytic forecasts of GJR-type models with skewed distributions.
- BCa intervals of functions that return several statistics.
ARCHInMeanmodels.DFGLSandauto_bandwidthwith integer data.- The ADF-Z critical values and p-values without a trend, which
PhillipsPerronuses withtest_type="rho".
- The forecasts of
Breaking changes
- Argument checks: every public function, constructor and method checks its arguments.
- An invalid argument raises a
TypeErrororValueErrorthat names it. - String options are no longer case sensitive.
- Integer, Boolean and list data are converted to
float64. - NaN or inf in the data of the unit root and cointegration tests raise a
ValueError. - Some calls that earlier versions accepted now raise.
- An invalid argument raises a
- Read-only attributes:
bootstrapofSPA,StepMandMCS, andblock_sizeof the block bootstraps, can no longer be assigned. Create a new instance instead. - Removed:
- The
typekeyword ofhedgehog_plot. Useplot_type. - The
arch.__future__module. - The
test,docanddevextras.pip install arch[test]no longer installs pytest.
- The
Compatibility
- 9.0 is the last release that supports Python 3.10 and NumPy 1.x.
- statsmodels 0.13.1 or later is required. Building from source needs Cython 3.1, and he test suite needs pytest 9.
- On Windows on ARM, don't limit OpenBLAS to one thread, for example with
OPENBLAS_NUM_THREADS=1. NumPy's OpenBLAS can crash on this platform with one thread (numpy/numpy#29442).
Release notes
The 9.0 release notes list every change.