Metadata-Version: 2.0
Name: arch
Version: 3.0
Summary: ARCH for Python
Home-page: http://github.com/bashtage/arch
Author: Kevin Sheppard
Author-email: kevin.sheppard@economics.ox.ac.uk
License: NCAA
Keywords: arch,ARCH,variance,econometrics,volatility,finance,GARCH,bootstrap,random walk,unit root,Dickey Fuller,time series,confidence intervals
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
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: numpy (>=1.7)
Requires-Dist: scipy (>=0.12)
Requires-Dist: Cython (>=0.20)
Requires-Dist: matplotlib (>=1.2)
Requires-Dist: patsy (>=0.2)
Requires-Dist: pandas (>=0.12)
Requires-Dist: statsmodels (>=0.5)

|Documentation Status| |CI Status| |Coverage Status|

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.7+)
-  SciPy (0.12+)
-  Pandas (0.14+)
-  statsmodels (0.5+)
-  matplotlib (1.3+)

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

-  Numba (0.15+) will be used if available and when installed using
   --no-binary

Installing
~~~~~~~~~~

-  Cython (0.20+, if not using --no-binary)
-  nose (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+git://github.com/bashtage/arch.git

**Anaconda**

*Anaconda builds are not currently available for OSX.*

::

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

Windows
~~~~~~~

**With a compiler**

If you are comfortable compiling binaries on Windows:

::

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

*Note: the test suite compares the Numba implementations against Cython
implementations of some recursions, and so it is not possible to run the
test suite when installing with* ``--no-binary`` .

**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/
.. |CI Status| image:: https://travis-ci.org/bashtage/arch.svg?branch=master
   :target: https://travis-ci.org/bashtage/arch
.. |Coverage Status| image:: https://coveralls.io/repos/bashtage/arch/badge.png?branch=master
   :target: https://coveralls.io/r/bashtage/arch?branch=master


