У меня более 300 компаний, и мне нужно рассчитать для них ежемесячный доход, а затем использовать его в качестве одной из переменных в моем наборе данных. Я скачиваю цены с Yahoo и рассчитываю ежемесячный доход с помощью пакета Quantmod:
require(quantmod)
stockData <- lapply(symbols,function(x) getSymbols(x,auto.assign=FALSE, src='yahoo', from = '2000-01-01'))
stockDataReturn <- lapply(stockData,function(x) monthlyReturn(Ad(x)))
Проблема, с которой я столкнулся, заключается в том, что у некоторых компаний есть разные дни окончания месяца (из-за остановок торговли и т. Д.), Что отражено в выходном списке: 2013-12-30 для компании AAA и 2013-12-31 для компании BBB и остальных. пример.
Когда я объединяю список, используя
returns <- do.call(merge.xts, stockDataReturn)
Создается отдельная строка за 30 декабря 2013 г. со всеми НП, кроме компании AAA. Как я могу это решить? Я понимаю, что мне нужно придерживаться формата месяц-год, который мне нужно использовать в качестве индекса перед слиянием.
В идеале я хочу, чтобы на этапе monthReturn он использовал дату начала месяца, а не конец месяца.