用R中的列表计算MACD

用R中的列表计算MACD,r,R,我已将股票价格加载到R中的列表(数据)中。例如,数据[[1]]是AAPL。如果我在每只股票下面都有以下列:日期、开盘、高位、低位、收盘。问题是当我计算MACD并使用以下公式将其分配给列表中的a列时: DATA[[1]]$Macd <- MACD(DATA[[1]]$Close,nFast=12, nSlow=26, nSig=9, maType = "EMA") DATA[[1]]$Macd正如您已经了解的,Macd函数提供了两列值-Macd和signal。 您所需要做的就是通过引用它们

我已将股票价格加载到R中的列表(数据)中。例如,数据[[1]]是AAPL。如果我在每只股票下面都有以下列:日期、开盘、高位、低位、收盘。问题是当我计算MACD并使用以下公式将其分配给列表中的a列时:

DATA[[1]]$Macd <- MACD(DATA[[1]]$Close,nFast=12, nSlow=26, nSig=9, maType = "EMA")

DATA[[1]]$Macd正如您已经了解的,Macd函数提供了两列值-Macdsignal。
您所需要做的就是通过引用它们的MACD索引-1和2,将它们分配给数据[[1]]中的两个新列,而不是一个。
代码如下:

library(quantmod)
DATA <- list(getSymbols('AAPL', from=Sys.Date()-100, auto.assign=FALSE))
names(DATA[[1]])=c('open','high','low','close','volume','adjusted')
macd <- MACD(DATA[[1]]$close, maType='EMA')
   tail(macd, 2)  #verify
DATA[[1]]$macd <- macd[,1]
DATA[[1]]$sgnl <- macd[,2]
   tail(DATA[[1]][,c('macd','sgnl')], 2)  #verify
库(quantmod)
数据
library(quantmod)
DATA <- list(getSymbols('AAPL', from=Sys.Date()-100, auto.assign=FALSE))
names(DATA[[1]])=c('open','high','low','close','volume','adjusted')
macd <- MACD(DATA[[1]]$close, maType='EMA')
   tail(macd, 2)  #verify
DATA[[1]]$macd <- macd[,1]
DATA[[1]]$sgnl <- macd[,2]
   tail(DATA[[1]][,c('macd','sgnl')], 2)  #verify