Skip to main content

Hurst exponent evaluation and R/S-analysis

Project description

hurst

Hurst exponent evaluation and R/S-analysis

pypi Python 2.7 Python 3x Build Status

hurst is a small Python module for analysing random walks and evaluating the Hurst exponent (H).

H = 0.5 — Brownian motion,
0.5 < H < 1.0 — persistent behavior,
0 < H < 0.5 — anti-persistent behavior.

Usage

Install hurst module with

pip install hurst

or

pip install -e https://github.com/Mottl/hurst
import matplotlib.pyplot as plt
import numpy as np
import matplotplotlib.pyplot as plt
from hurst import compute_Hc, random_walk

# Use random_walk() function or generate a random walk series manually:
# series = random_walk(99999, cumprod=True)
np.random.seed(42)
random_changes = 1. + np.random.randn(99999) / 1000.
series = np.cumprod(random_changes)  # create a random walk from random changes

# Evaluate Hurst equation
H, c, data = compute_Hc(series, kind='price', simplified=True)

# Plot
f, ax = plt.subplots()
ax.plot(data[0], c*data[0]**H, color="deepskyblue")
ax.scatter(data[0], data[1], color="purple")
ax.set_xscale('log')
ax.set_yscale('log')
ax.set_xlabel('Time interval')
ax.set_ylabel('R/S ratio')
ax.grid(True)
plt.show()

print("H={:.4f}, c={:.4f}".format(H,c))

R/S analysis

H=0.4964, c=1.4877

Brownian motion, persistent and antipersistent random walks

You can generate random walks with random_walk() function as following:

Brownian

brownian = random_walk(99999, proba=0.5)

Brownian motion

Persistent

persistent = random_walk(99999, proba=0.7)

Persistent random walk

Antipersistent

antipersistent = random_walk(99999, proba=0.3)

Antipersistent random walk

Project details


Download files

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

Source Distribution

hurst-0.0.3.tar.gz (4.4 kB view hashes)

Uploaded Source

Built Distribution

hurst-0.0.3-py3-none-any.whl (4.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page