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

How do I use multiple tickers when using getFin in r?

我希望能够生成显示 select 财务报表行项目和财务报表比率(例如收入、运营支出、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 不会添加到环境中。这也可以防止将收入和资产负债表添加到环境中。

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

将数据加载到您创建的环境中,而不是全局环境中。然后使用 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 指定的每个对象的相关语句列表。