问题标签 [edgar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
regex - 我将如何处理大量结构化但不一致的数据?
我正在尝试解析EDGAR 文件——它们是 SEC 文件。具体来说,我正在尝试解析SEC 附表 13D和附表 13G文件。
解析这些文件似乎有很多失败的尝试,我认为这是因为这样做是整个团队必须解决的庞然大物任务。
我的任务是解析这些文件。我们需要整个数据表中的信息。问题是记录在案的文件让我很难区分数据点、表格部分标题等。
到目前为止,我只能从大约 10% 的 Schedule 13D 文件中抓取信息,甚至我抓取的内容也需要大量清理。简而言之,我将正则表达式模式与文本匹配。该模式采用一个已知的(英文)部分标题和下一个(我手动设置)并提取两者之间的内容:例如,CHECK THE APPROPRIATE BOX IF A MEMBER OF A GROUP(.*?)SEC USE ONLY
. 显然,这不会让我走得太远,事实并非如此。使用相同的逻辑,这是我基于以下示例字符串(作为示例)得到的:
示例文本
报告人姓名 IRS ID NOS。上述人员(仅限实体)Robert DePalo 如果是团体成员,请勾选适当的方框(参见说明)(a) (b) SEC 仅使用资金来源(参见说明)如果需要披露法律程序,请勾选方框第 2(d) 或 2(e) 项公民身份或组织所在地美国唯一投票权45,119,857 (1) 共享投票权-0-唯一处置权45,119,857 (1)10.共享处置权-0-11.总金额每个报告人实益拥有 45,119,857 (1)12.如果第 (11) 行中的总金额不包括某些股份(请参阅说明),请勾选方框 13. 第 (11) 行中的金额代表的类别百分比 (2)33.4% (2) 14. 报告人类型(见说明)(1) 由 44,194 人组成,报告人持有 298 股普通股,Arjent Limited UK 持有 925,559 股普通股。报告人是 Arjent Limited UK 的董事长,对其持有的股份具有投票权和投资权。不包括报告人和报告人妻子拥有的实体有权获得的任何类别的优先股,如下文第 6 项所述。(2) 不包括报告人有权获得的投票权如本附表 13D 第 6 项所述,根据 SPHC B 系列优先股。
示例输出
key: CHECK THE | v: (a)    (b)    
key: CITIZENSHI | v: United States
key: CHECK BOX | v:      
key: SHARED VOT | v: -0-
key: PERCENT OF | v: PERCENT OF CLASS REPRESENTED BY AMOUNT IN ROW \(11\)
key: TYPE OF RE | v: TYPE OF REPORTING PERSON \(see instructions\)
key: CHECK BOX | v:     13.
key: SOLE DISPO | v: 45,119,857
key: SEC USE ON | v: SEC USE ONLY
key: SHARED DIS | v: -0
key: SOLE VOTIN | v: 45,119,857
key: NAMES OF R | v: Robert DePalo
key: AGGREGATE | v: 45,119,857 12.
key: SOURCE OF | v: SOURCE OF FUNDS \(see instructions\)
还有其他方法吗?这不适用于大多数 13D 文件,也不适用于 13G。我觉得我的方法有点太天真了,我需要一种通用的方法来解决这样的问题。我希望刮掉至少 80% 的文件中的至少 80%。
r - Edgar (finstr): error: cannot join on columns 'elementId' x 'elementId' - R
Ran following: library(finstr) inst<- "http://edgar.sec.gov/Archives/edgar/data/320193/000119312514383437/aapl-20140927.xml"
xbrl.vars<- xbrlDoAll(inst, verbose=TRUE)
st2013<-xbrl_get_statements(xbrl.vars)
Recevied following error
Error: cannot join on columns 'elementId' x 'elementId': Can't join on 'elementId' x 'elementId' because of incompatible types (factor / integer) In addition: Warning message: In semi_join_impl(x, y, by$x, by$y) : joining factors with different levels, coercing to character vector
web-scraping - 网络抓取 SEC Edgar 10-K 和 10-Q 文件
有没有人在抓取 SEC 10-K 和 10-Q 文件方面有经验?我在试图从这些文件中提取每月实现的股票回购时遇到了困难。具体来说,我想获得以下信息: 1. 期间;2. 购买的股份总数;3. 每股平均支付价格;4. 作为公开宣布的计划或计划的一部分购买的股份总数;5. 2004 年至 2014 年每个月在计划或计划下可能购买的股票的最大数量(或近似美元价值)。我总共有 90,000 多个表格要解析,所以这样做是不可行的手动。
此信息通常在 10-K 中的“第 2 部分第 5 项注册人的普通股、相关股东事项和发行人购买股票的市场”和“第 2 部分第 2 项未注册的股票出售和收益使用”下报告。
这是我需要解析的 10-Q 文件的一个示例: https ://www.sec.gov/Archives/edgar/data/12978/000104746909007169/a2193892z10-q.htm
如果公司没有股票回购,则季度报告中可能会缺少此表。
我曾尝试用 Python BeautifulSoup 解析 html 文件,但结果并不理想,主要是因为这些文件不是以一致的格式编写的。
例如,我能想到的解析这些表单的唯一方法是
上面的代码只返回了可能包含回购信息的乱码。但是,1)不可靠;2)速度很慢;3) 以下步骤来抓取日期/月份、股价和股数等要痛苦得多。我想知道是否有更多可行的语言/方法/应用程序/数据库来获取此类信息?太感谢了!
python - FTP 550 错误:EGDAR FTP 服务器中没有这样的文件或目录
我正在尝试下载不同年份不同季度的所有master.idx文件。EDGAR FTP 的结构如下:“edgar/full-index/2011/QTR3/”,QTR3 文件夹中有master.idx 文件。
我试图通过循环访问不同年份的文件夹,但它返回 550 错误。所以我试着像这样测试循环。
year = 2013 部分有效,但是当我重置 year = 2014 时,它给了我这样的错误。
但是,如果我在 2013 年和 2014 年之间再次添加登录信息,就像这样
没有错误。任何人都知道为什么并且可以提供快速解决方案来访问每年文件夹中每个季度文件夹中的 master.idx 吗?
php - EDGAR .txt 文件的 HTML 呈现
目前,我正在进行一个项目,其中一个 PHP 脚本从ftp://ftp.sec.gov获取索引文件并将所有公司信息放入数据库中。然后,第二个 PHP 脚本从 SEC 获取原始文本文件并将其保存在本地以供处理。
可以在此处找到原始文本文件的示例 -
ftp://ftp.sec.gov/edgar/data/2488/0000002488-15-000028.txt
可以在此处找到最终结果的示例 - http://www.sec.gov/Archives/edgar/data/1084869/000143774915020024/flws20150927_10q.htm
目标是能够像许多公司一样以格式化的方式呈现文件,但问题是我似乎无法弄清楚它是如何可靠地为每个文件完成的。一些文件似乎有 XML,其他文件似乎有 HTML
我如何能够可靠地生成原始文本文件的格式化版本?
我拥有的当前代码 -
?>
xml-parsing - xbrl 维度链接库解析
我正在尝试解析 SEC edgar xml 数据,并且对可链接的定义感到困惑。以下是苹果10-Q定义链接库的摘录。注意:该roleURI
列是从roleRef
定义链接库中的元素添加的。
根据这些数据,我希望能够为Condensed Consolidated Statements of Operations
.
我的问题是我不确定如何解析它。我假设一个从arcrole/all
which states 有一个 from link =us-gaap_StatementLineItems
和 to =开始us-gaap_StatementTable
。从这一点可以通过表格跟踪以下链接:
从这里开始,它停止,因为dei_EntityDomain
没有链接到任何东西。我知道结构应该是这样的:
渲染数据:
模型结构:
我希望链接库的结构看起来像这样:
我可以看到这将有效地允许从 Statement 表挂起两个级别,但它显然不是那样工作的。
有人可以告诉我如何使用提供的定义链接库数据来读取它以达到上图所示的预期结构。一旦我了解了定义链接库的工作原理,我就可以提取事实和概念。
xml - 从演示链接库生成事实表
这是这个 SO question的后续问题。
现在从此处找到的演示链接库创建了模型结构,我现在想提取事实表信息。
模型结构为:
我试图从 xml 文档重新创建的事实表包含以下信息:
然后可以呈现该事实表以生成该表:
问题是我不确定如何获取每个行项目的具体事实。例如,模型结构包含Net sales
具有概念的元素us-gaap_SalesRevenueNet
。实例文档包含以下引用us-gaap_SalesRevenueNet
:
在显示的 12 个事实中,事实表只需要两个 - 它们是 contextRef 为eol_PE2035----1510-Q0015_STD_91_20141227_0
和的事实eol_PE2035----1510-Q0015_STD_91_20151226_0
。
这些 contextRef id 对应于实例文档中的以下事实:
这些 contextRefs 本质上是Period Axis
元素。我无法判断周期轴是如何从 xml文档中确定的,因此无法重现事实表。谁能阐明如何做到这一点?
quandl - 用于 13F/13G SEC 备案的数据集
我正在寻找一个包含 Quandl 中 13F/13G 文件的数据库,但找不到。也许我没有使用正确的关键字?有什么建议可以在哪里找到精选的数据集?我不想最终再次刮掉 EDGAR。干杯!
edgar - 解析 SEC Edgar 基础数据
我正计划从 SEC EDGAR 下载基本数据(现金流、收入、资产负债表等)——我正计划下载标准普尔 500 指数中的所有股票。有谁知道可以使用 FTP 下载的数据/文件的总量是否有上限。可以下载的数据是否有每日限制。
提前致谢。
python-3.x - 如何在python中创建表格输出
目前,我正在寻找从 edgar 文件中为特定公司抓取签名表。我创建了一个 Python 程序来深入了解每个文档并找到我需要抓取的表格。我无法弄清楚如何以“漂亮”的方式将数据输出到文件中。
这是一个视觉链接(只需滚动到文档底部,那里会有一页签名): 示例文档
我要做的是格式化表格,就像在网站上格式化一样,每个单元格占用特定数量的空间,并用......填充未使用的空间......好吧,空格!
我当前的输出:
我想要做什么(句号是空格):
有没有办法打印出maxSize -stringSize
每个单元格的字符串加上 ( ) 的空格数,所以数据看起来更像表格?我希望使用普通的 Python3 来做到这一点,而不是额外的下载,因为使用这个程序的人可能不像我那样精通技术。