ES.SE: Calculates Expected Shortfall(ES) (or Conditional...

Description Usage Arguments Background Note Author(s) References See Also Examples

Description

Calculates Expected Shortfall(ES) (also known as) Conditional Value at Risk(CVaR) or Expected Tail Loss (ETL) for univariate, component, and marginal cases using a variety of analytical methods. The standard error of the estimates can also be computed by supplying the se.method parameter. This function builds upon the same function in PerformanceAnalytics package by adding functionalities to compute the standard errors of the point estimates. The documentation involving computing the point estimate is due to corresponding authors of the PerformanceAnalytics package.

Usage

1
2
3
4
5
ES.SE(R = NULL, p = 0.95, ..., method = c("modified", "gaussian",
  "historical"), clean = c("none", "boudt", "geltner"),
  portfolio_method = c("single", "component"), weights = NULL,
  mu = NULL, sigma = NULL, m3 = NULL, m4 = NULL, invert = TRUE,
  operational = TRUE, se.method = "none")

Arguments

R

a vector, matrix, data frame, timeSeries or zoo object of asset returns

p

confidence level for calculation, default p=.95

...

any other passthru parameters. This include two types of parameters. The first type is parameters associated with the risk/performance measure, such as tail probability for VaR and ES. The second type is the parameters associated with the metohd used to compute the standard error. See SE.IF.iid, SE.IF.cor, SE.BOOT.iid, SE.BOOT.cor for details.

method

one of "modified","gaussian","historical", see Details.

clean

method for data cleaning through Return.clean. Current options are "none", "boudt", or "geltner".

portfolio_method

one of "single","component","marginal" defining whether to do univariate, component, or marginal calc, see Details.

weights

portfolio weighting vector, default NULL, see Details

mu

If univariate, mu is the mean of the series. Otherwise mu is the vector of means of the return series , default NULL, , see Details

sigma

If univariate, sigma is the variance of the series. Otherwise sigma is the covariance matrix of the return series , default NULL, see Details

m3

If univariate, m3 is the skewness of the series. Otherwise m3 is the coskewness matrix of the returns series, default NULL, see Details

m4

If univariate, m4 is the excess kurtosis of the series. Otherwise m4 is the cokurtosis matrix of the return series, default NULL, see Details

invert

TRUE/FALSE whether to invert the VaR measure. see Details.

operational

TRUE/FALSE, default TRUE, see Details.

se.method

a character string indicating which method should be used to compute the standard error of the estimated standard deviation. One of "none" (default), "IFiid", "IFcor", "BOOTiid", "BOOTcor". Currently, it works only when method="historical" and portfolio_method="single".

Background

This function provides several estimation methods for the Expected Shortfall (ES) (also called Expected Tail Loss (ETL) or Conditional Value at Risk (CVaR)) of a return series and the Component ES (ETL/CVaR) of a portfolio.

At a preset probability level denoted c, which typically is between 1 and 5 per cent, the ES of a return series is the negative value of the expected value of the return when the return is less than its c-quantile. Unlike value-at-risk, conditional value-at-risk has all the properties a risk measure should have to be coherent and is a convex function of the portfolio weights (Pflug, 2000). With a sufficiently large data set, you may choose to estimate ES with the sample average of all returns that are below the c empirical quantile. More efficient estimates of VaR are obtained if a (correct) assumption is made on the return distribution, such as the normal distribution. If your return series is skewed and/or has excess kurtosis, Cornish-Fisher estimates of ES can be more appropriate. For the ES of a portfolio, it is also of interest to decompose total portfolio ES into the risk contributions of each of the portfolio components. For the above mentioned ES estimators, such a decomposition is possible in a financially meaningful way.

Note

The option to invert the ES measure should appease both academics and practitioners. The mathematical definition of ES as the negative value of extreme losses will (usually) produce a positive number. Practitioners will argue that ES denotes a loss, and should be internally consistent with the quantile (a negative number). For tables and charts, different preferences may apply for clarity and compactness. As such, we provide the option, and set the default to TRUE to keep the return consistent with prior versions of PerformanceAnalytics, but make no value judgement on which approach is preferable.

Author(s)

Xin Chen, chenx26@uw.edu

References

Boudt, Kris, Peterson, Brian, and Christophe Croux. 2008. Estimation and decomposition of downside risk for portfolios with non-normal returns. 2008. The Journal of Risk, vol. 11, 79-103.

Cont, Rama, Deguest, Romain and Giacomo Scandolo. Robustness and sensitivity analysis of risk measurement procedures. Financial Engineering Report No. 2007-06, Columbia University Center for Financial Engineering.

Laurent Favre and Jose-Antonio Galeano. Mean-Modified Value-at-Risk Optimization with Hedge Funds. Journal of Alternative Investment, Fall 2002, v 5.

Martellini, Lionel, and Volker Ziemann. Improved Forecasts of Higher-Order Comoments and Implications for Portfolio Selection. 2007. EDHEC Risk and Asset Management Research Centre working paper.

Pflug, G. Ch. Some remarks on the value-at-risk and the conditional value-at-risk. In S. Uryasev, ed., Probabilistic Constrained Optimization: Methodology and Applications, Dordrecht: Kluwer, 2000, 272-281.

Scaillet, Olivier. Nonparametric estimation and sensitivity analysis of expected shortfall. Mathematical Finance, 2002, vol. 14, 74-86.

See Also

VaR
SharpeRatio.modified
chart.VaRSensitivity
Return.clean

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    data(edhec)
    ############### NEW USAGE: Computing Point Estimate and Standard Error at the same time
    # use more than one method at the same time
    res=ES.SE(edhec, p=.95, method="historical",
    se.method = c("IFiid","IFcor","BOOTiid","BOOTcor"))
    printSE(res)

    ############### OLD USAGE: Computing Point Estimate Onlt

    # now use Gaussian
    ES.SE(edhec, p=.95, method="gaussian")

    # now use modified Cornish Fisher calc to take non-normal distribution into account
    ES.SE(edhec, p=.95, method="modified")

    # now use p=.99
    ES.SE(edhec, p=.99)
    # or the equivalent alpha=.01
    ES.SE(edhec, p=.01)

    # now with outliers squished
    ES.SE(edhec, clean="boudt")

    # add Component ES for the equal weighted portfolio
    ES.SE(edhec, clean="boudt", portfolio_method="component")

chenx26/EstimatorStandardError documentation built on May 13, 2019, 3:53 p.m.