Расчет MACD с использованием List в R - PullRequest
0 голосов
/ 10 мая 2018

Я загрузил цены акций в список (DATA) в R. Скажем, DATA [[1]] - это AAPL. Если у меня есть следующие столбцы под каждой акцией: дата, открытие, максимум, минимум, закрытие. Проблема в том, когда я вычисляю MACD и назначаю его столбцу в списке, используя:

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

Я получаю один столбец значений, в котором я не уверен, что это за значения.

Но когда я вычисляю MACD, присваивая его переменной

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

Я получаю два столбца MacD и сигнал .

Может ли кто-нибудь помочь мне понять, как я могу получить значения двух столбцов (macd и signal), когда я использую функцию MACD для вычисления значений в списке?

P.S. Я использовал функцию MACD в TTR package

1 Ответ

0 голосов
/ 17 декабря 2018

Как вы уже поняли, функция MACD предоставляет два столбца значений - macd и signal . Все, что вам нужно сделать, это назначить их не одному, а двум новым столбцам в DATA [[1]], ссылаясь на их индексы MACD - 1 и 2. Вот код:

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

P.S. поскольку вы используете значения по умолчанию MACD (nFast = 12, nSlow = 26, nSig = 9), вы можете опустить их в коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...