Нужен API, чтобы найти полное название компании по символу тикера

Мне нужен способ из Javascript на стороне клиента, чтобы найти полное название компании по символу тикера. Мне известен интерфейс Yahoo Finance по адресу:

http://finance.yahoo.com/d/quotes.csv?s=TKR&f=n

и я могу получить к нему доступ через YQL (поскольку это междоменный). Однако это не возвращает полное название компании, но у Yahoo Finance оно есть, потому что оно появляется в их диаграммах для компании и на их страницах о компании.

Мне не нужно, чтобы решение было через Yahoo Finance... просто упомяните об этом здесь, так как я уже знаю об этом (и обращаюсь к нему за другими данными).


person Zhami    schedule 08.07.2010    source источник
comment
Похоже, этот вопрос был задан здесь: stackoverflow.com/ вопросы/885456/   -  person Icemanind    schedule 09.07.2010
comment
Эта публикация касалась поиска тикеров для названия компании. Я хочу пойти в другом направлении: получить полное имя с бегущей строкой.   -  person Zhami    schedule 09.07.2010


Ответы (5)


Похоже, вам подойдет одна из предоставленных сообществом таблиц YQL: yahoo.finance.stocks.

Пример YQL-запроса: select CompanyName from yahoo.finance.stocks where symbol="TKR"

Обновление от 10 февраля 2012 г. Как указывает Firebush в комментариях, эта таблица сообщества YQL (yahoo.finance.stocks), похоже, больше не работает правильно, вероятно, из-за структуры HTML-страницы. на Finance.yahoo.com изменились. Это хороший пример недостатка любых таблиц YQL, которые полагаются на парсинг HTML, а не на настоящий API. (Которого для Yahoo Finance, к сожалению, не существует.)

Похоже, что таблица сообщества для Google Финансов все еще работает, так что это может быть альтернативой: select * from google.igoogle.stock where stock='TRK';

person BrianC    schedule 12.07.2010
comment
Хороший. Спасибо за ссылку на консоль YQL!! Немного косвенно использовать YQL для очистки веб-страницы, но это работает. - person Zhami; 13.07.2010
comment
Это действительно впечатляет. Спасибо! - person James Roth; 14.07.2010
comment
Когда я нажимаю на вашу ссылку и нажимаю TEST, поле CompanyName всегда остается пустым — я пробовал и для других акций. Если я изменю выбор на «*», появятся другие поля (например, дата начала), но имя по-прежнему пусто. :( Интересно, раньше это работало, но теперь не поддерживается? - person firebush; 10.02.2012
comment
@firebush, спасибо, что заметили это - я обновил свой ответ альтернативой Google, которая, похоже, все еще работает. - person BrianC; 10.02.2012
comment
На данный момент ваш пример для результата Google больше не работает. - person Navarr; 18.06.2013
comment
Используя YQL, вы можете использовать таблицу yahoo.finance.quotes, чтобы получить имя из символа со следующим запросом SELECT Name FROM yahoo.finance.quotes WHERE symbol=AAPL developer.yahoo.com/yql/console/ - person MTurner; 21.12.2013
comment
@MTurner Этот API усекает все имена акций/ETF до 17 байт. - person Jim Garrison; 03.12.2014

В прошлом я удалял эту информацию с помощью Yahoo Finance или MSN Money. Например, вы можете получить эту информацию для ExxonMobil, перейдя по ссылке (ссылка). Что касается API, вам может понадобиться создать его самостоятельно. Для проверки API Xignite.

person Steve Severance    schedule 09.07.2010

Вы можете использовать операцию «Поиск компании» в API основных принципов компании здесь: http://www.mergent.com/servius/

person Eugene Osovetsky    schedule 02.08.2010
comment
Эта ссылка кажется мертвой сейчас - person fantabolous; 07.07.2014

Вы можете использовать службу поиска Yahoo, используя .NET API Джонатана Кристиана, который доступен на NuGet в разделе «Yahoo Stock Quotes».

https://github.com/jchristian/yahoo_stock_quotes

//Create the quote service
 var quote_service = new QuoteService();

//Get a quote
var quotes = quote_service.Quote("MSFT", "GOOG").Return(QuoteReturnParameter.Symbol,
                                                    QuoteReturnParameter.Name,
                                                    QuoteReturnParameter.LatestTradePrice,
                                                    QuoteReturnParameter.LatestTradeTime);

//Get info from the quotes
foreach (var quote in quotes)
{
    Console.WriteLine("{0} - {1} - {2} - {3}", quote.Symbol, quote.Name, quote.LatestTradePrice, quote.LatestTradeTime);
}

РЕДАКТИРОВАТЬ: После публикации я попробовал именно этот код, и он у меня не работал, поэтому вместо этого я использовал Управляемый API Yahoo Finance, однако он недоступен через NuGet. Хороший пример использования здесь

QuotesDownload dl = new QuotesDownload();
DownloadClient<QuotesResult> baseDl = dl;

QuotesDownloadSettings settings = dl.Settings;
settings.IDs = new string[] { "MSFT", "GOOG", "YHOO" };
settings.Properties = new QuoteProperty[] { QuoteProperty.Symbol,
                                        QuoteProperty.Name, 
                                        QuoteProperty.LastTradePriceOnly
                                      };            
SettingsBase baseSettings = baseDl.Settings;
Response<QuotesResult> resp = baseDl.Download();

Кроме того, если вы просто хотите загрузить материал, в Stocktwits API есть ссылка для загрузки символов и отраслей в разделе «Ресурсы» http://stocktwits.com/developers/docs

person parliament    schedule 26.07.2013

Также можно использовать ресурсы Quandl.com. Их база данных WIKI содержит 3339 основных акций и может быть получена через secwiki_tickers. CSV файл. Для простого файла portfolio.lst, в котором хранится список ваших тикеров (акций на рынках США), например:

AAPL
IBM
JNJ
MSFT
TXN

вы можете отсканировать файл .csv для имени, например:

import pandas as pd

df = pd.read_csv('secwiki_tickers.csv')
dp = pd.read_csv('portfolio.lst',names=['pTicker'])

pTickers = dp.pTicker.values  # converts into a list

tmpTickers = []

for i in range(len(pTickers)):
    test = df[df.Ticker==pTickers[i]]
    if not (test.empty):
        print("%-10s%s" % (pTickers[i], list(test.Name.values)[0]))

что возвращает:

AAPL      Apple Inc.
IBM       International Business Machines Corporation
JNJ       Johnson & Johnson
MSFT      Microsoft Corporation
TXN       Texas Instruments Inc.

Можно объединить больше акций с других ресурсов Quandl. Смотрите документацию онлайн.

person Pawel    schedule 24.04.2015