fmEsDecomp: Decompose ES into individual factor contributions

Description Usage Arguments Details Value Author(s) References See Also Examples

Description

Compute the factor contributions to Expected Tail Loss or Expected Shortfall (ES) of assets' returns based on Euler's theorem, given the fitted factor model. The partial derivative of ES with respect to factor beta is computed as the expected factor return given fund return is less than or equal to its value-at-risk (VaR). VaR is computed as the sample quantile of the historic or simulated data.

Usage

1
2
3
4
5
6
7
8
9
fmEsDecomp(object, ...)

## S3 method for class 'tsfm'
fmEsDecomp(object, p = 0.95, method = c("modified",
  "gaussian", "historical", "kernel"), invert = FALSE, ...)

## S3 method for class 'sfm'
fmEsDecomp(object, p = 0.95, method = c("modified",
  "gaussian", "historical", "kernel"), invert = FALSE, ...)

Arguments

object

fit object of class tsfm, sfm or ffm.

...

other optional arguments passed to VaR.

p

confidence level for calculation. Default is 0.95.

method

method for computing VaR, one of "modified","gaussian", "historical", "kernel". Default is "modified". See details.

invert

logical; whether to invert the VaR measure. Default is FALSE.

Details

The factor model for an asset's return at time t has the form

R(t) = beta'f(t) + e(t) = beta.star'f.star(t)

where, beta.star=(beta,sig.e) and f.star(t)=[f(t)',z(t)]'. By Euler's theorem, the ES of the asset's return is given by:

ES.fm = sum(cES_k) = sum(beta.star_k*mES_k)

where, summation is across the K factors and the residual, cES and mES are the component and marginal contributions to ES respectively. The marginal contribution to ES is defined as the expected value of F.star, conditional on the loss being less than or equal to VaR.fm. This is estimated as a sample average of the observations in that data window.

Computation of the VaR measure is done using VaR. Arguments p, method and invert are passed to this function. Refer to their help file for details and other options. invert consistently affects the sign for all VaR and ES measures.

Value

A list containing

ES.fm

length-N vector of factor model ES of N-asset returns.

n.exceed

length-N vector of number of observations beyond VaR for each asset.

idx.exceed

list of numeric vector of index values of exceedances.

mES

N x (K+1) matrix of marginal contributions to VaR.

cES

N x (K+1) matrix of component contributions to VaR.

pcES

N x (K+1) matrix of percentage component contributions to VaR.

Where, K is the number of factors and N is the number of assets.

Author(s)

Eric Zviot, Sangeetha Srinivasan and Yi-An Chen

References

Epperlein, E., & Smillie, A. (2006). Portfolio risk analysis Cracking VAR with kernels. RISK-LONDON-RISK MAGAZINE LIMITED-, 19(8), 70.

Hallerback (2003). Decomposing Portfolio Value-at-Risk: A General Analysis. The Journal of Risk, 5(2), 1-18.

Meucci, A. (2007). Risk contributions from generic user-defined factors. RISK-LONDON-RISK MAGAZINE LIMITED-, 20(6), 84.

Yamai, Y., & Yoshiba, T. (2002). Comparative analyses of expected shortfall and value-at-risk: their estimation error, decomposition, and optimization. Monetary and economic studies, 20(1), 87-121.

See Also

fitTsfm, fitSfm, fitFfm for the different factor model fitting functions.

VaR for VaR computation. fmSdDecomp for factor model SD decomposition. fmVaRDecomp for factor model VaR decomposition.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# Time Series Factor Model
data(managers)
fit.macro <- fitTsfm(asset.names=colnames(managers[,(1:6)]),
                     factor.names=colnames(managers[,(7:8)]), data=managers)
ES.decomp <- fmEsDecomp(fit.macro)
# get the component contributions
ES.decomp$cES

# Statistical Factor Model
data(StockReturns)
sfm.pca.fit <- fitSfm(r.M, k=2)
ES.decomp <- fmEsDecomp(sfm.pca.fit)
ES.decomp$cES

arorar/FactorAnalytics documentation built on May 10, 2019, 1:47 p.m.