Description Usage Arguments Background Note Author(s) References See Also Examples
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.
1 2 3 4 5 |
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 |
method |
one of "modified","gaussian","historical", see Details. |
clean |
method for data cleaning through |
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 |
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.
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.
Xin Chen, chenx26@uw.edu
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.
VaR
SharpeRatio.modified
chart.VaRSensitivity
Return.clean
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")
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.