Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adamvvu/tsfracdiff
Efficient and easy to use fractional differentiation transformations for stationarizing time series data in Python.
https://github.com/adamvvu/tsfracdiff
data-science machine-learning python quantitative-finance
Last synced: 4 days ago
JSON representation
Efficient and easy to use fractional differentiation transformations for stationarizing time series data in Python.
- Host: GitHub
- URL: https://github.com/adamvvu/tsfracdiff
- Owner: adamvvu
- License: mit
- Created: 2022-05-06T00:03:21.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-02-10T12:23:00.000Z (almost 2 years ago)
- Last Synced: 2024-10-21T10:52:24.506Z (26 days ago)
- Topics: data-science, machine-learning, python, quantitative-finance
- Language: Python
- Homepage:
- Size: 479 KB
- Stars: 18
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Build](https://img.shields.io/github/actions/workflow/status/adamvvu/tsfracdiff/tsfracdiff_tests.yml?style=for-the-badge)](https://github.com/adamvvu/tsfracdiff/actions/workflows/tsfracdiff_tests.yml)
[![PyPi](https://img.shields.io/pypi/v/tsfracdiff?style=for-the-badge)](https://pypi.org/project/tsfracdiff/)
[![Downloads](https://img.shields.io/pypi/dm/tsfracdiff?style=for-the-badge)](https://pypi.org/project/tsfracdiff/)
[![License](https://img.shields.io/badge/license-MIT-green?style=for-the-badge)](https://github.com/adamvvu/tsfracdiff/blob/master/LICENSE)Efficient and easy to use fractional differentiation transformations for
stationarizing time series data in Python.------------------------------------------------------------------------
## **tsfracdiff**
Data with high persistence, serial correlation, and non-stationarity
pose significant challenges when used directly as predictive signals in
many machine learning and statistical models. A common approach is to
take the first difference as a stationarity transformation, but this
wipes out much of the information available in the data. For datasets
where there is a low signal-to-noise ratio such as financial market
data, this effect can be particularly severe. Hosking (1981) introduces
fractional (non-integer) differentiation for its flexibility in modeling
short-term and long-term time series dynamics, and López de Prado (2018)
proposes the use of fractional differentiation as a feature
transformation for financial machine learning applications. This library
is an extension of their ideas, with some modifications for efficiency
and robustness.[Documentation](https://adamvvu.github.io/tsfracdiff/docs/)
## Getting Started
### Installation
`pip install tsfracdiff`
#### Dependencies:
# Required
python3 # Python 3.7+
numpy
pandas
arch# Suggested
joblib### Usage
``` python
# A pandas.DataFrame/np.array with potentially non-stationary time series
df# Automatic stationary transformation with minimal information loss
from tsfracdiff import FractionalDifferentiator
fracDiff = FractionalDifferentiator()
df = fracDiff.FitTransform(df)
```For a more in-depth example, see this
[notebook](https://adamvvu.github.io/tsfracdiff/examples/Example.html).## References
Hosking, J. R. M. (1981). Fractional Differencing. Biometrika, 68(1),
165--176.López de Prado, Marcos (2018). Advances in Financial Machine Learning.
John Wiley & Sons, Inc.