Calculates the generalized Hurst exponent H(q) of a stochastic variable x(t) (a time series) from the scaling of the renormalized q-moments of the distribution
<|x(t+r)-x(t)|^q>/<x(t)^q> ~ r^[qH(q)]
The value of H(q) give indication about the fractal nature of the signal. H(q) = 0.5 corresponds to a Brownian motion, deviations form 0.5 and dependency on q are indications of multi-fractality and time-correlations.
Dear Tamaso Aste
I want to know that whether I should use cumsum(data) to the function instead of raw data to get the value of Hurst Exponent.
Thank you very much for sharing the code to enitre community.
I found this very useful. I translated the implementation into Python, with a reference to this FileExchange: https://github.com/PTRRupprecht/GenHurst
good function. THX
a little biased on a pure random walk. is it possible to add corrections/
The Hurst exponent for a random walk is indeed 0.5. The Hurst exponent for a random variable is instead 0. If you apply the genhurst to cumsum(randn) and you will get numbers close to 0.5.
I tried your file with a random time series (both rand and randn) and this values of obtained is close to 0 (although it should be close to 0.5 right?). Can you explain it?
Create scripts with code, output, and formatted text in a single executable document.