Очень новичок в R, так что я надеюсь, что никого не расстрою. Собирая фрагменты из онлайн-поиска и используя пакеты Quantmode и purr, у меня есть следующий код для создания фрейма данных xts с именем stocks
:
symbols <- c("RYCVX","AJA","IEMG")
start <- as.Date("2006-06-22")
end <- as.Date("2020-07-30")
# collect adjusted column of all symbols in one matrix
stocks <- getSymbols(symbols,src = "yahoo", from = start, to = end,
auto.assign = TRUE,
warnings = FALSE) %>%
map(~Ad(get(.))) %>%
reduce(merge) %>%
`colnames<-`(symbols)
Это ежедневно, но я хочу иметь ежемесячную матрицу , но по-прежнему сохраняйте поля NA
. Я пробовал эту строку кода:
mstocks <- to.monthly(stocks, indexAt = "last", OHLC = FALSE)
, но мой результирующий фрейм данных сжимается до символа с наименьшим объемом данных, поскольку любая строка с любым отсутствующим значением опускается, поэтому я заканчиваю потерю данных на более исторически богатый символ.
Есть ли способ сохранить недостающие значения и получить ежемесячные данные, которые, как и мои ежедневные данные, содержат строки, в которых один символ - NA
?
Итак вот что я получаю:
RYCX AJA IEMG
2018-12-30 29.3045 4.5523 33.2045 <- first date all symbols have data
...
2020-07-30 34.2344 5.6664 12.2234
То, что я получаю теперь с помощью Уолтса:
V1
2006-06-30 NA
...
2020-07-29 52.66000
Что мне нужно:
RYCX AJA IEMG
2006-06-30 29.3045 NA NA
....
2020-07-30 34.2344 5.6664 12.2234
Все цены составлены