API поиска символов тикера

Есть ли какой-либо API, который просто предлагает простой сервис поиска символов? то есть, введите название компании, и оно скажет вам символ тикера? Я пробовал просто снимать с экрана Google Finance, но через некоторое время он ограничивает вас, и вы должны ввести CAPTCHA. Я пытаюсь найти около 2000 символов тикера. Есть идеи?

11 ответов

Решение

Вы можете использовать поиск символов Yahoo следующим образом:

http://d.yimg.com/autoc.finance.yahoo.com/autoc?query=yahoo&callback=YAHOO.Finance.SymbolSuggest.ssCallback

Где запрос это название компании.

Вы получите что-то подобное взамен:

YAHOO.Finance.SymbolSuggest.ssCallback(
{
    "ResultSet": {
        "Query": "ya",
        "Result": [
            {
                "symbol": "YHOO",
                "name": "Yahoo! Inc.",
                "exch": "NMS",
                "type": "S",
                "exchDisp": "NASDAQ"
            },
            {
                "symbol": "AUY",
                "name": "Yamana Gold, Inc.",
                "exch": "NYQ",
                "type": "S",
                "exchDisp": "NYSE"
            },
            {
                "symbol": "YZC",
                "name": "Yanzhou Coal Mining Co. Ltd.",
                "exch": "NYQ",
                "type": "S",
                "exchDisp": "NYSE"
            },
            {
                "symbol": "YRI.TO",
                "name": "YAMANA GOLD INC COM NPV",
                "exch": "TOR",
                "type": "S",
                "exchDisp": "Toronto"
            },
            {
                "symbol": "8046.TW",
                "name": "NAN YA PRINTED CIR TWD10",
                "exch": "TAI",
                "type": "S",
                "exchDisp": "Taiwan"
            },
            {
                "symbol": "600319.SS",
                "name": "WEIFANG YAXING CHE 'A'CNY1",
                "exch": "SHH",
                "type": "S",
                "exchDisp": "Shanghai"
            },
            {
                "symbol": "1991.HK",
                "name": "TA YANG GROUP",
                "exch": "HKG",
                "type": "S",
                "exchDisp": "Hong Kong"
            },
            {
                "symbol": "1303.TW",
                "name": "NAN YA PLASTIC TWD10",
                "exch": "TAI",
                "type": "S",
                "exchDisp": "Taiwan"
            },
            {
                "symbol": "0294.HK",
                "name": "YANGTZEKIANG",
                "exch": "HKG",
                "type": "S",
                "exchDisp": "Hong Kong"
            },
            {
                "symbol": "YAVY",
                "name": "Yadkin Valley Financial Corp.",
                "exch": "NMS",
                "type": "S",
                "exchDisp": "NASDAQ"
            }
        ]
    }
}
)

Это JSON и с ним очень легко работать.

Тише... не говори никому.

Google Finance позволяет одновременно получать до 100 биржевых котировок по следующему URL-адресу:

www.google.com/finance/info?infotype=infoquoteall&q=[ticker1],[ticker2],...,[tickern]

Например:

www.google.com/finance/info?infotype=infoquoteall&q=C,JPM,AIG

Кто-то расшифровал доступные поля здесь:

http://qsb-mac.googlecode.com/svn/trunk/Vermilion/Modules/StockQuoter/StockQuoter.py

Текущая цена ("л") в режиме реального времени, и задержка на уровне Yahoo Finance. Есть несколько причуд, о которых вы должны знать. Горстка акций требует биржевого префикса. Например, если вы запросите "BTIM", вы получите ошибку "Bad Request", но "AMEX:BTIM" работает. Некоторые акции не работают даже с префиксом exchange. Например, запросы "FTWRD" и "NASDAQ:FTWRD" приводят к ошибкам "Bad Request", даже несмотря на то, что у Google Finance действительно есть информация для этой акции NASDAQ.

Поле "el", если оно присутствует, указывает текущую цену перед рынком или в нерабочее время.

Вы можете отправить HTTP-запрос на http://finance.yahoo.com/ запросом символов, имен, кавычек и других данных. Данные возвращаются как .CSV, поэтому вы можете запросить несколько символов в одном запросе.

Так что если вы отправите:

http://finance.yahoo.com/d/quotes.csv?s=MSFT+F+ATT&f=sn

Вы получите что-то вроде:

"MSFT","Microsoft Corp"
"F","FORD MOTOR CO"
"ATT","AT&T"

Вот статья под названием " Загрузка данных Yahoo", которая включает в себя различные теги, используемые для запроса данных.

На сайте NASDAQ размещены отдельные списки CSV для символов тикеров на каждой фондовой бирже (NYSE, AMEX и NASDAQ). Вы должны заполнить капчу и получить дамп CSV.

http://www.nasdaq.com/screening/company-list.aspx

Если вы не хотите подписываться на услугу, я, вероятно, вернусь к самим биржам; большинство из них еще не CAPTCHAed...

Страница поиска символов для:

так далее...

Используйте YQL и вам не о чем беспокоиться. Это язык запросов от Yahoo, и вы можете получить все биржевые данные, включая название компании для тикера. Это REST API и он возвращает результаты через XML или JSON. У меня есть полный учебник и исходный код на моем сайте, посмотрите: http://www.jarloo.com/yahoo-stock-symbol-lookup/

В настоящее время веб-сайт NASDAQ публично предоставляет файлы CSV, содержащие массовые списки - они разбиты по первой букве.

http://www.nasdaq.com/screening/companies-by-name.aspx?letter=A&render=download

В Google Finance есть API - вам, вероятно, придется подать заявку на получение ключа разработчика, но, по крайней мере, вы избавите себя от лишних хлопот: http://code.google.com/apis/finance/reference.html

Используйте YQL: SQL-подобный язык для извлечения информации из общедоступных API: Консоль YQL (внешняя ссылка)

Это дает вам хороший XML-файл для работы!

Ваши лучшие ставки, вероятно, идут с одним из других сервисов поиска (все еще соскребание с экрана) и проверяют, не требуют ли они CAPTCHA.

Последнее кажется наименее вероятным, что в любой момент потребуется капча, но стоит проверить все три.

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

Другие вопросы по тегам