Skip to content

Release v9.0.0

Latest

Choose a tag to compare

@bashtage bashtage released this 11 Nov 22:04
· 4 commits to main since this release
ef63ff4

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.append adds 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_estimator and var_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 in ADF, DFGLS and ZivotAndrews.
  • 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

  • SPA and StepM now studentize by default. studentize=True is 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. Use studentize=False for 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.
    • ARCHInMean models.
    • DFGLS and auto_bandwidth with integer data.
    • The ADF-Z critical values and p-values without a trend, which PhillipsPerron uses with test_type="rho".

Breaking changes

  • Argument checks: every public function, constructor and method checks its arguments.
    • An invalid argument raises a TypeError or ValueError that 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.
  • Read-only attributes: bootstrap of SPA, StepM and MCS, and block_size of the block bootstraps, can no longer be assigned. Create a new instance instead.
  • Removed:
    • The type keyword of hedgehog_plot. Use plot_type.
    • The arch.__future__ module.
    • The test, doc and dev extras. pip install arch[test] no longer installs pytest.

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.