在R中获取多年的股票年度财务数据

时间:2012-04-16 15:50:59

标签: r quantmod quantitative-finance

假设我想要在总收入的R毛利中回归。我需要这方面的数据,越多越好。 我发现CRAN上有一个非常有用的库:quantmod,它可以满足我的需要。

library(quantmod)
getFinancials(Symbol="AMD", src="google")
#to get the names of the matrix: rownames(AMD.f$IS$A)
Total.Revenue<-AMD.f$IS$A["Revenue",]
Gross.Profit<-AMD.f$IS$A["Gross Profit",]

#finally:
reg1<-lm(Gross.Profit~Total.Revenue)

我遇到的最大问题是这个图书馆只获得了4年的数据(4次观察,只有4次观察才能进行回归)。有没有其他方式(可能是其他库)可以获得超过4年的数据?

1 个答案:

答案 0 :(得分:6)

我同意这不是一个R编程问题,但是在这个问题(可能)关闭之前我还是会发表一些评论。

归结为:即使您有足够的资金支出,在各个行业和市场上获取可靠的基础数据也很困难。如果您正在寻找美国,那么有许多选择,但所有主要(读“相对可靠”)提供商每月需要数千美元 - FactSet,Bloomberg,Datastream等。对于它的价值,我更喜欢使用基础数据并使用FactSet。

一般来说,由于每个提供商提供的Excel工具都比较成熟,我发现用数据填充电子表格然后将数据读入R更容易。然后,我通常会处理几十个基本面。公司最多,因为一旦你离开“已知”公司的领域,检查异常所需的时间会呈指数级增长。

有许多潜在的“陷阱”。最明显的是,不同部门的定义各不相同。例如,工业公司的“销售”与银行的“销售”非常不同。另一个问题是定义的变化。几乎每年都会出现一些会计法规或其他变化并打破您的数据系列。去年少数民族被报道这里,但今年这个项目被移到了P&amp; L的另一个位置,依此类推。

另一个问题是公司自身在变化。例如,如何处理合并,收购和分拆?这种事情可以使衡量有机销售增长几乎不可能。另外要记住的一点是,如果您处理经营利润或净利润,您必须考虑例外以及是否对其进行调整。

与美国以外的公司打交道会增加一大堆进一步的问题。当然,主要的数据提供商试图在全球范围内实现标准化(例如FactSet Fundamentals)。这只是增加了另一层抽象,通常很难检查数据是如何被操纵的。

简而言之,获取数据非常繁琐,我知道没有可靠的免费资源。除非你正在为一个非常同质的公司集团处理最简单的项目,否则即使你拥有这些数据,这也是一堆蠕虫。