factorModelSdDecomposition: Compute factor model standard deviation decomposition

Description Usage Arguments Details Value Author(s) References Examples

Description

Compute the factor model factor standard deviation decomposition for an asset based on Euler's theorem given factor model parameters.

Usage

1
  factorModelSdDecomposition(beta.vec, factor.cov, sig2.e)

Arguments

beta.vec

k x 1 vector of factor betas with factor names in the rownames.

factor.cov

k x k factor excess return covariance matrix.

sig2.e

scalar, residual variance from factor model.

Details

The factor model 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:
Sd.fm = sum(cSd.fm) = sum(beta.star*mSd.fm)

Value

an S3 object containing

Author(s)

Eric Zivot and Yi-An Chen

References

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

  2. Yamai and Yoshiba (2002)."Comparative Analyses of Expected Shortfall and Value-at-Risk: Their Estimation Error, Decomposition, and Optimization Bank of Japan.

  3. Meucci (2007). "Risk Contributions from Generic User-Defined Factors," Risk.

#'

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# load data from the database
data("stat.fm.data")
fit.stat <- fitStatisticalFactorModel(sfm.dat,k=2)
cov.factors = var(fit.stat$factors)
names = colnames(fit.stat$asset.ret)
factor.sd.decomp.list = list()
for (i in names) {
 factor.sd.decomp.list[[i]] =
   factorModelSdDecomposition(fit.stat$loadings[,i],
                              cov.factors, fit.stat$resid.variance[i])
}

R-Finance/FactorAnalytics documentation built on May 8, 2019, 3:51 a.m.