使用 EDGAR 查询证券交易委员会 (SEC)

Querying Securities Exchange Comission (SEC) using EDGAR

我正在开发一个项目,允许用户使用公司的股票代码从美国证券交易委员会和公司交易的股票中提取信息。

现在,为了让我能够仅使用股票代码从 SEC 检索信息,我必须首先查询 gem stock_quotes 公司名称,然后检索公司名称CIK 代码。 然而,EDGAR 在根据名称查询企业时是一个真正的灾难,它在仅基于 CIK 的查询方面做得更好,但目前,没有其他方法只能从 Ticker 获取 CIK,因为在 TICKER => CIK 的查询序列中只有序列 TICKER => COMPANY_NAME => CIK 有效。

现在,由于 Edgar 年纪大了,不太了解,这意味着对于某些公司来说,使用 "COMPANY, INC" 格式查找 CIK 代码非常有效。对于某些公司,这不起作用,我必须删除 "INC" 以便埃德加理解。还有一些公司名字中有特殊字符,埃德加不知道怎么处理,所以他左右抛错。

现在,举个例子:

@sec = SecQuery::Entity.find("#{@stock.name}".gsub("INC", "").gsub("COM", "").gsub("USD0.0001", "").gsub("USD0.001", 
    "").gsub("USD0.01", "").gsub("USD0.1", "").gsub("USD1.0", ""))

现在,我已经意识到有些公司实际上并没有在他们的书面公司名称中包含 "inc"。这意味着我必须将 "INC" 添加到该公司名称,以便埃德加了解我正在寻找的公司。

但我无法将内容添加到 @stock.name - 谁能帮我弄清楚怎么做?

我试过

的不同变体
 @sec = SecQuery::Entity.find("#{@stock.name}".insert(-1, "INC")

 @sec = SecQuery::Entity.find("#{@stock.name}".concat(" INC")

 @sec = SecQuery::Entity.find("#{@stock.name}".gsub(/$/, ' INC')

任何帮助都将非常有用。

你可以做...

@sec = SecQuery::Entity.find("#{@stock.name}" + (" INC"))