R语言:批量获取指定股票代码的股票数据

目的是批量获取大量指定股票代码的股票数据,最后结果要求保存在csv文件中,由于有些股票代码是没有的,所以在获取过程中会导致出错,跳出循环。这里的处理方式是用tryCatch函数,并设定一定的等待时间,毕竟从雅虎下股票数据本来就挺慢的。

library(quantmod)
library(zoo)
library(xts)
library(TTR)
stock<-c(600000:600100)#指定需要获取数据的股票代码
for(i in stock){
     
  tryCatch({
     
    assign(paste("stock",i,sep=""),getSymbols(paste(i,".ss",sep="",collapse=""),src="yahoo",from='2016-01-01',to='2020-03-20',auto.assign=FALSE))
    write.csv(get(paste("stock",i,sep="")), file=paste("C:/Users/Desktop/60股票/",i,".csv"))
  },error=function(e){
     cat("ERROR :",conditionMessage(e),"\n")})
   Sys.sleep(10)#设定等待时间为10s
}

#利用paste函数解决了设置带参数的变量问题,和带参数的文件名问题
#tryCatch函数的使用参考 https://www.cnblogs.com/weibaar/p/4382397.html

你可能感兴趣的:(R语言,r语言)