chart.Histogram {PerformanceAnalytics} | R Documentation |
Create a histogram of returns, with optional curve fits for density and normal. This is a wrapper function for hist
, see the help for that function for additional arguments you may wish to pass in.
chart.Histogram(R, breaks = "FD", main = NULL, xlab = "Returns", ylab = "Frequency", methods = c("none", "add.density", "add.normal", "add.centered", "add.cauchy", "add.sst", "add.rug", "add.risk", "add.qqplot"), show.outliers = TRUE, colorset = c("lightgray", "#00008F", "#005AFF", "#23FFDC", "#ECFF13", "#FF4A00", "#800000"), border.col = "white", lwd = 2, xlim = NULL, ylim = NULL, elementcolor = "gray", note.lines = NULL, note.labels = NULL, note.cex = 0.7, note.color = "darkgray", probability = FALSE, p = 0.99, ...)
R |
a vector, matrix, data frame, timeSeries or zoo object of asset returns |
breaks |
how to calculate the breaks between the bars, one of:
hist for details, default "FD"
|
methods |
|
p |
confidence level for calculation, default p=.99 |
probability |
logical; if TRUE, the histogram graphic is a representation of frequencies, the counts component of the result; if FALSE, probability densities, component density, are plotted (so that the histogram has a total area of one). Defaults to TRUE if and only if breaks are equidistant (and probability is not specified). see hist |
show.outliers |
logical; if TRUE (the default), the histogram will show all of the data points. If FALSE, it will show only the first through the fourth quartile and will exclude outliers. |
main |
set the chart title, same as in plot |
ylab |
set the y-axis label, same as in plot |
xlab |
set the x-axis label, same as in plot |
ylim |
set the y-axis limits, same as in plot |
border.col |
color to use for the border |
xlim |
set the x-axis limit, same as in plot |
lwd |
set the line width, same as in plot |
colorset |
color palette to use, set by default to rational choices |
elementcolor |
provides the color for drawing less-important chart elements, such as the box lines, axis lines, etc. replaces darken |
note.lines |
draws a vertical line through the value given. |
note.labels |
adds a text label to vertical lines specified for note.lines. |
note.cex |
The magnification to be used for note line labels relative to the current setting of 'cex'. |
note.color |
specifies the color(s) of the vertical lines drawn. |
... |
any other passthru parameters |
The default for breaks
is "FD"
. Other names for which algorithms
are supplied are "Sturges"
(see
nclass.Sturges
), "Scott"
, and "FD"
/
"Freedman-Diaconis"
(with corresponding functions
nclass.scott
and nclass.FD
).
Case is ignored and partial matching is used.
Alternatively, a function can be supplied which
will compute the intended number of breaks as a function of R
.
chart of histogram of returns
Code inspired by a chart on: http://zoonek2.free.fr/UNIX/48_R/03.html
Peter Carl
data(edhec) chart.Histogram(edhec[,'Equity.Market.Neutral',drop=FALSE]) # version with more breaks and the standard close fit density distribution chart.Histogram(edhec[,'Equity.Market.Neutral',drop=FALSE], breaks=40, methods = c("add.density", "add.rug") ) chart.Histogram(edhec[,'Equity.Market.Neutral',drop=FALSE], methods = c( "add.density", "add.normal") ) # version with just the histogram and normal distribution centered on 0 chart.Histogram(edhec[,'Equity.Market.Neutral',drop=FALSE], methods = c( "add.density", "add.centered") ) # add a rug to the previous plot for more granularity on precisely where the distribution fell chart.Histogram(edhec[,'Equity.Market.Neutral',drop=FALSE], methods = c( "add.centered", "add.density", "add.rug") ) # now show a qqplot to give us another view on how normal the data are chart.Histogram(edhec[,'Equity.Market.Neutral',drop=FALSE], methods = c( "add.centered", "add.density", "add.rug", "add.qqplot") ) # add risk measure(s) to show where those are in relation to observed returns chart.Histogram(edhec[,'Equity.Market.Neutral',drop=FALSE], methods = c("add.density", "add.centered", "add.rug", "add.risk") )