R/Performance.R

library(quantmod)
library("PerformanceAnalytics")

managers <- readRDS("data/myCota.rds")

managers <- myCota[, c("varPerc", "rIBOV")]
colnames(managers) <- c("Cota", "IBOV")

managers.length = dim(managers)[1]

trailing12.rows = ((managers.length - 11):managers.length)
trailing36.rows = ((managers.length - 35):managers.length)
trailing60.rows = ((managers.length - 59):managers.length)

charts.PerformanceSummary(managers[,c("Cota", "IBOV")], colorset = rich6equal)


t(table.CalendarReturns(managers[,c("Cota", "IBOV")]), as.perc = TRUE)

table.Stats(managers[,c("Cota", "IBOV")])


# prettify with format.df in hmisc package
require("Hmisc")
result = t(table.CalendarReturns(managers[,c(1,2)]))

textplot(format.df(result, na.blank=TRUE, numeric.dollar=FALSE,
                   cdec=rep(1,dim(result)[2])), rmar = 0.8, cmar = 1,
         max.cex=.9, halign = "center", valign = "top",
         row.valign="center", wrap.rownames=20, wrap.colnames=10,
         col.rownames=c( rep("darkgray",12), "black", "blue"),
         mar = c(0,0,3,0)+0.1)

title(main="Calendar Returns")

# }


chart.Boxplot(managers[trailing36.rows, c("Cota", "IBOV")])


layout(rbind(c(1,2),c(3,4)))
chart.Histogram(managers[,1,drop=F], main = "Plain", methods = NULL)
chart.Histogram(managers[,1,drop=F], main =  "Density", breaks=40,
                methods = c("add.density", "add.normal"))
chart.Histogram(managers[,1,drop=F], main = "Skew and Kurt",
                methods = c("add.centered", "add.rug"))
chart.Histogram(managers[,1,drop=F], main = "Risk Measures",
                methods = c("add.risk"))

chart.RiskReturnScatter(managers[trailing36.rows,1:2], Rf=.03/12,
                        main = "Trailing 36")

charts.RollingPerformance(managers[, c("Cota", "IBOV")])

chart.RelativePerformance(managers[ ,"Cota", drop = FALSE],
                          managers[ , "IBOV", drop = FALSE],colorset = rich12equal)

table.CAPM(managers[trailing36.rows, c("Cota", "IBOV")],
           managers[ trailing36.rows, 2, drop=FALSE],
           Rf=.03/12)

charts.RollingRegression(managers[ ,"Cota", drop = FALSE],
                         managers[ , "IBOV", drop = FALSE],colorset = rich12equal)

chart.RollingCorrelation(managers[ ,"Cota", drop = FALSE],
                         managers[ , "IBOV", drop = FALSE],colorset = rich12equal)

table.Correlation(managers[ ,"Cota", drop = FALSE],
                  managers[ , "IBOV", drop = FALSE], legend.loc = "lowerleft")

table.DownsideRisk(managers[,1:2],Rf=.03/12)

table.Drawdowns(managers[,1,drop=F])
maxlemes/MyPortfolio documentation built on Jan. 7, 2021, 11:47 p.m.