2016-12-06 10 views
1

Я довольно новичок в R, и мой вопрос довольно прост. Я использую пакет Rblpapi для загрузки данных непосредственно из Bloomberg в переменную x. Эти данные затем перечисляются как «20 наблюдений двух переменных» в данных моей среды. Она состоит из даты (заказанного времени) на левой и месячных ценовых данных, следующим образом:Преобразование данных в объекты xts

----------------------------- 
     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

ответ

2

bdh() возвращает 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> 

Edit:getTicks() и getBars() оба позволяют указать тип возврата и предоставить вам xts (или другой тип); Я только что подал заявку an issue, чтобы напомнить нам добавить это здесь тоже ...