1### R code from vignette source 'PerformanceAnalyticsPresentation-UseR-2007.Rnw' 2### Encoding: UTF-8 3 4################################################### 5### code chunk number 1: LoadLibrary 6################################################### 7library('PerformanceAnalytics') 8data(managers) 9data(edhec) 10 11 12################################################### 13### code chunk number 2: CalcDataDimensions 14################################################### 15managers.length = dim(managers)[1] 16manager.col = 1 17peers.cols = c(2,3,4,5,6) 18indexes.cols = c(7,8) 19Rf.col = 10 20trailing12.rows = ((managers.length - 11):managers.length) 21trailing36.rows = ((managers.length - 35):managers.length) 22trailing60.rows = ((managers.length - 59):managers.length) 23#assume contiguous NAs - this may not be the way to do it na.contiguous()? 24frInception.rows = (length(managers[,1]) - 25length(managers[,1][!is.na(managers[,1])]) + 1):length(managers[,1]) 26 27 28################################################### 29### code chunk number 3: Graph1 30################################################### 31charts.PerformanceSummary(managers[,c(manager.col,indexes.cols)], 32colorset=rich6equal, lwd=2, ylog=TRUE) 33 34 35################################################### 36### code chunk number 4: CalendarReturns 37################################################### 38t(table.CalendarReturns( managers[,c(manager.col,indexes.cols)]) ) 39 40 41################################################### 42### code chunk number 5: MonthlyReturnStats 43################################################### 44table.Stats(managers[,c(manager.col,peers.cols)]) 45 46 47################################################### 48### code chunk number 6: Graph10 49################################################### 50chart.Boxplot(managers[ trailing36.rows, c(manager.col, peers.cols, 51indexes.cols)], main = "Trailing 36-Month Returns") 52 53 54################################################### 55### code chunk number 7: Graph13 56################################################### 57layout(rbind(c(1,2),c(3,4))) 58chart.Histogram(managers[,1,drop=F], main = "Plain", methods = NULL) 59chart.Histogram(managers[,1,drop=F], main = "Density", breaks=40, 60methods = c("add.density", "add.normal")) 61chart.Histogram(managers[,1,drop=F], main = "Skew and Kurt", methods = c 62("add.centered", "add.rug")) 63chart.Histogram(managers[,1,drop=F], main = "Risk Measures", methods = c 64("add.risk")) 65 66 67################################################### 68### code chunk number 8: Graph3 69################################################### 70chart.RiskReturnScatter(managers[trailing36.rows,1:8], Rf=.03/12, main = 71"Trailing 36-Month Performance", colorset=c("red", rep("black",5), "orange", 72"green")) 73 74 75################################################### 76### code chunk number 9: Graph5 77################################################### 78charts.RollingPerformance(managers[, c(manager.col, peers.cols, 79indexes.cols)], Rf=.03/12, colorset = c("red", rep("darkgray",5), "orange", 80"green"), lwd = 2) 81 82 83################################################### 84### code chunk number 10: Graph6 85################################################### 86chart.RelativePerformance(managers[ , manager.col, drop = FALSE], 87managers[ , c(peers.cols, 7)], colorset = tim8equal[-1], lwd = 2, legend.loc 88= "topleft") 89 90 91################################################### 92### code chunk number 11: Graph6a 93################################################### 94chart.RelativePerformance(managers[ , c(manager.col, peers.cols) ], 95managers[, 8, drop=F], colorset = rainbow8equal, lwd = 2, legend.loc = 96"topleft") 97 98 99################################################### 100### code chunk number 12: tableCAPM 101################################################### 102table.CAPM(managers[trailing36.rows, c(manager.col, peers.cols)], 103managers[ trailing36.rows, 8, drop=FALSE], Rf = managers[ trailing36.rows, 104Rf.col, drop=F ]) 105 106 107################################################### 108### code chunk number 13: Graph8 109################################################### 110charts.RollingRegression(managers[, c(manager.col, peers.cols), drop = 111FALSE], managers[, 8, drop = FALSE], Rf = .03/12, colorset = redfocus, lwd = 1122) 113 114 115################################################### 116### code chunk number 14: tableDownside 117################################################### 118table.DownsideRisk(managers[,1:6],Rf=.03/12) 119 120 121################################################### 122### code chunk number 15: LoadData 123################################################### 124data(managers) 125head(managers) 126 127 128################################################### 129### code chunk number 16: CalcDataDimensions 130################################################### 131dim(managers) 132managers.length = dim(managers)[1] 133colnames(managers) 134manager.col = 1 135peers.cols = c(2,3,4,5,6) 136indexes.cols = c(7,8) 137Rf.col = 10 138#factors.cols = NA 139trailing12.rows = ((managers.length - 11):managers.length) 140trailing12.rows 141trailing36.rows = ((managers.length - 35):managers.length) 142trailing60.rows = ((managers.length - 59):managers.length) 143#assume contiguous NAs - this may not be the way to do it na.contiguous()? 144frInception.rows = (length(managers[,1]) - 145length(managers[,1][!is.na(managers[,1])]) + 1):length(managers[,1]) 146 147 148################################################### 149### code chunk number 17: Graph1 150################################################### 151charts.PerformanceSummary(managers[,c(manager.col,indexes.cols)], 152colorset=rich6equal, lwd=2, ylog=TRUE) 153 154 155