R Rblpapi订阅() - 多种证券

时间:2016-06-24 13:51:53

标签: r

有人知道如何在响应Rblpapi包中的订阅请求时区分一个安全性与另一个安全性吗?

{
  "adminUsers" : {
    "\"9hIokhGbBDfcvdQAPIoM7QcDS3g5\"" : true
  },
  "pages" : {
    "-KL1TmkWWNUYsMqvTw1E" : {
      "slug" : "xxx"
    }
  }
}

我需要一种方法来知道132.7344对应于secs [2]和166.15 secs [1]但是我无法在对象x $ data中看到任何字段来执行此操作。

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

通过subscribe函数查看结果对象的一种好方法是:

subscribe(securities=c("AAPL US Equity"),
          fields=c("LAST_PRICE"),
          fun=function(x) print(str(x)))

您可以从那里开始处理数据:

subscribe(securities=c("AAPL US Equity", "INTC US Equity"),
          fields=c("LAST_PRICE","BID","ASK"),
          fun=function(x) {
            if (!is.null(x$data$MKTDATA_EVENT_TYPE) && x$data$MKTDATA_EVENT_TYPE == "TRADE" && exists("LAST_PRICE", where = x$data)) {
              print(data.frame(Ticker = x$topic, DateTime = x$data$TRADE_UPDATE_STAMP_RT, Trade = x$data$LAST_PRICE))
            }
          })

可以使用subscription的FUN参数直接处理或存储数据。