diff options
| author | Guillaume Horel <guillaume.horel@gmail.com> | 2011-10-11 00:33:20 -0400 |
|---|---|---|
| committer | Guillaume Horel <guillaume.horel@gmail.com> | 2011-10-11 00:33:20 -0400 |
| commit | f5c8bf65078c8d87fa2d510caf7ba793a59ea7c0 (patch) | |
| tree | 4c0b61cfa5638202bc9e6e4d93eef853e8d6488d /bloomberg-data.R | |
| parent | e218b9cb3b5290028d5121ecdf0622fe3f78bad8 (diff) | |
| download | bandit-f5c8bf65078c8d87fa2d510caf7ba793a59ea7c0.tar.gz | |
Loaded bloomberg data
- complete dataset from 2000-01-01
- adjusted and unadjusted data
- still need to downlad split and dividend info
- need to compare data with yahoo data
Diffstat (limited to 'bloomberg-data.R')
| -rw-r--r-- | bloomberg-data.R | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/bloomberg-data.R b/bloomberg-data.R new file mode 100644 index 0000000..92d864a --- /dev/null +++ b/bloomberg-data.R @@ -0,0 +1,48 @@ +require(RBloomberg) +conn <- blpConnect(jvm.params = "-Xmx1024m") +sp500.tickers <- as.character(bds(conn,"SPX Index","INDX_MEMBERS")[,1]) +#remove exchange information +for(i in 1:length(sp500.tickers)){ + ticker <- sp500.tickers[i] + sp500.tickers[i] <- strsplit(ticker," ")[[1]][1] +} + +list.sp500 <- list() +for(i in 1:length(sp500.tickers)){ + ticker <- sp500.tickers[i] + list.sp500[[ticker]] <- bdh(conn,paste(ticker,"Equity"),c("PX_OPEN","PX_HIGH","PX_LOW","PX_LAST"),as.Date("2000-01-01"),dates.as.row.names=F) +} + +#split information +EQY_DVD_HIST_SPLITS +#dividend information +DVD_HIST + +add <- read.table("sp500 add.csv",sep=",",fill=T,header=T,colClasses="character",quote="") +add$date <- as.Date(add$date,format="%m/%d/%Y") + +memb <- function(index,add,date){ + #return the list of index constituents + toreverse <- add[add$date>=date,] + current.index <- index + for(i in 1:nrow(toreverse)){ + if(toreverse$ticker.add[i]!=""){ + current.index <- current.index[-match(toreverse$ticker.add[i],current.index)] + } + if(toreverse$ticker.del[i]!=""){ + current.index <- sort(c(current.index,toreverse$ticker.del[i])) + } + } + current.index +} + +sp500.extended <- union(sp500.tickers,add$ticker.del) +sp500.extended <- sp500.extended[-match("",sp500.extended)] +extra.tickers <- setdiff(sp500.extended,sp500.tickers) + +list.extra <- list() +for(i in 1:length(extra.tickers)){ + ticker <- extra.tickers[i] + list.extra[[ticker]] <- bdh(conn,paste(ticker,"Equity"),c("PX_OPEN","PX_HIGH","PX_LOW","PX_LAST"),as.Date("2000-01-01"),dates.as.row.names=F) +} + |
