使用Rbbg包查找特定日期的SP 500索引成员

时间:2014-07-28 12:54:33

标签: bloomberg

我试图在Bloomberg软件包Rbbg的帮助下,在特定日期前提取S& P 500指数的指数成员:

这是一个小例子,它将为我提供今天的SP500成分:

配置

index <- "SPX Index" 

Sys.setenv(TZ="GMT")

require(Rbbg)
require(tcltk)
library(rJava)

date <- as.POSIXct("1990-01-01")

与bloomberg电台的连接

conn <- blpConnect(jvm.params = c("-Xmx256m", "-Xloggc:rbloomberg.gc", "-XX:+PrintGCDetails"))

索引成员及其代码

 tickers <- bds(conn, index, "INDX_MEMBERS")[,1]

现在我想在bds()函数中插入一个特定日期,以便从1990年1月1日起获得索引成分。

感谢您的帮助。 最好的祝福 Jann

1 个答案:

答案 0 :(得分:0)

正确的解决方案虽然不是很灵活。使用我们的HistIndexTickers功能,您可以在矩阵中获取所需的任何时间频率的历史代码。输出是一个带有零和一的矩阵,表示在任何给定日期,股票代码是否属于指数的一部分。

> require(RbbgExtension)
> require(quantmod)
> 
> hist.tickers <- HistIndexTickers(index = "SPX",
+                                  startdate = "20140101",
+                                  freq = "MONTHLY")
R version 3.1.2 (2014-10-31) 
rJava Version 0.9-6 
Rbbg Version 0.5.3 
Java environment initialized successfully.
Looking for most recent blpapi3.jar file...
Adding C:\blp\API\APIv3\JavaAPI\v3.7.1.1\lib\blpapi3.jar to Java classpath
Bloomberg API Version 3.7.1.1 
R version 3.1.2 (2014-10-31) 
rJava Version 0.9-6 
Rbbg Version 0.5.3 
Java environment initialized successfully.
Looking for most recent blpapi3.jar file...
Adding C:\blp\API\APIv3\JavaAPI\v3.7.1.1\lib\blpapi3.jar to Java classpath
Bloomberg API Version 3.7.1.1 
[1] "Finding historical tickers for SPX on..."
2014-01-31 
2014-02-28 
2014-03-31 
2014-04-30 
2014-05-30 
2014-06-30 
2014-07-31 
2014-08-29 
2014-09-30 
2014-10-31 
2014-11-28 
2014-12-31 
2015-01-30 
> dim(hist.tickers)
[1]  13 517
> hist.tickers[,1:6]
           A US AA US AAPL US ABBV US ABC US ABT US
2014-01-31    1     1       1       1      1      1
2014-02-28    1     1       1       1      1      1
2014-03-31    1     1       1       1      1      1
2014-04-30    1     1       1       1      1      1
2014-05-30    1     1       1       1      1      1
2014-06-30    1     1       1       1      1      1
2014-07-31    1     1       1       1      1      1
2014-08-29    1     1       1       1      1      1
2014-09-30    1     1       1       1      1      1
2014-10-31    1     1       1       1      1      1
2014-11-28    1     1       1       1      1      1
2014-12-31    1     1       1       1      1      1
2015-01-30    1     1       1       1      1      1