Запрос комиссии по ценным бумагам (SEC) с использованием EDGAR
Я работаю над проектом, который позволяет пользователю извлекать информацию как из SEC, так и из торгуемых акций компании, используя биржу акций компании.
Теперь, чтобы я мог получить информацию из SEC, используя ТОЛЬКО биржу акций, я должен сначала запросить гем stock_quotes
для названия компании, чтобы затем получить CIK-код компании. Тем не менее, EDGAR - это настоящая катастрофа, когда дело касается запросов предприятий по их имени, он гораздо лучше справляется с запросами только на основе CIK, но в настоящее время нет другого способа получить CIK только из тикера, как в последовательность запросов TICKER => CIK
только последовательность TICKER => COMPANY_NAME => CIK
работает.
Теперь, поскольку Эдгар стар и плохо понимает, это означает, что для некоторых компаний поиск кода CIK с использованием формата "COMPANY, INC" работает идеально. Для некоторых компаний это не работает, и я должен удалить "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 ответ
Вы могли бы просто сделать...
@sec = SecQuery:: Entity.find ("# {@ stock.name}" + ("INC"))