Learn R Programming

facmodCS (version 1.0)

fmmcSemiParam: Semi-parametric factor model Monte Carlo

Description

Simulate asset returns using semi-parametric Monte Carlo, by making use of a fitted factor model. Residuals are randomly generated from a chosen parametric distribution (Normal, Cornish-Fisher or Skew-t). Factor returns are resampled through non-parametric or stationary bootstrap.

Usage

fmmcSemiParam(
  B = 1000,
  factor.ret,
  beta,
  alpha,
  resid.par,
  resid.dist = c("normal", "Cornish-Fisher", "skew-t", "empirical"),
  boot.method = c("random", "block"),
  seed = 123
)

Value

A list containing the following components:

sim.fund.ret

B x N matrix of simulated fund returns.

boot.factor.ret

B x K matrix of resampled factor returns.

sim.residuals

B x N matrix of simulated residuals.

Arguments

B

number of bootstrap samples. Default is 1000.

factor.ret

T x K matrix or data.frame of factor returns having a complete history of data.

beta

N x K matrix of factor betas.

alpha

N x 1 matrix of factor alphas (intercepts). If missing, these are assumed to be 0 for all funds.

resid.par

matrix of parameters for the residual distribution. See Details.

resid.dist

the residual distribution; one of "normal", "Cornish-Fisher" or "skew-t". Default is "normal".

boot.method

the resampling method for factor returns; one of "random" or "block".

seed

integer to set random number generator state before resampling factor returns.

Author

Eric Zivot, Yi-An Chen, Sangeetha Srinivasan.

Details

Refer to Yindeng Jiang's PhD thesis referenced below for motivation and empirical results. An abstract can be found at <http://gradworks.umi.com/33/77/3377280.html>.

T is the no. of observations, K is the no. of factors, N is the no. of assets or funds, P is the no. of parameters for the residual distribution and B is the no. of bootstrap samples.

The columns in resid.par depend on the choice of resid.dist. If resid.dist = "normal", resid.par has one column for standard deviation. If resid.dist = "Cornish-Fisher", resid.par has three columns for sigma=standard deviation, skew=skewness and ekurt= excess kurtosis. If resid.dist = "skew-t", resid.par has four columns for xi=location, omega=scale, alpha=shape, and nu=degrees of freedom. Cornish-Fisher distribution is based on the Cornish-Fisher expansion of the Normal quantile. If resid.dist = "empirical", resid.par should be the TxN residuals retunred by the ffm object. Skew-t is the skewed Student's t-distribution-- Azzalini and Captiano. The parameters can differ across funds, though the type of distribution is the same.

Bootstrap method: "random" corresponds to random sampling with replacement, and "block" corresponds to stationary block bootstrap-- Politis and Romano (1994).

References

Jiang, Y. (2009). Factor model Monte Carlo methods for general fund-of-funds portfolio management. University of Washington.

See Also

http://gradworks.umi.com/33/77/3377280.html

Examples

Run this code
if (FALSE) {
#Empirical deistribution 
data("factorDataSetDjia5Yrs")
exposure.vars <- 
fit.ffm <- fitFfm(data = factorDataSetDjia5Yrs, 
                  asset.var = "TICKER",
                   ret.var = "RETURN", 
                   date.var = "DATE", 
                   exposure.vars = c("P2B", "MKTCAP", "SECTOR"), 
                   addIntercept = FALSE)
                   
resid.par <- fit.ffm$residuals
fmmc.returns.ffm <- fmmcSemiParam(factor.ret = fit.ffm$factor.returns,
                                   beta = fit.ffm$beta, 
                                   resid.par = resid.par,
                                   resid.dist = "empirical", 
                                   boot.method = "block")
}

Run the code above in your browser using DataLab