在r中使用getFin时如何使用多个代码?

时间:2016-04-14 00:59:53

标签: r finance quantmod financial

我希望能够生成显示精选财务报表行项目和财务报表比率(例如,启示,运营支出,EBITDA,企业价值)的表格。我想让getFin接受一份代码清单。

library(quantmod)
library(xts)

ticker <- c("MS", "GS", "CS")
ticker1 <- getSymbols(ticker)
getFin(ticker1) #env.class

income<-viewFin(ticker1, "IS","A") # annual income statement
balancesheet<-viewFin(ticker1,"BS","A") # annual balance sheet

但是,getFin仅将MS自动收录器识别为MS.f,因此GS.f和CS.f不会添加到环境中。这也可以防止将收入和资产负债表添加到环境中。

让我知道如何解决这个问题。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

将数据加载到您创建的环境中,而不是全局环境中。然后使用eapply循环遍历环境中的所有对象,并在每个对象上调用viewFin

e <- new.env()
getFin(paste0(ticker,collapse=";"), env=e)
income <- eapply(e, viewFin, type="IS", period="A")
balancesheet <- eapply(e, viewFin, type="BS", period="A")

incomebalancesheet将是ticker指定的每个对象的相关陈述的列表。