fitTsfmLagBeta: Fit a lagged Betas factor model using time series regression

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

Description

This is a wrapper function to fits a time series lagged Betas factor model for one or more asset returns or excess returns using time series regression. Users can choose between ordinary least squares-LS, discounted least squares-DLS (or) robust regression like fitTsfm.An object of class "tsfm" is returned.

Usage

1
2
3
fitTsfmLagBeta(asset.names, mkt.name, rf.name = NULL, data = data,
  fit.method = c("LS", "DLS", "Robust"), LagBeta = 1,
  control = fitTsfm.control(...), ...)

Arguments

asset.names

vector containing names of assets, whose returns or excess returns are the dependent variable.

mkt.name

name of the column for market returns. It is required for a lagged Betas factor model.

rf.name

name of the column of risk free rate variable to calculate excess returns for all assets (in asset.names) and the market factor (in mkt.name).Default is NULL, and no action is taken.

data

vector, matrix, data.frame, xts, timeSeries or zoo object containing column(s) named in asset.names, factor.names and optionally, mkt.name and rf.name.

fit.method

the estimation method, one of "LS", "DLS" or "Robust". See details. Default is "LS".

LagBeta

A integer number to specify numbers of lags of Betas to include in the model. The Default is 1.

control

list of control parameters. The default is constructed by the function fitTsfm.control. See the documentation for fitTsfm.control for details.

...

arguments passed to fitTsfm.control

Details

The lagged returns model estimates lagged market Beta. Specifically,

r_t = α + β_0 MKT_t + β_1 MKT_t-1 + … + β_K MKT_t-K + ε_t, t=1 … T

where r_t is the asset returns, and MKT is the market factor. It is usually needed for illiquid securities with stale prices. One can also report the sum of the lagged Betas:

β = β_0 + β_1 + … + β_K

Value

fitTsfmLagBeta also returns an object of class "tsfm" like fitTsfm. The generic function such as print, plot, predict and summary methods exist. Also, the generic accessor functions coef, fitted, residuals and fmCov can be applied as well.

An object of class "tsfm" is a list containing the following components:

asset.fit

list of fitted objects for each asset. Each object is of class lm if fit.method="LS" or "DLS", class lmRob if the fit.method="Robust".

alpha

length-N vector of estimated alphas.

beta

N x (L+1) matrix of estimated betas.

r2

length-N vector of R-squared values.

resid.sd

length-N vector of residual standard deviations.

call

the matched function call.

data

xts data object containing the assets and factors.

asset.names

asset.names as input.

fit.method

fit.method as input.

Where N is the number of assets, L is the number of lagged market Betas and T is the number of time periods.

Author(s)

Yi-An Chen.

References

Scholes, M. and Williams, J. T. (1977). Estimating betas from non-synchronous data, Journal of Financial Economics, vol. 5, 1977, pp. 309-327

See Also

The original time series function fitTsfm and its generic functions application.

Examples

1
2
3
4
5
6
7
8
# load data from the database
data(managers)

# example: A lagged Beetas model with LS fit
fit <- fitTsfmLagBeta(asset.names=colnames(managers[,(1:6)]),LagBeta=2,
                      mkt.name="SP500.TR",rf.name="US.3m.TR",data=managers)
summary(fit)
fitted(fit)

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