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

时间:2017-02-18 15:40:34

标签: ruby-on-rails edgar

我正在开展一个项目,该项目允许用户使用公司的股票代码从SEC和公司的交易股票中提取信息。

现在,为了让我能够仅使用股票代码从SEC检索信息,我必须先查询宝石stock_quotes以获取公司的名称然后检索公司&#39 ; CIK-code。然而,EDGAR在根据他们的名字查询企业时是一个非常真实的灾难,它在基于CIK的查询方面做得更好,但是目前,只有TICKER => CIK的查询序列只有序列TICKER => COMPANY_NAME => CIK有效才能从Ticker中获取CIK。

现在,由于埃德加已经老了,并且不太了解,这意味着对于一些公司来说,使用格式" 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')

任何帮助都非常有用。

1 个答案:

答案 0 :(得分:1)

你可以做......

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