R/downloadData.R

download.data <- function(assets,from,to){
  data <- list()
  from.y <- as.numeric(strsplit(as.character(from),'-',)[[1]][1])
  from.m <- as.numeric(strsplit(as.character(from),'-',)[[1]][2])
  from.d <- as.numeric(strsplit(as.character(from),'-',)[[1]][3])
  to.y <- as.numeric(strsplit(as.character(to),'-',)[[1]][1])
  to.m <- as.numeric(strsplit(as.character(to),'-',)[[1]][2])
  to.d <- as.numeric(strsplit(as.character(to),'-',)[[1]][3])
  google.URL <- "http://finance.google.com/finance/historical?"
  
  for(i in 1:(length(assets))){
    Symbols.name <- assets[i]
    URLdata  <- paste(google.URL,"q=",Symbols.name,"&startdate=",month.abb[from.m],"+",sprintf('%.2d',from.d),
                      ",+",from.y,"&enddate=",month.abb[to.m],"+",sprintf('%.2d',to.d),
                      ",+",to.y,"&output=csv",sep='')
    data[[i]] <- read.csv(url(URLdata))$Close
  }
  
  lengths <- c(1:length(assets))
  for(i in 1:(length(assets))){
    lengths[i] <- length(data[[i]])
  }
  
  minlength <- min(lengths)
  time <- as.character(read.csv(url(URLdata))[,1])[1:minlength]
  
  data2 <- array(0,dim=c(minlength,length(assets)))
  
  for(i in 1:(length(assets))){
    data2[,i] <- data[[i]][1:minlength]  
  }
  
  dimnames(data2) = list(time,assets)
  data2 <- data2[seq(1,length(data2[,1]),5),]
  data2 <- data2[length(data2[,1]):1,]
  
  
  # convert time stamps into right date format
  dates <- unlist(strsplit(rownames(data2), split="-", fixed=TRUE))
  day <- as.numeric(dates[seq(1,length(dates),3)])
  Months <- 1:12
  names(Months) <- month.abb
  month <- dates[seq(2,length(dates),3)]
  mon.num <- unname(Months[month])
  year <- as.numeric(dates[seq(3,length(dates),3)])+2000
  date <- paste(year,mon.num,day,sep="-")
  rownames(data2) <- date
  
  return(data2)
}

  collection <- as.matrix(read.csv("data//data.csv",sep=";")) # historic monthly prices
  assets <- colnames(collection)

  asset <- assets
  from <- c("1993-01-01")
  to <- Sys.Date()
  data <- download.data(asset,from,to)
  save(data,file="data/data.rda")
  
benchmark <- download.data(c("VT","SPY"),from,to)[,1]
save(benchmark,file="data/benchmark.rda")
Bjerring/RISpackage2 documentation built on May 6, 2019, 7:56 a.m.