首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R Rblpapi subscribe( )-多证券

R Rblpapi subscribe( )-多证券
EN

Stack Overflow用户
提问于 2016-06-24 21:51:53
回答 1查看 240关注 0票数 1

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

代码语言:javascript
复制
secs <- c("RXU6 Comdty", "TYU6 Comdty", "SHSZ300 INDEX")
flds <- c("LAST_PRICE")
subscribe(secs,flds, fun = parseResponse)

parseResponse <- function (x) {
   if (x$event.type == "SUBSCRIPTION_DATA") {
      s <- as.character(x$data$TRADE_UPDATE_STAMP_RT)
      if (!is.null(s)) {
            if (length(s)>0) {
                  ts <- as.POSIXct(s)
                  if ((ts > beg.time) & (ts < end.time)) {
                      print(x$data$EVENT_TIME)
                      print(x$data$LAST_PRICE)
                  }
            }
      }
   }
}

[1] 132.7188
[1] "15:27:16"
[1] 166.15
[1] "15:27:16"
[1] 166.15
[1] "15:27:16"
[1] 166.15
[1] "15:27:16"
[1] 132.7344

我需要一种方法来知道132.7344对应于secs2,166.15对应于数据,但是我在x$ secs1对象中看不到任何这样做的字段。

谢谢您抽时间见我。

EN

回答 1

Stack Overflow用户

发布于 2019-07-17 22:29:33

查看来自subscribe函数的结果对象的一个好方法是:

代码语言:javascript
复制
subscribe(securities=c("AAPL US Equity"),
          fields=c("LAST_PRICE"),
          fun=function(x) print(str(x)))

从那里,您可以以自己的方式进入数据:

代码语言:javascript
复制
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))
            }
          })

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38015077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档