# \donttest{
# Fundamental Factor Model
library(PCRA)
dateRange <- c("2006-01-31","2010-12-31")
stockItems <- c("Date", "TickerLast", "Return","Sector")
factorItems <- c("BP","Beta60M","PM12M1M")
facDatIT <- selectCRSPandSPGMI("monthly",
dateRange = dateRange,
stockItems = stockItems,
factorItems = factorItems,
outputType = "data.table")
asset.var="TickerLast"
ret.var="Return"
date.var = "Date"
exposure.vars= factorItems
asset.var="TickerLast"
ret.var="Return"
date.var = "Date"
spec1 <- specFfm(data = facDatIT,asset.var = asset.var, ret.var = ret.var,
date.var = date.var, exposure.vars = exposure.vars,weight.var = NULL,
addIntercept = TRUE, rob.stats = FALSE)
# fit a fundamental factor model
mdlFit <- fitFfmDT(spec1)
mdlRes <- extractRegressionStats(spec1,mdlFit)
fit.cross <- convert(SpecObj = spec1,FitObj = mdlFit, RegStatsObj = mdlRes)
repRisk(fit.cross, risk = "Sd", decomp = 'FCR', nrowPrint = 10, digits = 4)
# get the factor contributions of risk
repRisk(fit.cross, risk = "Sd", decomp = 'FPCR',
nrowPrint = 10)
# portfolio only decomposition
repRisk(fit.cross, risk = c("VaR", "ES"), decomp = 'FPCR',
portfolio.only = TRUE)
# plot
repRisk(fit.cross, risk = "Sd", decomp = 'FPCR',
isPrint = FALSE, nrowPrint = 15, isPlot = TRUE, layout = c(4,2))
# }
Run the code above in your browser using DataLab