2017-02-18 42 views
1

我工作的一個項目,允許用戶從兩個SEC和對公司使用該公司的股票,股票個股拉出信息(SEC)。查詢證券交易Comission使用EDGAR

現在,爲了讓我能夠使用股票代碼僅從SEC檢索信息,我必須首先查詢公司名稱的gem stock_quotes,然後檢索公司的CIK代碼。然而,EDGAR是很好,真正的災難,當談到基於其名稱的查詢業務,它並查詢基於CIK的一個更好的工作而已,但目前,沒有其他辦法從北京時間獲得CIK只在TICKER => CIK唯一序列TICKER => COMPANY_NAME => CIK作品的查詢序列。

現在,因爲埃德加是老了,沒有很好地理解,這意味着,對於一些企業,發現使用格式的CIK代碼「COMPANY,INC」完美的作品。對於一些公司來說,這是行不通的,我必須刪除「INC」才能讓Edgar理解。有些公司在他們的名字中有特殊的字符,埃德加不知道該怎麼處理,所以他左右拋出錯誤。

現在,這裏有一個例子:

@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

你可以只是做...

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

+0

哇。那實際上工作。我不知道。謝謝史蒂夫。 – Crashtor