在quantmod包中,chartSeries为" addCCI"提供了选项。这是基于移动平均线。 CCI图表使用了一个非常好的想法,但基于移动平均线,而我更喜欢使用单个长期平均值,这就是为什么我试图在ggplot2中而不是在quantmod中复制图表。 the addCCI picture I want to replicate is the bottom chart
我想使用相同的概念,在+ 100 / -100之外的范围内使用突出显示的区域,但Id喜欢突出显示高于和低于长期平均值1个标准偏差的点。在下图中。 ideally I want the area above and below 1 std dev to appear the same as in the addCCI chart
library(quantmod)
library(ggplot2)
y <- rnorm(31,2,1)
x <- seq.Date(as.Date("2015-01-01"),as.Date("2015-01-31"),1)
d<-data.frame(cbind(x,y))
d$pmean <- mean(d$y)
d$m1d <- mean(d$y)-sd(d$y)
d$p1d <- mean(d$y)+sd(d$y)
d2 <- xts(d[,-1],order.by=as.Date(d$x))
chartSeries(d2$y, TA="addCCI(5)")
ggplot(d, aes(as.Date(x))) +
geom_line(aes(y = y, colour = "blue")) +
geom_line(aes(y = pmean, colour = "red")) +
geom_line(aes(y = p1d, colour = "red")) +
geom_line(aes(y = m1d, colour = "red"))
这段代码就是我用来创建上面例子的代码。 这在ggplot2中是否可行?如果是这样,我将不胜感激任何帮助。 提前谢谢