为什么我在使用 R 包 edgar 从 10-K 报告中提取业务描述时会遇到错误?

Why do I encounter errors when extracting business descriptions from 10-K reports using the R package edgar?

我正在尝试使用 R 包从他们的 10-K 报告中提取多家公司的业务描述,edgar。我正在使用 getBusinDescr 函数来执行此操作。

因为我想要许多公司(1000 多家)的业务描述,所以我创建了一个公司的 cik 标识符向量,并让 R 使用该向量下载 1000 多家公司的描述。问题是,R 完美地下载了我想要的填充物(10-K 报告),但它无法提取我感兴趣的部分。它在 2007 年停止在 61%,在 2011 年停止在 31%。但是,对于 2010 年,提取结果为 100%。

综上所述,提取在某些年份有效,但在其他年份无效。我很想知道这个错误是从哪里来的。你认为这是因为数据可用性(即某些公司几年没有业务描述)还是重复抓取尝试的一些自然错误?请帮助我解释并希望能处理错误。

仅供参考,我在 Mac 上使用最新的 R。

我使用的代码是:

# using edgar package on R
library(edgar)

# cikvector is a vector of multiple firms' identifier codes

# for year 2007
- filings.BusinDes.2007 <- getBusinDescr( cik.no=cikvector, filing.year=2007)
# for year 2008
filings.BusinDes.2008 <- getBusinDescr( cik.no=cikvector, filing.year=2008)

理想的结果如下:

Downloading fillings. Please wait...              
100%
Extracting 'Item 1' section...
100%
Business descriptions are stored in 'Business descriptions text' directory.

我遇到的错误如下(虽然下载了整个报告没有任何问题):

Downloading fillings. Please wait...     
100%
Extracting 'Item 1' section...                                                                                                             
**|  31%Error in (grep("<DOCUMENT>", filing.text, ignore.case = TRUE)[1]):    (grep("</DOCUMENT>",  : 
NA/NaN argument**

我遇到了同样的错误,但发现仅 'commenting out' 函数代码中有问题的行就解决了问题。

因此,您需要编辑 Edgar 包中的函数 'getBusinDescr'。在 R-Studio 中执行此操作的一种简单方法是 运行:

fix(getBusinDescr)

接下来,您需要找到以下几行:

    filing.text <- filing.text[(grep("<DOCUMENT>", filing.text, 
                                 ignore.case = TRUE)[1]):(grep("</DOCUMENT>", filing.text, 
                                                               ignore.case = TRUE)[1])]

并在每行的开头添加一个 # 以将它们从函数中删除(即注释掉它们)。然后,当您 运行 该函数时,它应该可以正常工作。

这个问题在我几周前就开始了,我确信它 运行 在使用完全相同的基础数据之前是完美的。关于发生这种情况的原因,我最好的猜测是 SEC 可能稍微更改了他们的 HTML 代码,以便“”标签不会出现在某些原始文件中。我懒得去验证这个理论,但它是有道理的。