A wrapper to create a scatter chart of annualized returns versus annualized risk (standard deviation) for comparing manager performance. Also puts a box plot into the margins to help identify the relative performance quartile.
chart.RiskReturnScatter(R, Rf = 0, main = "Annualized Return and Risk", add.names = TRUE, xlab = "Annualized Risk", ylab = "Annualized Return", method = "calc", geometric = TRUE, scale = NA, add.sharpe = c(1, 2, 3), add.boxplots = FALSE, colorset = 1, symbolset = 1, element.color = "darkgray", legend.loc = NULL, xlim = NULL, ylim = NULL, cex.legend = 1, cex.axis = 0.8, cex.main = 1, cex.lab = 1, ...)
R | an xts, vector, matrix, data frame, timeSeries or zoo object of asset returns |
---|---|
Rf | risk free rate, in same period as your returns |
main | set the chart title, same as in |
add.names | plots the row name with the data point. default TRUE. Can be removed by setting it to NULL |
xlab | set the x-axis label, as in |
ylab | set the y-axis label, as in |
method | if set as "calc", then the function will calculate values from the set of returns passed in. If method is set to "nocalc" then we assume that R is a column of return and a column of risk (e.g., annualized returns, annualized risk), in that order. Other method cases may be set for different risk/return calculations. |
geometric | utilize geometric chaining (TRUE) or simple/arithmetic chaining (FALSE) to aggregate returns, default TRUE |
scale | number of periods in a year (daily scale = 252, monthly scale = 12, quarterly scale = 4) |
add.sharpe | this draws a Sharpe ratio line that indicates Sharpe ratio
levels of |
add.boxplots | TRUE/FALSE adds a boxplot summary of the data on the axis |
colorset | color palette to use, set by default to rational choices |
symbolset | from |
element.color | provides the color for drawing chart elements, such as the box lines, axis lines, etc. Default is "darkgray" |
legend.loc | places a legend into one of nine locations on the chart: bottomright, bottom, bottomleft, left, topleft, top, topright, right, or center. |
xlim | set the x-axis limit, same as in |
ylim | set the y-axis limit, same as in |
cex.legend | The magnification to be used for sizing the legend relative to the current setting of 'cex'. |
cex.axis | The magnification to be used for axis annotation relative to
the current setting of 'cex', same as in |
cex.main | The magnification to be used for sizing the title relative to the current setting of 'cex'. |
cex.lab | The magnification to be used for x and y labels relative to the current setting of 'cex'. |
… | any other passthru parameters to |
Code inspired by a chart on: http://zoonek2.free.fr/UNIX/48_R/03.html
data(edhec) chart.RiskReturnScatter(edhec, Rf = .04/12)chart.RiskReturnScatter(edhec, Rf = .04/12, add.boxplots = TRUE)