Q:

Why does the Hurst package apply a finite-differencing step before doing rescaled range calculations?

When I look at the code for the compute_Hc function in the Hurst package for Python, there is an initial finite differencing step. Everything else after that agrees with Wikipedia's description of the Hurst exponent except it works with the derivative of the series, instead of the original series.
Their random_walk function, which is supposed to use Fractional Brownian Motion, seems to be in agreement with their compute_Hc function. If you remove the differencing step, then there ends up being disagreement. But then is their random_walk function correctly implemented? Because if it is correctly implemented, then the Wikipedia article needs to be corrected.

A:

i have recently come across the package. I tested the function you reffer to obtained from https://github.com/Mottl/hurst . I tested it on synthetically generated fractional gaussian noise and fractional brownian motion. Indeed when the differencing step is ommited the estimation for the hurst exponent of the fBm series is wrong. However for fGn the estimation is somewhat correct. Bellow you can see the results of this process, for each hurst exponent i generated around 100 fBm and 100 fGn series, using this package https://pypi.org/project/fbm/, and averaged the estimated Hurst exp. 

I think the problem is related to stationarity of the series. In this paper https://pdfs.semanticscholar.org/a4db/ac0f41d17f1fc3fc4d22cbc59cbe1784dcf0.pdf the authors explain that fBm is non-stationary, however it incremental process Z(t) = Y(t) - Y(t-1) is stationary. On the other hand fGn is stationary.

