zoo::rollmean
,默认对齐为中心geom_ma
包中的 tidyquant
时,默认对齐方式是正确的。ma_fun = SMA
在我的图中是否有一个参数可以传递给
geom_ma
,可以使移动平均线与中心对齐?
我确实阅读了
geom_ma
的文档,并被定向到 TTR::SMA()
。这有一个偏移参数,可以将百分位数作为分布的对齐方式。该参数在我的代码中被忽略了。
感谢您提供的任何帮助。
你可以使用
seismicRoll
包使用 roll_mean
参数,它有一个类似于 zoo::rollmean
的对齐参数。我认为偏移参数仅适用于 ALMA(),而 SMA(geom_ma 使用的是什么)没有该参数。
使用 tq 数据进行演示,红线显示重新对齐的 MA 到中心,黄色突出显示 geom_ma(虚线)如何右对齐。
AAPL <- tq_get("AAPL", from = "2013-01-01", to = "2016-12-31")
AAPL %>%
mutate(rolling_mean1 = seismicRoll::roll_mean(adjusted, n = 50, align = "right"),
rolling_mean2 = seismicRoll::roll_mean(adjusted, n = 50, align = "center")) %>%
ggplot() +
geom_line(aes(x = date, y = rolling_mean1), color = "yellow",size = 4)+
geom_ma(aes(x = date, y = adjusted), ma_fun = SMA, n = 50, size = 3) +
geom_line(aes(x = date, y = rolling_mean2), color = "red")