Skip to content

Commit

Permalink
#43 fix examples related managers data containing spaces in names, …
Browse files Browse the repository at this point in the history
…which get filled in by "." during merge.xts.
  • Loading branch information
JustinMShea committed Aug 22, 2021
1 parent 80246e3 commit 40bef56
Show file tree
Hide file tree
Showing 24 changed files with 229 additions and 106 deletions.
21 changes: 7 additions & 14 deletions R/fmEsDecomp.R
Original file line number Diff line number Diff line change
Expand Up @@ -63,27 +63,20 @@
#' \code{\link{fmVaRDecomp}} for factor model VaR decomposition.
#'
#' @examples
#' #' # Time Series Factor Model
#' # Time Series Factor Model
#' # load data
#' data(managers, package = 'PerformanceAnalytics')
#' colnames(managers)
#' # Make syntactically valid column names
#' colnames(managers) <- make.names( colnames(managers))
#' colnames(managers)
#'
#' fit.macro <- fitTsfm(asset.names=colnames(managers[,(1:6)]),
#' factor.names=colnames(managers[,(7:8)]), data=managers)
#' ES.decomp <- fmEsDecomp(fit.macro)
#' # get the component contributions
#' ES.decomp$cES
#'
#' # Statistical Factor Model
#' data(StockReturns)
#' sfm.pca.fit <- fitSfm(r.M, k=2)
#' ES.decomp <- fmEsDecomp(sfm.pca.fit, type="normal")
#' ES.decomp$cES
#'
#' # Fundamental Factor Model
#' data(Stocks.df)
#' exposure.vars <- c("BOOK2MARKET", "LOG.MARKETCAP")
#' fit <- fitFfm(data=stock, asset.var="TICKER", ret.var="RETURN",
#' date.var="DATE", exposure.vars=exposure.vars)
#' ES.decomp <- fmEsDecomp(fit, type="normal")
#' head(ES.decomp$cES)
#'
#' @export

Expand Down
15 changes: 8 additions & 7 deletions R/fmSdDecomp.R
Original file line number Diff line number Diff line change
Expand Up @@ -55,21 +55,22 @@
#'
#' @examples
#' # Time Series Factor Model
#'
#' # load data
#' data(managers, package = 'PerformanceAnalytics')
#' colnames(managers)
#' # Make syntactically valid column names
#' colnames(managers) <- make.names( colnames(managers))
#' colnames(managers)
#'
#' fit.macro <- fitTsfm(asset.names=colnames(managers[,(1:6)]),
#' factor.names=colnames(managers[,(7:9)]),
#' rf.name="US.3m.TR", data=managers)
#' decomp <- fmSdDecomp(fit.macro)
#' # get the percentage component contributions
#' decomp$pcSd
#'
#' # Statistical Factor Model
#' data(StockReturns)
#' sfm.pca.fit <- fitSfm(r.M, k=2)
#' decomp <- fmSdDecomp(sfm.pca.fit)
#' decomp$pcSd
#'
#' @export
#' @export

fmSdDecomp <- function(object, ...){
# check input object validity
Expand Down
26 changes: 11 additions & 15 deletions R/fmVaRDecomp.R
Original file line number Diff line number Diff line change
Expand Up @@ -63,25 +63,21 @@
#'
#' @examples
#' # Time Series Factor Model
#'
#' # load data
#' data(managers, package = 'PerformanceAnalytics')
#' colnames(managers)
#' # Make syntactically valid column names
#' colnames(managers) <- make.names( colnames(managers))
#' colnames(managers)
#'
#' fit.macro <- fitTsfm(asset.names=colnames(managers[,(1:6)]),
#' factor.names=colnames(managers[,(7:8)]), data=managers)
#' factor.names=colnames(managers[,(7:8)]),
#' data=managers)
#'
#' VaR.decomp <- fmVaRDecomp(fit.macro)
#' # get the component contributions
#' VaR.decomp$cVaR
#'
#' # Statistical Factor Model
#' data(StockReturns)
#' sfm.pca.fit <- fitSfm(r.M, k=2)
#' VaR.decomp <- fmVaRDecomp(sfm.pca.fit, type="normal")
#' VaR.decomp$cVaR
#'
#' # Fundamental Factor Model
#' data(Stocks.df)
#' exposure.vars <- c("BOOK2MARKET", "LOG.MARKETCAP")
#' fit <- fitFfm(data=stock, asset.var="TICKER", ret.var="RETURN",
#' date.var="DATE", exposure.vars=exposure.vars)
#' VaR.decomp <- fmVaRDecomp(fit, type="normal")
#' # get the component contributions
#' VaR.decomp$cVaR
#'
#' @export
Expand Down
10 changes: 9 additions & 1 deletion R/fmmcSemiParam.R
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,17 @@
#'
#' @examples
#' # fit a time series factor model for all assets
#'
#' # load data
#' data(managers, package = 'PerformanceAnalytics')
#' colnames(managers)
#' # Make syntactically valid column names
#' colnames(managers) <- make.names( colnames(managers))
#' colnames(managers)
#'
#' fit <- fitTsfm(asset.names=colnames(managers[,(1:6)]),
#' factor.names=colnames(managers[,(7:9)]), data=managers)
#' factor.names=colnames(managers[,(7:9)]),
#' data=managers)
#'
#' # bootstrap returns using the fitted factor model, Normal dist. for residuals
#' resid.par <- as.matrix(fit$resid.sd,1,6)
Expand Down
17 changes: 13 additions & 4 deletions R/portEsDecomp.R
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,21 @@
#'
#' @examples
#' # Time Series Factor Model
#'
#' # load data
#' data(managers, package = 'PerformanceAnalytics')
#' colnames(managers)
#' # Make syntactically valid column names
#' colnames(managers) <- make.names( colnames(managers))
#' colnames(managers)
#'
#' fit.macro <- FactorAnalytics::fitTsfm(asset.names=colnames(managers[,(1:6)]),
#' factor.names=colnames(managers[,(7:9)]),
#' rf.name=colnames(managers[,10]), data=managers)
#' ES.decomp <- portEsDecomp(fit.macro,invert = TRUE)
#' rf.name=colnames(managers[,10]),
#' data=managers)
#'
#' ES.decomp <- portEsDecomp(fit.macro, invert = TRUE)
#'
#' # get the component contributions
#' ES.decomp$cES
#'
Expand All @@ -77,8 +87,7 @@
#' data("stocks145scores6")
#' dat = stocks145scores6
#' dat$DATE = as.yearmon(dat$DATE)
#' dat = dat[dat$DATE >=as.yearmon("2008-01-01") &
#' dat$DATE <= as.yearmon("2012-12-31"),]
#' dat = dat[dat$DATE >=as.yearmon("2008-01-01") & dat$DATE <= as.yearmon("2012-12-31"),]
#'
#' # Load long-only GMV weights for the return data
#' data("wtsStocks145GmvLo")
Expand Down
11 changes: 10 additions & 1 deletion R/portSdDecomp.R
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,19 @@
#'
#' @examples
#' # Time Series Factor Model
#'
#' # load data
#' data(managers, package = 'PerformanceAnalytics')
#' colnames(managers)
#' # Make syntactically valid column names
#' colnames(managers) <- make.names( colnames(managers))
#' colnames(managers)
#'
#' fit.macro <- FactorAnalytics::fitTsfm(asset.names=colnames(managers[,(1:6)]),
#' factor.names=colnames(managers[,(7:9)]),
#' rf.name=colnames(managers[,10]), data=managers)
#' rf.name=colnames(managers[,10]),
#' data=managers)
#'
#' decomp <- portSdDecomp(fit.macro)
#' # get the factor contributions of risk
#' decomp$cSd
Expand Down
12 changes: 11 additions & 1 deletion R/portVaRDecomp.R
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,21 @@
#'
#' @examples
#' # Time Series Factor Model
#'
#' # load data
#' data(managers, package = 'PerformanceAnalytics')
#' colnames(managers)
#' # Make syntactically valid column names
#' colnames(managers) <- make.names( colnames(managers))
#' colnames(managers)
#'
#' fit.macro <- FactorAnalytics::fitTsfm(asset.names=colnames(managers[,(1:6)]),
#' factor.names=colnames(managers[,(7:9)]),
#' rf.name=colnames(managers[,10]), data=managers)
#' rf.name=colnames(managers[,10]),
#' data=managers)
#'
#' decomp <- portVaRDecomp(fit.macro,invert = TRUE)
#'
#' # get the factor contributions of risk
#' decomp$cVaR
#'
Expand Down
11 changes: 10 additions & 1 deletion R/portVolDecomp.R
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,19 @@
#'
#' @examples
#' # Time Series Factor Model
#'
#' # load data
#' data(managers, package = 'PerformanceAnalytics')
#' colnames(managers)
#' # Make syntactically valid column names
#' colnames(managers) <- make.names( colnames(managers))
#' colnames(managers)
#'
#' fit.macro <- FactorAnalytics::fitTsfm(asset.names=colnames(managers[,(1:6)]),
#' factor.names=colnames(managers[,(7:9)]),
#' rf.name=colnames(managers[,10]), data=managers)
#' rf.name=colnames(managers[,10]),
#' data=managers)
#'
#' decomp <- portVolDecomp(fit.macro)
#' decomp
#'
Expand Down
16 changes: 11 additions & 5 deletions R/predict.tsfmUpDn.r
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,18 @@
#' @seealso \code{\link{predict.tsfm}},\code{\link{fitTsfmUpDn}}, \code{\link{summary.tsfmUpDn}}
#'
#' @examples
#' # load data from the database
#' # load data
#' data(managers, package = 'PerformanceAnalytics')
#' # fit the factor model with LS
# example: Up and down market factor model with LS fit
#' fitUpDn <- fitTsfmUpDn(asset.names=colnames(managers[,(1:6)]),mkt.name="SP500.TR",
#' data=managers, fit.method="LS")
#' colnames(managers)
#' # Make syntactically valid column names
#' colnames(managers) <- make.names( colnames(managers))
#' colnames(managers)
#'
#' # fit the factor model with LS. example: Up and down market factor model with LS fit
#' fitUpDn <- fitTsfmUpDn(asset.names=colnames(managers[,(1:6)]),
#' mkt.name="SP500.TR",
#' data=managers,
#' fit.method="LS")
#'
#' predict(fitUpDn)
#'
Expand Down
12 changes: 10 additions & 2 deletions R/print.tsfmUpDn.r
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,18 @@
#' @seealso \code{\link{fitTsfmUpDn}}, \code{\link{summary.tsfmUpDn}}
#'
#' @examples
#' # load data
#' data(managers, package = 'PerformanceAnalytics')
#' colnames(managers)
#' # Make syntactically valid column names
#' colnames(managers) <- make.names( colnames(managers))
#' colnames(managers)
#'
#' # example: Up and down market factor model with LS fit
#' fitUpDn <- fitTsfmUpDn(asset.names=colnames(managers[,(1:6)]),mkt.name="SP500.TR",
#' data=managers, fit.method="LS",control=NULL)
#' fitUpDn <- fitTsfmUpDn(asset.names=colnames(managers[,(1:6)]),
#' mkt.name="SP500.TR",
#' data=managers,
#' fit.method="LS")
#'
#' print(fitUpDn)
#'
Expand Down
6 changes: 6 additions & 0 deletions R/summary.tsfm.r
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,13 @@
#' @seealso \code{\link{fitTsfm}}, \code{\link[stats]{summary.lm}}
#'
#' @examples
#' # load data
#' data(managers, package = 'PerformanceAnalytics')
#' colnames(managers)
#' # Make syntactically valid column names
#' colnames(managers) <- make.names( colnames(managers))
#' colnames(managers)
#'
#' fit <- fitTsfm(asset.names=colnames(managers[,(1:6)]),
#' factor.names=colnames(managers[,7:9]),
#' data=managers)
Expand Down
12 changes: 9 additions & 3 deletions R/summary.tsfmUpDn.r
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,18 @@
#' @seealso \code{\link{fitTsfmUpDn}}, \code{\link{summary.tsfm}}
#'
#' @examples
#' # load data from the database
#' # load data
#' data(managers, package = 'PerformanceAnalytics')
#' colnames(managers)
#' # Make syntactically valid column names
#' colnames(managers) <- make.names( colnames(managers))
#' colnames(managers)
#'
#' # example: Up and down market factor model with LS fit
#' fitUpDn <- fitTsfmUpDn(asset.names=colnames(managers[,(1:6)]),mkt.name="SP500.TR",
#' data=managers, fit.method="LS",control=NULL)
#' fitUpDn <- fitTsfmUpDn(asset.names=colnames(managers[,(1:6)]),
#' mkt.name="SP500.TR",
#' data=managers,
#' fit.method="LS")
#'
#' summary(fitUpDn)
#'
Expand Down
21 changes: 7 additions & 14 deletions man/fmEsDecomp.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 7 additions & 6 deletions man/fmSdDecomp.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

1 comment on commit 40bef56

@martinrd3D
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Justin, Very nice uniform fix to this problem caused by inappropriate names of some of the columns of the managers xts data object.

Please sign in to comment.