我试图在一个日期范围内提取几种证券的历史数据 . 我可以使用下面的代码获取我想要的数据,但结果列表会为每个安全性生成一个日期列 . 我想在右侧列中的列表中的每个安全性的第一个,最左边的列中找到日期,然后是安全性字段数据(px_last等) . 我知道在BBG中使用excel我可以使用覆盖(dts = H)隐藏日期字段,但我希望列表中最左边的列填充日期,
sec <- c("SPX Index","SX5E Index")
lb <- 5
startdate <- Sys.Date() - lb
opt <- c("periodicitySelection"="DAILY","nonTradingDayFillOption"="NON_TRADING_WEEKDAYS","nonTradingDayFillMethod"="PREVIOUS_VALUE")
dat <- bdh(sec,fields="px_last",start.date = startdate,options=opt)
返回:
$`SPX Index`
date px_last
1 2016-12-19 2262.53
2 2016-12-20 2270.76
3 2016-12-21 2265.18
4 2016-12-22 2261.03
$`SX5E Index`
date px_last
1 2016-12-19 3257.85
2 2016-12-20 3279.41
3 2016-12-21 3270.75
4 2016-12-22 3262.11
我想看到三列而不是四列 . Col1是日期,Col2是SPX索引px_last,Col3是SX5E索引px_last . 谢谢
1 回答
之后您只需手动合并 .
首先重做代码:
我们看到我们有一个
data.frame
类型的列表 . 我们将制作一个xts
对象列表(这就是我们上面加载该包的原因),然后合并列表元素并设置列名: