PINE LIBRARY

HurstExponent

Library "HurstExponent"
Library to calculate Hurst Exponent refactored from Hurst Exponent - Detrended Fluctuation Analysis [pig]

demean(src) Calculates a series subtracted from the series mean.
  Parameters:
    src: The series used to calculate the difference from the mean (e.g. log returns).
  Returns: The series subtracted from the series mean

cumsum(src, length) Calculates a cumulated sum from the series.
  Parameters:
    src: The series used to calculate the cumulative sum (e.g. demeaned log returns).
    length: The length used to calculate the cumulative sum (e.g. 100).
  Returns: The cumulative sum of the series as an array

aproximateLogScale(scale, length) Calculates an aproximated log scale. Used to save sample size
  Parameters:
    scale: The scale to aproximate.
    length: The length used to aproximate the expected scale.
  Returns: The aproximated log scale of the value

rootMeanSum(cumulativeSum, barId, numberOfSegments) Calculates linear trend to determine error between linear trend and cumulative sum
  Parameters:
    cumulativeSum: The cumulative sum array to regress.
    barId: The barId for the slice
    numberOfSegments: The total number of segments used for the regression calculation
  Returns: The error between linear trend and cumulative sum

averageRootMeanSum(cumulativeSum, barId, length) Calculates the Root Mean Sum Measured for each block (e.g the aproximated log scale)
  Parameters:
    cumulativeSum: The cumulative sum array to regress and determine the average of.
    barId: The barId for the slice
    length: The length used for finding the average
  Returns: The average root mean sum error of the cumulativeSum

criticalValues(length) Calculates the critical values for a hurst exponent for a given length
  Parameters:
    length: The length used for finding the average
  Returns: The critical value, upper critical value and lower critical value for a hurst exponent

slope(cumulativeSum, length) Calculates the hurst exponent slope measured from root mean sum, scaled to log log plot using linear regression
  Parameters:
    cumulativeSum: The cumulative sum array to regress and determine the average of.
    length: The length used for the hurst exponent sample size
  Returns: The slope of the hurst exponent

smooth(src, length) Smooths input using advanced linear regression
  Parameters:
    src: The series to smooth (e.g. hurst exponent slope)
    length: The length used to smooth
  Returns: The src smoothed according to the given length

exponent(src, hurstLength) Wrapper function to calculate the hurst exponent slope
  Parameters:
    src: The series used for returns calculation (e.g. close)
    hurstLength: The length used to calculate the hurst exponent (should be greater than 50)
  Returns: The src smoothed according to the given length
detrendedfluctuationanalysishursthurstexponentmomentsstatistics

Pine library

In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in a publication is governed by House rules.

Disclaimer