将数据转换为 xts 对象

Converting data into xts objects

我是 R 的新手,我的问题很基础。我使用 Rblpapi 包直接从 Bloomberg 下载数据到变量 x。然后,此数据在我的环境数据中列为“2 个变量的 20 个观察值”。由左边的日期(按时间排序)和每月的价格数据组成,如下:

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

我现在想在 quantmod 中使用这些数据,但似乎我需要 xts 数据。我怎样才能轻松地将这种数据转换成 xts 格式,以便我可以进一步使用它?我总是收到错误消息:

Error in try.xts(x, error = "chartSeries requires an xtsible object"): chartSeries requires an xtsible object

bdh()return一个data.frame:

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> 

从这里创建一个 xts 非常容易:

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> 

编辑: getTicks()getBars() 都让您指定 return 类型并给您 xts(或其他类型);我刚刚提交 an issue 提醒我们也在这里添加这个...