Learn R Programming

ExtremeRisks (version 0.0.4-1)

MLTailIndex: Maximum Likelihood Tail Index Estimation

Description

Computes a point and interval estimate of the tail index based on the Maximum Likelihood (ML) estimator.

Usage

MLTailIndex(data, k, var=FALSE, varType="asym-Dep", bigBlock=NULL,
            smallBlock=NULL, alpha=0.05)

Value

A list with elements:

  • gammaHat: an estimate of tail index \(\gamma\);

  • VarGamHat: an estimate of the variance of the ML estimator;

  • CIgamHat: an estimate of the approximate \((1-\alpha)100\%\) confidence interval for \(\gamma\).

Arguments

data

A vector of \((1 \times n)\) observations.

k

An integer specifying the value of the intermediate sequence \(k_n\). See Details.

var

If var=TRUE then an estimate of the asymptotic variance of the tail index estimator is computed.

varType

A string specifying the asymptotic variance to compute. By default varType="asym-Dep" specifies the variance estimator for serial dependent observations. See Details.

bigBlock

An interger specifying the size of the big-block used to estimaste the asymptotic variance. See Details.

smallBlock

An interger specifying the size of the small-block used to estimaste the asymptotic variance. See Details.

alpha

A real in \((0,1)\) specifying the confidence level \((1-\alpha)100\%\) of the approximate confidence interval for the tail index.

Details

For a dataset data of sample size \(n\), the tail index \(\gamma\) of its (marginal) distribution is computed by applying the ML estimator. The observations can be either independent or temporal dependent.

  • k or \(k_n\) is the value of the so-called intermediate sequence \(k_n\), \(n=1,2,\ldots\). Its represents a sequence of positive integers such that \(k_n \to \infty\) and \(k_n/n \to 0\) as \(n \to \infty\). Practically, the value \(k_n\) specifies the numer of k\(+1\) larger order statistics to be used to estimate \(\gamma\).

  • If var=TRUE then the asymptotic variance of the Hill estimator is computed. With independent observations the asymptotic variance is estimated by the formula in Theorem 3.4.2 of de Haan and Ferreira (2006). This is achieved through varType="asym-Ind". With serial dependent observations the asymptotic variance is estimated by the formula in 1288 in Drees (2000). This is achieved through varType="asym-Dep". In this latter case the serial dependence is estimated by exploiting the "big blocks seperated by small blocks" techinque which is a standard tools in time series, see Leadbetter et al. (1986). See also formula (11) in Drees (2003). The size of the big and small blocks are specified by the parameters bigBlock and smallBlock, respectively.

  • Given a small value \(\alpha\in (0,1)\) then an asymptotic confidence interval for the tail index, with approximate nominal confidence level \((1-\alpha)100\%\) is computed.

References

Anthony C. Davison, Simone A. Padoan and Gilles Stupfler (2023). Tail Risk Inference via Expectiles in Heavy-Tailed Time Series, Journal of Business & Economic Statistics, 41(3) 876-889.

Drees, H. (2000). Weighted approximations of tail processes for \(\beta\)-mixing random variables. Annals of Applied Probability, 10, 1274-1301.

de Haan, L. and Ferreira, A. (2006). Extreme Value Theory: An Introduction. Springer-Verlag, New York.

Leadbetter, M.R., Lindgren, G. and Rootzen, H. (1989). Extremes and related properties of random sequences and processes. Springer.

See Also

HTailIndex, MomTailIndex, EBTailIndex

Examples

Run this code
# Tail index estimation based on the Maximum Likelihood estimator obtained with
# 1-dimensional data simulated from an AR(1) with univariate Student-t
# distributed innovations

tsDist <- "studentT"
tsType <- "AR"

# parameter setting
corr <- 0.8
df <- 3
par <- c(corr, df)

# Big- small-blocks setting
bigBlock <- 65
smallBlock <- 15

# Number of larger order statistics
k <- 150

# sample size
ndata <- 2500

# Simulates a sample from an AR(1) model with Student-t innovations
data <- rtimeseries(ndata, tsDist, tsType, par)

# tail index estimation
gammaHat <- MLTailIndex(data, k, TRUE, bigBlock=bigBlock, smallBlock=smallBlock)
gammaHat$gammaHat
gammaHat$CIgamHat

Run the code above in your browser using DataLab