require(RBloomberg) source("utils.R") conn <- blpConnect(jvm.params = "-Xmx1024m") #get current tickers sp500.tickers <- as.character(bds(conn,"SPX Index","INDX_MEMBERS")[,1]) #remove exchange information sp500.tickers <- gsub(" [A-Z]*","", sp500.tickers) add <- read.table("sp500 add.csv", sep=",", fill=T, header=T, colClasses="character", quote="") add$date <- as.Date(add$date,format="%m/%d/%Y") sp500.extended <- union(sp500.tickers,add$ticker.del) sp500.extended <- sp500.extended[-match(c("","WHO"),sp500.extended)] extra.tickers <- setdiff(sp500.extended,sp500.tickers) company.names <- c() for(ticker in sp500.extended){ company.names <- c(company.names, bdp(conn, paste(ticker, "Equity"), "NAME")$NAME) } sp500.extended <- data.frame(ticker=sp500.extended,name=company.names) write.table(file="sp500 extended.csv", sp500.extended, col.names=T, row.names=F, sep=",") #retrieve data from bloomberg start.date <- as.Date("2000-01-01") stock.data <- list() for(i in 1:NROW(sp500.extended)){ ticker <- as.character(sp500.extended$ticker[i]) stock.data[[ticker]] <- getBloombergData(conn,ticker,start.date) cat(paste("ticker", i, ": ",ticker),"\n") }