arch.univariate.hill_estimator

arch.univariate.hill_estimator(std_resid: Sequence[float] | ndarray[tuple[int], dtype[float64]] | Series, k: int | None = None) → float[source]

Hill tail-index estimator of standardized residuals.

Parameters:
std_resid: Sequence[float] | ndarray[tuple[int], dtype[float64]] | Series

Standardized residuals. The estimator is computed from the largest absolute standardized residuals after removing non-finite observations, since the residuals of a fitted model are NaN outside the estimation sample.

k: int | None = None

Number of upper order statistics to use. If not provided, uses int(sqrt(n)) where n is the number of finite residuals. Must be at least 1 and less than the number of non-zero finite residuals.

Returns:

Inverse Hill estimate of the tail index.

Return type:

float

Raises:
  • TypeError – If std_resid cannot be converted to numbers or k is not an integer.

  • ValueError – If std_resid is not 1-d, has fewer than two non-zero finite observations, or k is outside the allowed range.

Notes

The estimator is

\[\hat{\nu} = \left(k^{-1}\sum_{i=1}^k \log X_{n-i+1:n} - \log X_{n-k:n}\right)^{-1}\]

where X contains the positive absolute standardized residuals.