library(xts)
data(sample_matrix)
rets <- diff(log(as.xts(sample_matrix)[,"Close"]))[-1]
nr <- nrow(rets)
shade <- xts(cbind(u = rep(max(rets), nr), l = rep(min(rets), nr)), index(rets))
# shading renders
plot(rets)
addPolygon(shade["2007-02"], col = "grey", on = -1)
# shading does not render
plot(rets, observation.based = TRUE)
addPolygon(shade["2007-02"], col = "grey", on = -1)