# gpd.tail: POT ESTIMATION OF A GENERALIZED PARETO DISTRIBUTION In Rsafd: Statistical Analysis of Financial Data in R

## Description

Semi-parametric estimation based on the Peaks over Threshold (POT) method.of a distribution with upper and possibly lower tail have the same size as the tail of a generalized Pareto distribution.

## Usage

 ```1 2``` ``` gpd.tail(data, one.tail=F, upper = NA, lower = NA, upper.method ="ml", lower.method="ml", plot = T, ...) ```

## Arguments

 `data` A numerical vector of sample data values `Optional Arguments` `one.tail` Logical which should be set to `TRUE` when the sample is limited to the left `upper` The value of the upper threshold. A Generalized Pareto distribution is fitted to the data exceeding this threshold. If its value is missing, `upper` is estimated so that either 15% of the data samples, or exactly 150 values, whichever number is greater, are greater than the upper threshold. `lower` The value of the lower threshold. A Generalized Pareto distribution is fitted to the data below this threshold. If its value is missing, it is estimated so that either 15% of the data samples, or exactly 150 values, whichever number is smaller, is smaller than the lower threshold. `upper.method` Character string which can be either "ml" or "lmom" depending upon the choice of the method used to estimate the parameters of the generalized Pareto distribution fitted to the part of the data exceeding `upper` `lower.method` Character string which can be either "ml" or "lmom" depending upon the choice of the method used to estimate the parameters of the generalized Pareto distribution fitted to the part of the data below `lower` `plot` If `TRUE` (default), for each tail, a plot of the excesses over threshold against the quantiles of the GPD with the same shape parameter is produced. The fact that the points line up supports the assumption about the (generalized) Pareto nature of the tail in question.

## Value

The value of `gpd.tail` is an object of class `gpd`. It is a list containing fields: length of the data, sorted vector of data points, the value of upper threshold, and estimates of GPD shape and scale parameter for the tail. and representing threshold and parameter estimates for the lower tail.

## Note

If `plot = TRUE` a plot of the exceedences over the threshold against the quantiles of the estimated GPD is produced for each of the tails studied.

The semiparametric estimation performed by this function was done by the functions `pot.1tail.est` and `pot.2tails.est` in the original `EVANESCE` library. These functions were included in the `FinMetrics` library of `S-Plus` under the name of `gpd.tail` to avoid confusion with the similar function `gpd` contributed by Mc Neil. We named it `gpd.tail` for backward compatibility with `FinMetrics`.

## Author(s)

Rene Carmona, [email protected]

`gpd.lm`, `gpd.lmom`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19``` ```# One tail data("BCofLRet") NZ <- (BCofLRet !=0) BLRet <- BCofLRet[NZ] X <- BLRet[BLRet > 0] x.est <- gpd.tail(X,one.tail=TRUE,upper=0.04) y <- c(10:500)/1000 plot(y, gpd.1p(y,x.est), log = "x", type = "l") big.X <- sort(X) > 0.01 points((sort(X))[big.X], (ppoints(sort(X)))[big.X]) # random generation from this distribution: X <- BLRet[BLRet != 0] x.est <- gpd.tail(X, upper = 0.015, lower = -0.015, method = "lmom") n <- length(X) Y <- gpd.2q(runif(n), x.est) plot(X, ylim = c(-0.3,0.3)) plot(Y, col = 4, ylim = c(-0.3,0.3)) ```