repReturn | R Documentation |
Decompostite return of portfolio into return of different factors based on fundamental factor model. This method takes fundamental factor model fit, "ffm" object, and portfolio weight as inputs and generates numeric summary and plot visualization.
repReturn(
ffmObj,
weights = NULL,
isPlot = TRUE,
isPrint = TRUE,
layout = NULL,
scaleType = "free",
stripLeft = TRUE,
stripText.cex = 1,
axis.cex = 1,
digits = 1,
titleText = TRUE,
which = NULL,
...
)
ffmObj |
an object of class ffm returned by fitFfm. |
weights |
a vector of weights of the assets in the portfolio. Default is NULL. |
isPlot |
logical variable to generate plot or not. |
isPrint |
logical variable to print numeric summary or not. |
layout |
layout is a numeric vector of length 2 or 3 giving the number of columns, rows, and pages (optional) in a multipanel display. |
scaleType |
scaleType controls if use a same scale of y-axis, choose from c('same', 'free') |
stripLeft |
logical variable to choose the position of strip, "TRUE" for drawing strips on the left of each panel, "FALSE" for drawing strips on the top of each panel. Used only when isPlot = 'TRUE' |
stripText.cex |
a number indicating the amount by which strip text in the plot(s) should be scaled relative to the default. 1=default, 1.5 is 50% larger, 0.5 is 50% smaller, etc. |
axis.cex |
a number indicating the amount by which axis in the plot(s) should be scaled relative to the default. 1=default, 1.5 is 50% larger, 0.5 is 50% smaller, etc. |
digits |
digits of printout numeric summary. Used only when isPrint = 'TRUE' |
titleText |
logical varible to choose display plot title or not. Default is 'TRUE', and used only when isPlot = 'TRUE'. |
which |
a number to indicate the type of plot. If a subset of the plots
is required, specify a subset of the numbers 1:4 for plots. If |
... |
other graphics parameters available in tsPlotMP(time series plot only) can be passed in through the ellipses |
A K x 2 matrix containing mean and standard deviation of K factors
Douglas Martin, Lingjie Yi
#Load fundamental and return data
data("stocks145scores6")
dat = stocks145scores6
dat$DATE = zoo::as.yearmon(dat$DATE)
dat = dat[dat$DATE >=zoo::as.yearmon("2008-01-01") & dat$DATE <= zoo::as.yearmon("2012-12-31"),]
#Load long-only GMV weights for the return data
data("wtsStocks145GmvLo")
wtsStocks145GmvLo = round(wtsStocks145GmvLo,5)
# fit a fundamental factor model
exposure.vars = c("SECTOR","ROE","BP","PM12M1M","SIZE", "ANNVOL1M", "EP")
fit.cross <- fitFfm(data = dat,
exposure.vars = exposure.vars,
date.var = "DATE",
ret.var = "RETURN",
asset.var = "TICKER",
fit.method="WLS",
z.score = "crossSection")
repReturn(fit.cross, wtsStocks145GmvLo, isPlot = FALSE, digits = 4)
repReturn(fit.cross, wtsStocks145GmvLo, isPrint = FALSE, isPlot = TRUE,
which = 4)
repReturn(fit.cross, wtsStocks145GmvLo, isPrint = FALSE, isPlot = TRUE,
which = 1, add.grid = TRUE, scaleType = 'same')
repReturn(fit.cross, wtsStocks145GmvLo, isPrint = FALSE, isPlot = TRUE,
which = 2, add.grid = FALSE, zeroLine = TRUE, color = 'Blue',
scaleType = 'free')
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.