将数据转换为xts对象

时间:2016-12-06 22:12:06

标签: r xts bloomberg

我对R相当新,我的问题很基本。我使用Rblpapi包将数据直接从Bloomberg下载到变量x。然后将该数据列为"对2个变量的观察结果"在我的环境数据中。它由左侧的日期(按时间排序)和月度价格数据组成,如下所示:

-----------------------------
       Date      PX_LAST
-----------------------------
    2014-06-30    55.3;
    2014-07-31    52.1;
    etc...

我现在想在quantmod中使用这些数据,但似乎我需要xts数据。如何轻松地将此类数据转换为xts格式,以便我可以进一步使用它?我总是得到错误:

  

try.xts中的错误(x,错误=" chartSeries需要一个xtsible对象"):chartSeries需要一个xtsible对象

1 个答案:

答案 0 :(得分:2)

R> ibm <- bdh("IBM US Equity", "PX_LAST", start.date=Sys.Date()-5) R> ibm date PX_LAST 1 2016-12-01 159.82 2 2016-12-02 160.02 3 2016-12-05 159.84 4 2016-12-06 160.35 R> class(ibm) [1] "data.frame" R> 返回data.frame:

R> ibmxts <- xts(ibm[, -1, drop=FALSE],  order.by=ibm[,1])
R> ibmxts
           PX_LAST
2016-12-01  159.82
2016-12-02  160.02
2016-12-05  159.84
2016-12-06  160.35
R> 

从中创建一个xts非常容易:

getTicks()

编辑: getBars()和{{1}}都允许您指定返回类型并为您提供xts(或其他类型);我刚刚提交了this answer来提醒我们在这里添加这个......