Здравствуйте, я запускаю следующий код:
start_Date = as.Date("2017-09-01")
end_Date = as.Date("2017-09-05")
sec_Tickers <- c("EURGBP Curncy","0000AR Index")
opts <- c("periodicitySelection"="DAILY", "nonTradingDayFillOption"="ACTIVE_DAYS_ONLY", "nonTradingDayFillMethod"="PREVIOUS_VALUE")
bbg_Data <- bdh(sec_Tickers,"PX_LAST", start_Date, end_Date, options=opts)
Это возвращает следующее в bbg_Data:
EURGBP Curncy 0000AR Index
01/09/2017 0.91587 01/09/2017 500100.01
04/09/2017 0.92015 05/09/2017 49765.40
05/09/2017 0.91412
04/09/2017 является торговым днем для EURGBP, но выходным днем в Канаде (День труда). Затем я возьму ниже из другого поста, где кто-то любезно показал, как объединить данные, чтобы у вас был только 1 столбец даты.
# Ammend data to have only one date column
xts_Transform <- lapply(bbg_Data, function(d) xts(d[,-1], order.by=as.Date(d[,1])))
xts_bbg_Data <- do.call(merge, xts_Transform)
colnames(xts_bbg_Data) <- gsub(" ", "_", sec_Tickers)
и получите:
EURGBP_Curncy 0000AR_Index
2017-09-01 0.91587 50100.01
2017-09-04 0.92015 **NA**
2017-09-05 0.91412 49765.4
Есть ли хороший и быстрый способ, где я мог бы установить этот NA на предыдущее значение 50100.01? Или по-другому называть Bloomberg или в слиянии? В Excel, когда вы вызываете BDH, это происходит по умолчанию, поэтому мы надеемся, что был простой способ повторить это. Хочу в итоге:
EURGBP_Curncy 0000AR_Index
2017-09-01 0.91587 50100.01
2017-09-04 0.92015 50100.01
2017-09-05 0.91412 49765.4