Home

Awesome

Using python to work with time series data

The python ecosystem contains different packages that can be used to process time series.

The following list is by no means exhaustive, feel free to edit the list (will propose a file change via PR) if you miss anything.

Machine learning, statistics, analytics

Libraries

Project NameDescription
ArrowA sensible, human-friendly approach to creating, manipulating, formatting and converting dates, times, and timestamps
bta-libTechnical Analysis library in pandas for backtesting algotrading and quantitative analysis
cesiumTime series platform with feature extraction aiming for non uniformly sampled signals
DartsA library making it very easy to produce forecasts using a wide range of models, from ARIMA to deep learning. Also does ensembling, model selection and more.
ETNAA python library for time series forecasting and analysis with temporal data structure always in mind. Includes a variety of predictive models with unified interface along with EDA and validation methods
GENDISShapelet discovery by genetic algorithms
glm-sklearnscikit-learn compatible wrapper around the GLM module in statsmodels
FeaturetoolsTime series feature extraction, with possible conditionality on other variables with a pandas compatible relational-database-like data container
fecon235Computational tools for financial economics
ffnfinancial function library
flintA Time Series Library for Apache Spark
Flow ForecastFlow Forecast is a deep learning for time series forecasting, classification, and anomaly detection framework built in PyTorch
hctsaMatlab based feature extraction which can be controlled from python
HMMLearnHidden Markov Models with scikit-learn compatible API
khiva-pythonA Time Series library with accelerated analytics on GPUS, it provides feature extraction and motif discovery among other functionalities.
matrixprofile-tsPython implementation of the Matrix Profile algorithm which offers anomaly detection and pattern (or “motif”) discovery at the same time.
NitimeTimeseries analysis for neuroscience data
OrbitOrbit is a Python package for Bayesian time series forecasting and inference
Pandas TAAn easy to use Python 3 Pandas Extension with 130+ Technical Analysis Indicators
PastasTimeseries analysis for hydrological data
prophetTime series forecasting for time series data that has multiple seasonality with linear or non-linear growth
pyDSEARMA models for Dynamic System Estimation
pyFTSFuzzy set rule-based models for time series forecasting, including multi-step, point, interval and probabilistic forecasting
PyFluxClassical time series forecasting models
pysfA scikit-learn compatible machine learning library for supervised/panel forecasting
pyramidport of R's auto.arima method to Python
pytorch-forecastingA time series forecasting library using PyTorch with various state-of-the-art network architectures.
pytsContains time series preprocessing, transformation as well as classification techniques
rupturesProvides methods to find change points in time series such as shifts in the mean or scale of the signal as well as more complex changes in the probability distribution or frequency.
seglearnExtends the scikit-learn pipeline concept to sequence data
sktimeA scikit-learn compatible library for learning with time series/panel data including time series classification/regression and (supervised/panel) forecasting
statsmodelsContains a submodule for classical time series models and hypothesis tests
stumpyCalculates matrix profile for time series subsequence all-pairs-similarity-search
TensorFlow-Time-Series-ExamplesTime Series Prediction with tf.contrib.timeseries
tensorflow_probability.stsBayesian Structural Time Series model in Tensorflow Probability
timemachinesFunctional interface to prophet and other packages, with Elo ratings
TracesA library for unevenly-spaced time series analysis
ta-libCalculate technical indicators for financial time series (python wrapper around TA-Lib)
tsaiState-of-the-art Deep Learning with Time Series and Sequences in Pytorch / fastai
taCalculate technical indicators for financial time series
TIMEXLibrary for creating time-series-forecasting-as-a-service platforms/websites, with a fully automated data ingestion, pre-processing, prediction and results visualization pipeline.
tsflexA toolkit for flexible time series processing and feature extraction.
tsfreshExtracts and filters features from time series, allowing supervised classificators and regressor to be applied to time series data
tslearnDirect time series classifiers and regressors
tspreprocessPreprocess time series (resampling, denoising etc.), still WIP
tsmoothieA python library for time-series smoothing and outlier detection in a vectorized way

Examples or singular models

Project NameDescription
ES-RNN forecasting algorithmPython implementation of the winning forecasting method of the M4 competition combining exponential smoothing with a recurrent neural network using PyTorch
Deep learning methods for time series classificationA collection of common deep learning architectures for time series classification
LSTM-Neural-Network-for-Time-Series-PredictionLSTM based forecasting model
LSTM_tscAn LSTM based time-series classification neural network
shapelets-pythonShapelet Classifier based on a multi layer neural network
M4 competitionCollection of statistical and machine learning forecasting methods
UCR_Time_Series_Classification_Deep_Learning_BaselineFully Convolutional Neural Networks for state-of-the-art time series classification
WTTE-RNNTime to Event forecast by RNN based Weibull density estimation

Time series data container

Project nameDescription
FeaturetoolsTime series feature extraction, with possible conditionality on other variables with a pandas compatible relational-database-like data container
pysfA scikit-learn compatible library for supervised forecasting
xarrayLabelled, multi-dimensional data structures as long as they have a shared time index
xpandasLabelled 1D and 2D data container for storing type-heterogeneous tabular data of any type, including time series, and encapsulates feature extraction and transformation modelling in an sklearn-compatible transformer interface, work in progress.

Data sets

Project NameDescription
awesome-public-datasetsThis huge list of public datasets also has a section on time series datasets
ecmwf_modelsReaders and converters for climate reanalysis data
M4 competitionForecasting competition on 100,000 time series
pandas-datareaderPulls financial data from different sources (e.g. yahoo, google, Quandl)
Timeseriesclassification.comAn extensive repository for time series classification datasets

Databases, frameworks

Project NameDescription
articHigh performance datastore for time series and tick data
automl_serviceFully automated time series classification pipeline, deployed as a web service
cesiumTime series platform with feature extraction aming for non uniformly sampled signals
thunderscalable analysis of image and time series data in python based on spark
whisperFile-based time-series database format

Free courses

Project NameDescription
Time Series ForecastingUdacity free course to learn about how to build and apply time series analysis/forecasting in business contexts

Discussion

We would like to trigger a homogenization of the formats which are used in the python time series community, please see the concept page