我正在做一个项目,允许用户使用公司的股票代码从SEC和公司交易的股票中提取信息。
现在,为了让我能够仅使用股票代码从 SEC 检索信息,我必须首先在宝石stock_quotes
中查询公司名称,然后检索公司的CIK 代码。然而,EDGAR 在根据企业名称查询企业时是一场真正的灾难,它在仅基于 CIK 的查询方面做得更好,但目前,没有其他方法可以从股票代码中获取 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",以便edgar了解我正在寻找哪家公司。
但是我无法将内容添加到@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"))