我需要绘制股价图,并在其上方添加移动平均线。 我尝试了下面的代码来生成图。但是由于某些原因,图中未显示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')
答案 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)