It is reasonable to ask whether a given financial time series is predictable before going about creating a model to predict it. One of the techniques available to do this is the Rescaled Range algorithm, which provides a numerical estimate of the predictability of a time series known as the Hurst Exponent. The reason the Hurst Exponent is an estimate and not a definitive measure is because the algorithm operates under the assumption that the time series is a pure fractal, which of course is not entirely true for most financial time series. This however is of low importance and what really makes the Hurst Exponent appealing is that it provides a means of classifying time series. This is a very useful statistical measure for comparing a model’s performance across different sections of financial data. Here I describe the R/S algorithm and provide an example of a time series whose hurst we calculate.

In terms of data flow, the Rescaled Range algorithm applied to a financial time series is as follows:

hurstAlgo3.png

The value of the Hurst Exponent is in the range 0 to 1 where 0 means the returns time series is unpredictable and 1 means the returns time series is predictable. It is worth pointing out that the Hurst exponent is calculated for the returns time series, and not the actual time series showing absolute prices. More formally we have

hurstTable2.png

  • H < 0.5 indicates an anti-persistent returns time series which means future values will always have a tendency to return to a longer term mean value. The strength of this mean reversion increases as H approaches 0.
  • H = 0.5 indicates a random walk and so there is a 50% probability that future return values will go either up or down.
  • H > 0.5 indicates the returns time series is trending the strength of which increases as H approaches 1. Series of this type are easier to predict than series falling in the other two categories

Calculating the Hurst Exponent

As outlined in [Rasheed, K. et al], for a returns time series

_1.png

We apply the following steps with

0.png

1. Calculate the mean

1.png

2. Calculate the mean adjusted series

2.png

3. Calculate the cumulative deviate series

3.png

4. Calculate the range series

4.png

5. Calculate the standard deviation series

5.png

6. Calculate the rescaled range series

6.png

7. The rescaled range scales by a power-law as time increases, such that

7.png

8. In order to calculate the hurst exponent we can take the base-n logarithm of the above equation, which gives

last.png

Recall that the form of the above equation is that of a straight line. We can obtain the value of H by calculating the slope of the linear relationship between log(R/S) and log(t). This requires a regression as the line of slope will not always be perfectly straight.

Example

Lets consider the following 1024 bar time series for an equity index. This is a reproduction of results from [Rasheed, K. et al]

 

actual.png

In order to calculate the Hurst for this interval, we first need to obtain the returns time series:

 

returns.png

Applying the algorithm to the returns time series we find individual points align in a near straight line fashion, the slope of which gives us the Hurst exponent. Note that we chose 1024 points so that we can easily apply base 2 logarithm. A different base can be used instead, but base 2 allows calculation with fewest data points.

 

hurstRegress.png

Practical Applications of the Hurst Exponent

  1. The hurst provides a method of classifying time series, which can be beneficial in identifying for instance which stocks have greater short term predictability. We could create a portfolio consisting of stocks with particular hurst values and investigate their profit generating characteristics.
  2. An application involving automated trading could be something like this: If a particular asset has it’s hurst drop below a threshold value, all investment positions in this asset could be closed in response to a “regime shift”.
  3. In conjunction with biologically inspired algorithms, hurst classification can help determine which assets to forecast and which ones to ignore. This can be particularly useful in neural nets where models can focus more on time series with higher predictability.

In a future post I will show that Evolutionary Algorithms generate greater profit when applied to time series with hurst greater than 0.5 than time series with hurst below 0.5.