Skip to main content

ARCH for Python

Project description

Documentation Status CI Status Coverage Status


This is a work-in-progress for ARCH and other tools for financial econometrics, written in Python (and Cython)

What is in this repository?

  • Univariate ARCH Models
    • Mean models
      • Constant mean
      • Heterogeneous Autoregression (HAR)
      • Autoregression (AR)
      • Zero mean
      • Models with and without exogenous regressors
    • Volatility models
      • ARCH
      • GARCH
      • TARCH
      • EGARCH
      • EWMA/RiskMetrics
    • Distributions
      • Normal
      • Student’s T
  • Bootstrapping
    • Bootstraps
      • IID Bootstrap
      • Stationary Bootstrap
      • Circular Block Bootstrap
      • Moving Block Bootstrap
    • Methods
      • Confidence interval construction
      • Covariance estimation
      • Apply method to estimate model across bootstraps
      • Generic Bootstrap iterator


See the example notebook for a more complete overview.

import datetime as dt
import as web
st = dt.datetime(1990,1,1)
en = dt.datetime(2014,1,1)
data = web.get_data_yahoo('^FTSE', start=st, end=en)
returns = 100 * data['Adj Close'].pct_change().dropna()

from arch import arch_model
am = arch_model(returns)
res =


Documentation is hosted on read the docs


  • NumPy (1.7+)
  • SciPy (0.12+)
  • Pandas (0.14+)
  • statsmodels (0.5+)
  • matplotlib (1.3+)

Optional Requirements

  • Numba (0.14+), only required if installing using –no-binary


  • Cython (0.20+)
  • nose (For tests)
  • sphinx (to build docs)
  • sphinx-napoleon (to build docs)


Setup does not verify requirements. Please ensure these are installed.


pip install git+git://


Anaconda builds are not currently available for OSX.

conda install -c arch


With a compiler

If you are comfortable compiling binaries on Windows:

pip install git+git://

No Compiler

All binary code is backed by a pure Python implementation. Compiling can be skipped using the flag --no-binary

pip install git+git:// --install-option "--no-binary"

Note that it isn’t possible to run the test suite. It will fail if installed with --no-binary since it tests the Numba implementations against Cython implementations.


conda install -c arch

More about ARCH

More information about ARCH and related models is available in the notes and research available at Kevin Sheppard’s site.


Contributions are welcome. There are opportunities at many levels to contribute:

  • Implement new volatility process, e.g FIGARCH
  • Improve docstrings where unclear or with typos
  • Provide examples, preferably in the form of IPython notebooks

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
arch-2.0-cp27-none-win_amd64.whl (174.7 kB) Copy SHA256 hash SHA256 Wheel 2.7
arch-2.0-cp33-none-win_amd64.whl (166.1 kB) Copy SHA256 hash SHA256 Wheel 3.3
arch-2.0-cp34-none-win_amd64.whl (166.1 kB) Copy SHA256 hash SHA256 Wheel 3.4
arch-2.0.tar.bz2 (45.9 kB) Copy SHA256 hash SHA256 Source None (400.2 kB) Copy SHA256 hash SHA256 Windows Installer 2.7 (390.2 kB) Copy SHA256 hash SHA256 Windows Installer 3.3 (390.2 kB) Copy SHA256 hash SHA256 Windows Installer 3.4 (68.2 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page