Metadata-Version: 2.0
Name: arch
Version: 4.0
Summary: ARCH for Python
Home-page: http://github.com/bashtage/arch
Author: Kevin Sheppard
Author-email: kevin.sheppard@economics.ox.ac.uk
License: NCSA
Keywords: arch,ARCH,variance,econometrics,volatility,finance,GARCH,bootstrap,random walk,unit root,Dickey Fuller,time series,confidence intervals,multiple comparisons,Reality Check,SPA,StepM
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: License :: OSI Approved
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python
Classifier: Programming Language :: Cython
Classifier: Topic :: Scientific/Engineering
Requires-Dist: Cython (>=0.22)
Requires-Dist: matplotlib (>=1.4)
Requires-Dist: pandas (>=0.16)
Requires-Dist: patsy (>=0.2)
Requires-Dist: scipy (>=0.15)
Requires-Dist: statsmodels (>=0.6)

|Documentation Status| |Travis Build Status| |Appveyor Build Status|
|Coverage Status| |codecov| |Code Health| |DOI|

ARCH
====

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 <#volatility>`__
-  `Unit Root Tests <#unit-root>`__
-  `Bootstrapping <#bootstrap>`__
-  `Multiple Comparison Tests <#multiple-comparison>`__

Documentation
-------------

Documentation is hosted on `read the
docs <http://arch.readthedocs.org/en/latest/>`__

More about ARCH
---------------

More information about ARCH and related models is available in the notes
and research available at `Kevin Sheppard's
site <http://www.kevinsheppard.com>`__.

Contributing
------------

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

Examples
--------

Volatility Modeling
~~~~~~~~~~~~~~~~~~~

-  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

See the `univariate volatility example
notebook <http://nbviewer.ipython.org/github/bashtage/arch/blob/master/examples/univariate_volatility_modeling.ipynb>`__
for a more complete overview.

.. code:: python

    import datetime as dt
    import pandas.io.data 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 = am.fit()

Unit Root Tests
~~~~~~~~~~~~~~~

-  Augmented Dickey-Fuller
-  Dickey-Fuller GLS
-  Phillips-Perron
-  KPSS
-  Variance Ratio tests

See the `unit root testing example
notebook <http://nbviewer.ipython.org/github/bashtage/arch/blob/master/examples/unitroot_examples.ipynb>`__
for examples of testing series for unit roots.

Bootstrap
~~~~~~~~~

-  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 `bootstrap example
notebook <http://nbviewer.ipython.org/github/bashtage/arch/blob/master/examples/bootstrap_examples.ipynb>`__
for examples of bootstrapping the Sharpe ratio and a Probit model from
Statsmodels.

.. code:: python

    # Import data
    import datetime as dt
    import pandas as pd
    import pandas.io.data as web
    start = dt.datetime(1951,1,1)
    end = dt.datetime(2014,1,1)
    sp500 = web.get_data_yahoo('^GSPC', start=start, end=end)
    start = sp500.index.min()
    end = sp500.index.max()
    monthly_dates = pd.date_range(start, end, freq='M')
    monthly = sp500.reindex(monthly_dates, method='ffill')
    returns = 100 * monthly['Adj Close'].pct_change().dropna()

    # Function to compute parameters
    def sharpe_ratio(x):
        mu, sigma = 12 * x.mean(), np.sqrt(12 * x.var())
        return np.array([mu, sigma, mu / sigma])

    # Bootstrap confidence intervals
    from arch.bootstrap import IIDBootstrap
    bs = IIDBootstrap(returns)
    ci = bs.conf_int(sharpe_ratio, 1000, method='percentile')    

Multiple Comparison Procedures
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-  Test of Superior Predictive Ability (SPA), also known as the Reality
   Check or Bootstrap Data Snooper
-  Stepwise (StepM)
-  Model Confidence Set (MCS)

See the `multiple comparison example
notebook <http://nbviewer.ipython.org/github/bashtage/arch/blob/master/examples/multiple-comparison_examples.ipynb>`__
for examples of the multiple comparison procedures.

Requirements
------------

-  NumPy (1.9+)
-  SciPy (0.15+)
-  Pandas (0.16+)
-  statsmodels (0.6+)
-  matplotlib (1.3+)

Optional Requirements
~~~~~~~~~~~~~~~~~~~~~

-  Numba (0.21+) will be used if available **and** when installed using
   the --no-binary option
-  IPython (4.0+) is required to run the notebooks

Installing
~~~~~~~~~~

-  Cython (0.20+, if not using --no-binary)
-  py.test (For tests)
-  sphinx (to build docs)
-  sphinx-napoleon (to build docs)

**Note**: Setup does not verify requirements. Please ensure these are
installed.

Linux/OSX
~~~~~~~~~

::

    pip install git+https://github.com/bashtage/arch.git

**Anaconda**

*Anaconda builds are not currently available for OSX.*

::

    conda install -c https://conda.binstar.org/bashtage arch

Windows
~~~~~~~

Building extension using the community edition of Visual Studio is well
supported for Python 3.5. Building extensions for 64-bit Windows for use
in Python 2.7 is also supported using Microsoft Visual C++ Compiler for
Python 2.7. Building on combinations of Python/Windows is more difficult
and is not necessary when Numba is installed since just-in-time compiled
code (Numba) runs as fast as ahead-of-time compiled extensions.

**With a compiler**

If you are comfortable compiling binaries on Windows:

::

    pip install git+https://github.com/bashtage/arch.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+https://github.com/bashtage/arch.git --install-option "--no-binary"

*Note*: If Cython is not installed, the package will be installed as-if
--no-binary was used.

**Anaconda**

::

    conda install -c https://conda.binstar.org/bashtage arch

.. |Documentation Status| image:: https://readthedocs.org/projects/arch/badge/?version=latest
   :target: http://arch.readthedocs.org/en/latest/
.. |Travis Build Status| image:: https://travis-ci.org/bashtage/arch.svg?branch=master
   :target: https://travis-ci.org/bashtage/arch
.. |Appveyor Build Status| image:: https://ci.appveyor.com/api/projects/status/nmt02u7jwcgx7i2x?svg=true
   :target: https://ci.appveyor.com/project/bashtage/arch/branch/master
.. |Coverage Status| image:: https://coveralls.io/repos/bashtage/arch/badge.svg?branch=master
   :target: https://coveralls.io/r/bashtage/arch?branch=master
.. |codecov| image:: https://codecov.io/gh/bashtage/arch/branch/master/graph/badge.svg
   :target: https://codecov.io/gh/bashtage/arch
.. |Code Health| image:: https://landscape.io/github/bashtage/arch/master/landscape.svg?style=flat
   :target: https://landscape.io/github/bashtage/arch/master
.. |DOI| image:: https://zenodo.org/badge/doi/10.5281/zenodo.15681.svg
   :target: http://dx.doi.org/10.5281/zenodo.15681


