diff --git a/README.md b/README.md index caced96e5e..8f91843f7c 100644 --- a/README.md +++ b/README.md @@ -6,31 +6,31 @@ Autoregressive Conditional Heteroskedasticity (ARCH) and other tools for financial econometrics, written in Python (with Cython and/or Numba used to improve performance) -| | | -| :-------- | :------------- | -| **Latest Release** | [![PyPI version](https://badge.fury.io/py/arch.svg)](https://badge.fury.io/py/arch) | -| | [![Anaconda-Server Badge](https://anaconda.org/bashtage/arch/badges/version.svg)](https://anaconda.org/bashtage/arch) | -| **Continuous Integration** | [![Travis Build Status](https://travis-ci.org/bashtage/arch.svg?branch=master)](https://travis-ci.org/bashtage/arch) | -| | [![Appveyor Build Status](https://ci.appveyor.com/api/projects/status/nmt02u7jwcgx7i2x?svg=true)](https://ci.appveyor.com/project/bashtage/arch/branch/master) | -| **Coverage** | [![Coverage Status](https://coveralls.io/repos/github/bashtage/arch/badge.svg?branch=master)](https://coveralls.io/r/bashtage/arch?branch=master) | -| | [![codecov](https://codecov.io/gh/bashtage/arch/branch/master/graph/badge.svg)](https://codecov.io/gh/bashtage/arch) | -| **Code Quality** | [![Code Quality: Python](https://img.shields.io/lgtm/grade/python/g/bashtage/arch.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/bashtage/arch/context:python) | -| | [![Total Alerts](https://img.shields.io/lgtm/alerts/g/bashtage/arch.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/bashtage/arch/alerts) | -| | [![Codacy Badge](https://api.codacy.com/project/badge/Grade/93f6fd90209842bf97fd20fda8db70ef)](https://www.codacy.com/manual/bashtage/arch?utm_source=github.com&utm_medium=referral&utm_content=bashtage/arch&utm_campaign=Badge_Grade) | -| | [![codebeat badge](https://codebeat.co/badges/18a78c15-d74b-4820-b56d-72f7e4087532)](https://codebeat.co/projects/github-com-bashtage-arch-master) | -| **Citation** | [![DOI](https://zenodo.org/badge/doi/10.5281/zenodo.3551028.svg)](https://doi.org/10.5281/zenodo.3551028) | -| **Documentation** | [![Documentation Status](https://readthedocs.org/projects/arch/badge/?version=latest)](http://arch.readthedocs.org/en/latest/) | +| Metric | | +| :------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Latest Release** | [![PyPI version](https://badge.fury.io/py/arch.svg)](https://badge.fury.io/py/arch) | +| | [![Anaconda-Server Badge](https://anaconda.org/bashtage/arch/badges/version.svg)](https://anaconda.org/bashtage/arch) | +| **Continuous Integration** | [![Travis Build Status](https://travis-ci.org/bashtage/arch.svg?branch=master)](https://travis-ci.org/bashtage/arch) | +| | [![Appveyor Build Status](https://ci.appveyor.com/api/projects/status/nmt02u7jwcgx7i2x?svg=true)](https://ci.appveyor.com/project/bashtage/arch/branch/master) | +| **Coverage** | [![Coverage Status](https://coveralls.io/repos/github/bashtage/arch/badge.svg?branch=master)](https://coveralls.io/r/bashtage/arch?branch=master) | +| | [![codecov](https://codecov.io/gh/bashtage/arch/branch/master/graph/badge.svg)](https://codecov.io/gh/bashtage/arch) | +| **Code Quality** | [![Code Quality: Python](https://img.shields.io/lgtm/grade/python/g/bashtage/arch.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/bashtage/arch/context:python) | +| | [![Total Alerts](https://img.shields.io/lgtm/alerts/g/bashtage/arch.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/bashtage/arch/alerts) | +| | [![Codacy Badge](https://api.codacy.com/project/badge/Grade/93f6fd90209842bf97fd20fda8db70ef)](https://www.codacy.com/manual/bashtage/arch?utm_source=github.com&utm_medium=referral&utm_content=bashtage/arch&utm_campaign=Badge_Grade) | +| | [![codebeat badge](https://codebeat.co/badges/18a78c15-d74b-4820-b56d-72f7e4087532)](https://codebeat.co/projects/github-com-bashtage-arch-master) | +| **Citation** | [![DOI](https://zenodo.org/badge/doi/10.5281/zenodo.3551028.svg)](https://doi.org/10.5281/zenodo.3551028) | +| **Documentation** | [![Documentation Status](https://readthedocs.org/projects/arch/badge/?version=latest)](http://arch.readthedocs.org/en/latest/) | ## Module Contents -* [Univariate ARCH Models](#volatility) -* [Unit Root Tests](#unit-root) -* [Bootstrapping](#bootstrap) -* [Multiple Comparison Tests](#multiple-comparison) +- [Univariate ARCH Models](#volatility) +- [Unit Root Tests](#unit-root) +- [Bootstrapping](#bootstrap) +- [Multiple Comparison Tests](#multiple-comparison) ### Python 3 -``arch`` is Python 3 only. Version 4.8 is the final version that supported Python 2.7. +`arch` is Python 3 only. Version 4.8 is the final version that supported Python 2.7. ## Documentation @@ -46,11 +46,11 @@ research available at [Kevin Sheppard's site](http://www.kevinsheppard.com). ## Contributing -Contributions are welcome. There are opportunities at many levels to contribute: +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 +- Implement new volatility process, e.g., FIGARCH +- Improve docstrings where unclear or with typos +- Provide examples, preferably in the form of IPython notebooks ## Examples @@ -58,22 +58,22 @@ Contributions are welcome. There are opportunities at many levels to contribute ### 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 - * Generalized Error Distribution +- 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 + - Generalized Error Distribution 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. @@ -94,12 +94,12 @@ res = am.fit() ### Unit Root Tests -* Augmented Dickey-Fuller -* Dickey-Fuller GLS -* Phillips-Perron -* KPSS -* Zivot-Andrews -* Variance Ratio tests +- Augmented Dickey-Fuller +- Dickey-Fuller GLS +- Phillips-Perron +- KPSS +- Zivot-Andrews +- 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. @@ -107,18 +107,18 @@ See the [unit root testing example notebook](http://nbviewer.ipython.org/github/ ### 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) +- 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. ```python @@ -151,37 +151,37 @@ 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) +- 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 -These requirements reflect the testing environment. It is possible +These requirements reflect the testing environment. It is possible that arch will work with older versions. -* Python (3.6+) -* NumPy (1.14+) -* SciPy (1.0.1+) -* Pandas (0.23+) -* statsmodels (0.9+) -* matplotlib (2.0+), optional -* property-cached (1.6.3+), optional +- Python (3.6+) +- NumPy (1.14+) +- SciPy (1.0.1+) +- Pandas (0.23+) +- statsmodels (0.9+) +- matplotlib (2.0+), optional +- property-cached (1.6.3+), optional ### Optional Requirements -* Numba (0.35+) will be used if available **and** when installed using the --no-binary option -* jupyter and notebook are required to run the notebooks +- Numba (0.35+) will be used if available **and** when installed using the --no-binary option +- jupyter and notebook are required to run the notebooks ## Installing Standard installation with a compiler requires Cython. If you do not have a compiler installed, the `arch` should still install. You will -see a warning but this can be ignored. If you don't have a compiler, +see a warning but this can be ignored. If you don't have a compiler, `numba` is strongly recommended. ### pip @@ -219,8 +219,8 @@ conda install arch -c bashtage ### Windows Building extension using the community edition of Visual Studio is -well supported for Python 3.6+. Building on other combinations of -Python/Windows is more difficult and is not necessary when numba +well supported for Python 3.6+. Building on other 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. @@ -228,15 +228,15 @@ ahead-of-time compiled extensions. The development requirements are: -* Cython (0.29+, if not using --no-binary) -* pytest (For tests) -* sphinx (to build docs) -* sphinx_material (to build docs) -* jupyter, notebook and nbsphinx (to build docs) +- Cython (0.29+, if not using --no-binary) +- pytest (For tests) +- sphinx (to build docs) +- sphinx_material (to build docs) +- jupyter, notebook and nbsphinx (to build docs) ### Installation Notes 1. If Cython is not installed, the package will be installed as-if `--no-binary` was used. -2. Setup does not verify these requirements. Please ensure these are +2. Setup does not verify these requirements. Please ensure these are installed. diff --git a/doc/source/changes/4.0.txt b/doc/source/changes/4.0.txt index b9a5ce1ae1..9dfa63347c 100644 --- a/doc/source/changes/4.0.txt +++ b/doc/source/changes/4.0.txt @@ -2,13 +2,17 @@ Version 4 ========= -Since 4.11 -========== +Release 4.12 +============ +- Added typing support to all classes, functions and methods (:issue:`338`, + :issue:`341`, :issue:`342`, :issue:`343`, :issue:`345`, :issue:`346`). +- Fixed an issue that caused tests to fail on SciPy 1.4+ (:issue:`339`). - Dropped support for Python 3.5 inline with NEP 29 (:issue:`334`). -- Added methods to compute moment and lower partial moments for standardized residuals. See, - for example, :func:`~arch.univariate.SkewStudent.moment` and +- Added methods to compute moment and lower partial moments for standardized + residuals. See, for example, :func:`~arch.univariate.SkewStudent.moment` and :func:`~arch.univariate.SkewStudent.partial_moment` (:issue:`329`). -- Fixed a bug that produced an OverflowError when a time series has no variance (:issue:`331`). +- Fixed a bug that produced an OverflowError when a time series has no + variance (:issue:`331`). Release 4.11 ============