【问题标题】:Bulk financial data download via quantmod通过 quantmod 批量下载财务数据
【发布时间】:2016-03-06 13:51:47
【问题描述】:

R 包有一个quantmod。此外,还有一个财务数据请求。

getFinancials('GE'),

GE 是股票代码。

我想知道,我怎样才能下载一堆资产负债表(我有一个向量,比如 2000 个股票代码),然后将其导出到单独文件中的任何 SQL 数据库。

嗯,基本上我需要它在其他分析软件中使用,但找到资产负债表的综合数据库似乎是一项任务。我看到的唯一选择是通过 quantmod。

基本下载和查看如下:

library(quantmod)
getFinancials('GE')
viewFinancials(GE.f)

【问题讨论】:

  • 是的,如果我把所有的代码都排成一行,即使在互联网非常快的英特尔至强上也会卡住。
  • 你的互联网连接的速度可能比你下载的服务器的连接速度要小很多。如果您在太短的时间内发出太多请求,该服务器可能会限制它对您的响应。

标签: r bulk quantmod financial balance


【解决方案1】:

你可以这样做。

require(quantmod)
setwd("C:/Users/your_path_here/downloads")
stocks <- c("AXP","BA","CAT","CSCO","CVX","DD","DIS","GE","GS","HD","IBM","INTC","JNJ","JPM","KO","MCD","MMM","MRK","MSFT","NKE","PFE","PG","T","TRV","UNH","UTX","V","VZ","WMT","XOM")

# equityList <- read.csv("EquityList.csv", header = FALSE, stringsAsFactors = FALSE)
# names(equityList) <- c ("Ticker")

for (i in 1 : length(stocks)) {   
        temp<-getFinancials(stocks[i],src="google",auto.assign=FALSE)
        write.csv(temp$IS$A,paste(stocks[i],"_Income_Statement(Annual).csv",sep=""))
        write.csv(temp$BS$A,paste(stocks[i],"_Balance_Sheet(Annual).csv",sep=""))
        write.csv(temp$CF$A,paste(stocks[i],"_Cash_Flow(Annual).csv",sep=""))
        write.csv(temp$IS$A,paste(stocks[i],"_Income_Statement(Quarterly).csv",sep=""))
        write.csv(temp$BS$A,paste(stocks[i],"_Balance_Sheet(Quaterly).csv",sep=""))
        write.csv(temp$CF$A,paste(stocks[i],"_Cash_Flow(Quaterly).csv",sep=""))
}

【讨论】:

  • 太好了,我会尝试恢复
  • 它在少量工作,但在大的时候返回错误: Error in thead[x]:thead[x + 1] :NA/NaN-аргумент 附加:警告:在download.file(paste(google.fin, Symbol, sep = ""), quiet = TRUE, : Downloaded size 9510 != retrived size 200
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多