
Last chance! 50% off unlimited learning
Sale ends in
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,
element.color = "darkgray",
note.lines = NULL,
note.labels = NULL,
note.cex = 0.7,
note.color = "darkgray",
probability = FALSE,
p = 0.95,
cex.axis = 0.8,
cex.legend = 0.8,
cex.lab = 1,
cex.main = 1,
xaxis = TRUE,
yaxis = TRUE,
...
)
an xts, vector, matrix, data frame, timeSeries or zoo object of asset returns
one of:
a vector giving the breakpoints between histogram cells,
a single number giving the number of cells for the histogram,
a character string naming an algorithm to compute the number of cells (see ‘Details’),
a function to compute the number of cells.
For the last three the number is a suggestion only.
see hist
for details, default "FD"
set the chart title, same as in plot
set the x-axis label, same as in plot
set the y-axis label, same as in plot
what to graph, one or more of:
add.density to display the density plot
add.normal to display a fitted normal distibution line over the mean
add.centered to display a fitted normal line over zero
add.rug to display a rug of the observations
add.risk to display common risk metrics
add.qqplot to display a small qqplot in the upper corner of the histogram plot
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.
color palette to use, set by default to rational choices
color to use for the border
set the line width, same as in plot
set the x-axis limit, same as in plot
set the y-axis limits, same as in plot
provides the color for drawing chart elements, such as the box lines, axis lines, etc. Default is "darkgray"
draws a vertical line through the value given.
adds a text label to vertical lines specified for note.lines.
The magnification to be used for note line labels relative to the current setting of 'cex'.
specifies the color(s) of the vertical lines drawn.
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
confidence level for calculation, default p=.99
The magnification to be used for axis annotation relative to
the current setting of 'cex', same as in plot
.
The magnification to be used for sizing the legend relative to the current setting of 'cex'.
The magnification to be used for x- and y-axis labels relative to the current setting of 'cex'.
The magnification to be used for the main title relative to the current setting of 'cex'.
if true, draws the x axis
if true, draws the y axis
any other passthru parameters to plot
Peter Carl
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
.
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"))
Run the code above in your browser using DataLab