您好,我正在运行以下代码:
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
2017年4月9日是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?是通过不同方式调用彭博社还是在合并中?在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