无法将移动平均线添加到股价时间序列图中

时间:2018-08-15 16:59:46

标签: r xts zoo

我需要绘制股价图,并在其上方添加移动平均线。 我尝试了下面的代码来生成图。但是由于某些原因,图中未显示ma线。我很困惑有人知道我在代码中做错了什么吗?为什么麻线不显示?

library(quantmod)
library(forecast)
library(xts)
library(zoo)
start <- as.Date('2018-01-01')
end <- as.Date('2018-02-13')
getSymbols('APPL', src='yahoo', from=start, to=end)
appl <- APPL[, 'APPL.Adjusted']

plot(appl)
sma = ma(appl, order=20)
lines(sma, col='red')

1 个答案:

答案 0 :(得分:1)

使用以下命令将ts(通过应用ma()函数获得)转换为xts对象:

sma = xts(ma(aapl, order=20), order.by=index(appl))
lines(sma, col='red')

plot()对象现在可以将移动平均值(MA)添加到绘图中。

请记住,ma()进行了一些调整,以使诸如您的偶数阶MA居中。它通过对数据应用两个非中心的MA来执行此操作,一个是20阶,另一个是2阶。因此以下等效于您计算的MA:

ma( ma(appl, 20, centre=F), 2, centre=F)