CTE: Conditional Tail Expectation

View source: R/CTE.R

CTER Documentation

Conditional Tail Expectation


Conditional Tail Expectation, also called Tail Value-at-Risk.

TVaR is an alias for CTE.


CTE(x, ...)

## S3 method for class 'aggregateDist'
CTE(x, conf.level = c(0.9, 0.95, 0.99),
         names = TRUE, ...)

TVaR(x, ...)



an R object.


numeric vector of probabilities with values in [0, 1).


logical; if true, the result has a names attribute. Set to FALSE for speedup with many probs.


further arguments passed to or from other methods.


The Conditional Tail Expectation (or Tail Value-at-Risk) measures the average of losses above the Value at Risk for some given confidence level, that is E[X|X > \mathrm{VaR}(X)] where X is the loss random variable.

CTE is a generic function with, currently, only a method for objects of class "aggregateDist".

For the recursive, convolution and simulation methods of aggregateDist, the CTE is computed from the definition using the empirical cdf.

For the normal approximation method, an explicit formula exists:

\mu + \frac{\sigma}{(1 - \alpha) \sqrt{2 \pi}} e^{-\mathrm{VaR}(X)^2/2},

where \mu is the mean, \sigma the standard deviation and \alpha the confidence level.

For the Normal Power approximation, the explicit formula given in Castañer et al. (2013) is

\mu + \frac{\sigma}{(1 - \alpha) \sqrt{2 \pi}} e^{-\mathrm{VaR}(X)^2/2} \left( 1 + \frac{\gamma}{6} \mathrm{VaR}(X) \right),

where, as above, \mu is the mean, \sigma the standard deviation, \alpha the confidence level and \gamma is the skewness.


A numeric vector, named if names is TRUE.


Vincent Goulet vincent.goulet@act.ulaval.ca and Tommy Ouellet


Castañer, A. and Claramunt, M.M. and Mármol, M. (2013), Tail value at risk. An analysis with the Normal-Power approximation. In Statistical and Soft Computing Approaches in Insurance Problems, pp. 87-112. Nova Science Publishers, 2013. ISBN 978-1-62618-506-7.

See Also

aggregateDist; VaR


model.freq <- expression(data = rpois(7))
model.sev <- expression(data = rnorm(9, 2))
Fs <- aggregateDist("simulation", model.freq, model.sev, nb.simul = 1000)

actuar documentation built on Nov. 8, 2023, 9:06 a.m.