Typically, factor models are fit using excess returns. rf.name gives
the option to supply a risk free rate variable to subtract from each asset
return and factor to compute excess returns.
Estimation method "LS" corresponds to ordinary least squares using
lm, "DLS" is discounted least squares (weighted least
squares with exponentially declining weights that sum to unity), and,
"Robust" is robust regression (using lmrobdetMM).
If variable.selection="none", uses all the factors and performs no
variable selection. Whereas, "stepwise" performs traditional stepwise
LS or Robust regression (using step or
step.lmrobdetMM), that starts from the initial set of
factors and adds/subtracts factors only if the regression fit, as measured
by the Bayesian Information Criterion (BIC) or Akaike Information Criterion
(AIC), improves. And, "subsets" enables subsets selection using
regsubsets; chooses the best performing subset of any
given size or within a range of subset sizes. Different methods such as
exhaustive search (default), forward or backward stepwise, or sequential
replacement can be employed. See fitTsfm.control for more
details on the control arguments.
variable.selection="lars" corresponds to least angle regression
using lars with variants "lasso" (default), "lar",
"stepwise" or "forward.stagewise". Note: If variable.selection="lars",
fit.method will be ignored.
Argument mkt.name can be used to add market-timing factors to any of
the above methods. Please refer to fitTsfmMT, a wrapper to
fitTsfm for details.
Data Processing
Note about NAs: Before model fitting, incomplete cases are removed for
every asset (return data combined with respective factors' return data)
using na.omit. Otherwise, all observations in
data are included.
Note about asset.names and factor.names: Spaces in column
names of data will be converted to periods as fitTsfm works
with xts objects internally and colnames won't be left as they are.