Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Nonlinear measures for dynamical systems (based on one-dimensional time series)

Project Description

Nolds is a small numpy-based library that provides an implementation and a learning resource for nonlinear measures for dynamical systems based on one-dimensional time series. Currently the following measures are implemented:

sample entropy (sampen)
Measures the complexity of a time-series, based on approximate entropy
correlation dimension (corr_dim)
A measure of the fractal dimension of a time series which is also related to complexity.
Lyapunov exponent (lyap_r, lyap_e)
Positive Lyapunov exponents indicate chaos and unpredictability. Nolds provides the algorithm of Rosenstein et al. (lyap_r) to estimate the largest Lyapunov exponent and the algorithm of Eckmann et al. (lyap_e) to estimate the whole spectrum of Lyapunov exponents.
Hurst exponent (hurst_rs)
The hurst exponent is a measure of the “long-term memory” of a time series. It can be used to determine whether the time series is more, less, or equally likely to increase if it has increased in previous steps. This property makes the Hurst exponent especially interesting for the analysis of stock data.
detrended fluctuation analysis (DFA) (dfa)
DFA measures the Hurst parameter H, which is very similar to the Hurst exponent. The main difference is that DFA can be used for non-stationary processes (whose mean and/or variance change over time).


import nolds
import numpy as np

rwalk = np.cumsum(np.random.random(1000))
h = nolds.dfa(rwalk)


Nolds supports Python 2 (>= 2.7) and 3 (>= 3.4) from one code source. It requires the package numpy.

These are the only hard requirements, but some functions will need other packages:

  • If you want to use the RANSAC algorithm for line fitting, you will also need the package sklearn.
  • For the true random numbers generated by nolds.qrandom you need the package quantumrandom.
  • The plotting functions in nolds.examples require the package matplotlib.


Nolds is available through PyPI and can be installed using pip:

pip install nolds

You can test your installation by running some sample code with:

python -m nolds.examples lyapunov-logistic

Alternatively, if you do not have matplotlib installed, you can run the unittests with:

python -m unittest nolds.test_measures


Nolds is designed as a learning resource for the measures mentioned above. Therefore the corresponding functions feature extensive documentation that not only explains the interface but also the algorithm used and points the user to additional reference code and papers. The documentation can be found in the code, but it is also available as HTML-Version.

The relevant measures can be found in the file nolds/

Contact information

If you have any questions, suggestions or corrections, you can find my contact information on my blog.

Release History

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
nolds-0.4.1-py2.py3-none-any.whl (39.9 kB) Copy SHA256 Checksum SHA256 py2.py3 Wheel Nov 30, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting