Гугл финанс перестал транслировать данные российских акций — что делать? +19


AliExpress RU&CIS

С 5 июня 2021 года сайт гугла, и самое главное гугл таблицы - перестали отдавать данные с Московской биржи. 

При попытке получить котировки с префиксом MCX, например для Сбербанка, формулой из гугл таблиц =GOOGLEFINANCE("MCX:SBER") теперь всегда возвращается результат #N/A.

А при поиске любой российской бумаги на сайте Google находятся все рынки, кроме Московской биржи:

Попытка поиска котировки Sberbank of Russia на сайте https://www.google.com/finance/quote/MCX:SBER
Попытка поиска котировки Sberbank of Russia на сайте https://www.google.com/finance/quote/MCX:SBER

В этой статье я рассказываю как получать в гугл таблицу биржевые данные с помощью API Московской биржи.

Копирование формул из таблицы-примера в ваши собственные таблицы

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

Если после копирования из таблицы-примера в вашу таблицу формула не работает, то проверьте региональные настройки вашей таблицы

Моя таблица с примером получения данных с Московской биржи
Моя таблица с примером получения данных с Московской биржи

Я использую регион Соединенные Штаты, а если по умолчанию ваш регион Россия, то формулы корректно НЕ копируются! 

Вот подробная инструкция как проверить региональные настройки конкретной таблицы:

  • Откройте файл в Google Таблицах на компьютере.

  • Нажмите Файл затем Настройки таблицы.

  • Выберите нужные варианты в разделах "Региональные настройки".

  • Нажмите Сохранить настройки.

    Как изменить региональные настройки и параметры расчетов
    Как изменить региональные настройки и параметры расчетов

Если вы не хотите менять регион в своей собственной таблице, то можно просто изменить разделитель в формуле. Для корректной работы надо изменить разделитель с запятой на точку с запятой.

Получение названий акций и облигаций

Гугл таблица с примерами автоматического получения имени для разных классов активов
Гугл таблица с примерами автоматического получения имени для разных классов активов

Можно получать названия акций и облигаций используя сервера Московской Биржи вместо переставшего работать гугл финанса. Сама формула при этом выглядит следующим образом:

=IMPORTxml(
    "https://iss.moex.com/iss/engines/stock/markets/" &      IFS(
                 or(
            B3 = "TQOB",
            B3 = "EQOB",
            B3 = "TQOD",
            B3 = "TQCB",
            B3 = "EQQI",
            B3 = "TQIR"
        ),
        "bonds",
                 or(
            B3 = "TQTF",
            B3 = "TQBR",
            B3 = "SNDX",
            B3 = "TQIF"
        ),
        "shares"
    )  & "/boards/" & B3 & "/securities.xml?iss.meta=off&iss.only=securities&securities.columns=SECID,SECNAME",
      "//row[@SECID='" & A3 & "']/@SECNAME"
)

Получение цен акций и облигаций

Гугл таблица с примерами автоматического получения цен акций и облигаций
Гугл таблица с примерами автоматического получения цен акций и облигаций

Можно получать цены акций и облигаций используя сервера Московской Биржи вместо переставшего работать гугл финанса. Сама формула при этом выглядит следующим образом:

=IMPORTxml(
    "https://iss.moex.com/iss/engines/stock/markets/" &      IFS(
                 or(
            B10 = "TQOB",
            B10 = "EQOB",
            B10 = "TQOD",
            B10 = "TQCB",
            B10 = "EQQI",
            B10 = "TQIR"
        ),
        "bonds",
                 or(
            B10 = "TQTF",
            B10 = "TQBR",
            B10 = "SNDX",
            B10 = "TQIF"
        ),
        "shares"
    )  & "/boards/" & B10 & "/securities.xml?iss.meta=off&iss.only=securities&securities.columns=SECID,PREVADMITTEDQUOTE",
      "//row[@SECID='" & A10 & "']/@PREVADMITTEDQUOTE"
)

Получение даты и значения дивиденда для акций

Гугл таблица с примерами автоматического получения дат и значений дивидендов для акций
Гугл таблица с примерами автоматического получения дат и значений дивидендов для акций

Можно получать даты и значения дивидендов для акций, используя сервера Московской Биржи. У гугл  финанса такого функционала никогда не было для российских акций. Сама формула при этом выглядит следующим образом:

=iferror(
     INDEX(
         IMPORTxml(
            "http://iss.moex.com/iss/securities/" & A22 & "/dividends.xml?iss.meta=off",
            "//row[@secid='" & A22 & "']/@value"
        )  ,
         ROWS(
            IMPORTxml(
                "http://iss.moex.com/iss/securities/" & A22 & "/dividends.xml?iss.meta=off",
                "//row[@secid='" & A22 & "']/@value"
            )
        )  ,
        1
    )  ,
    "нет"
)

Получение даты купона и значения для облигаций

Гугл таблица с примерами автоматического получения дат купонов и значений для облигаций
Гугл таблица с примерами автоматического получения дат купонов и значений для облигаций

Можно получать даты и значения купонов для облигаций, используя сервера Московской Биржи. У гугл  финанса такого функционала никогда не было для российских облигаций и вообще облигаций в сервисе нет. Сама формула при этом выглядит следующим образом:

=IMPORTxml(
    "https://iss.moex.com/iss/engines/stock/markets/" &      IFS(
                 or(
            B12 = "TQOB",
            B12 = "EQOB",
            B12 = "TQOD",
            B12 = "TQCB",
            B12 = "EQQI",
            B12 = "TQIR"
        ),
        "bonds",
                 or(
            B12 = "TQTF",
            B12 = "TQBR",
            B12 = "SNDX",
            B12 = "TQIF"
        ),
        "shares"
    )  & "/boards/" & B12 & "/securities.xml?iss.meta=off&iss.only=securities&securities.columns=SECID,NEXTCOUPON,COUPONVALUE",
      "//row[@SECID='" & A17 & "']/@COUPONVALUE"
)

Получение даты оферты

Гугл таблица с примерами автоматического получения дат оферт для облигаций
Гугл таблица с примерами автоматического получения дат оферт для облигаций

Можно получать оферты облигаций, используя сервера Московской Биржи. У гугл финанса такого функционала никогда не было для российских облигаций и вообще облигаций в сервисе нет. Сама формула при этом выглядит следующим образом:

=IFNA(
     IMPORTxml(
        "https://iss.moex.com/iss/engines/stock/markets/" &          IFS(
                         or(
                B27 = "TQOB",
                B27 = "EQOB",
                B27 = "TQOD",
                B27 = "TQCB",
                B27 = "EQQI",
                B27 = "TQIR"
            ),
            "bonds",
                         or(
                B27 = "TQTF",
                B27 = "TQBR",
                B27 = "SNDX",
                B27 = "TQIF"
            ),
            "shares"
        )  & "/boards/" & B27 & "/securities.xml?iss.meta=off&iss.only=securities&securities.columns=SECID,OFFERDATE",
          "//row[@SECID='" & A27 & "']/@OFFERDATE"
    )  ,
    "нет"
)

Источник данных

Если вы хотите разобраться во всех нюансах работы - откуда берутся данные, то вы, также как и я можете обратиться к официальной документации к информационно-статистическому серверу Московской Биржи (ИСС / ISS). Правда, изучая этот документ, вы можете обнаружить что большая часть интересных функций, приведенная в этой статье, в документе никак не отображена.

Итоги

Король умер, да здравствует король! Считалось, что трон никогда не должен пустовать, поэтому после смерти короля сразу же объявлялся следующий правитель.

Как и в случае c сервисом «Google Финансы», который перестал выдавать российские результаты мы видим что можно использовать API Московской биржи, которое предоставляет широкие возможности.

Эти формулы работают только за счет API Московской биржи, с которой я никак не связан. Использую ИСС Мосбиржи только в личных информационных интересах.

Автор: Михаил Шардин,

15 июня 2021 г.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Пользовались сервисом Google Finance для российских бумаг?

  • 10,1%Да21
  • 45,4%Нет94
  • 44,4%Что это?92

Знали раньше про бесплатное API Московской биржи?

  • 29,2%Да57
  • 45,1%Нет88
  • 25,6%Что это?50




Комментарии (20):

  1. K10
    /#23149420 / +2

    Облачный провайдер кинул пользователей?
    Никогда такого не было и вот опять…

    • empenoso
      /#23149424

      Неизвестно из-за чего это произошло, но с поставщиками финансовых данных такое постоянно бывает. Особенно бесплатными.

  2. v1000
    /#23149478

    Гугл финанс перестал транслировать данные российских акций

    при поиске любой российской бумаги на сайте Google находятся все рынки, кроме Московской биржи

    так он все-таки перестал транслировать данные с Московской биржи или российских акций?

    • empenoso
      /#23149492

      Российских акций, торгуемых на Московской бирже, больше нет в Google Finance.

      Но российские бумаги торгуются и на других площадках — например в Германии: https://www.google.com/finance/quote/SBNC:FRA

      • todoman
        /#23149620 / +1

        Или в Санкт-Петербурге. Данные биржи СПБ отображаются?

        • empenoso
          /#23149638

          Нет, их тоже нет. Тот же GAZP - его нет.

          Мне кажется данных СПБ биржи там никогда не было.

  3. Kugata
    /#23149700

    finance.yahoo.com вроде неплох и там есть наши акции

    • empenoso
      /#23149812

      Согласен, совсем неплох, но в гугл таблицы котировки можно было раньше затащить одной строчкой:
      =GOOGLEFINANCE("MCX:SBER")
      Или яху финанс для гугл таблиц:
      =IMPORTHTML("https://finance.yahoo.com/quote/"&"AAPL"&"/","table",1)

      IMPORTHTML медленная функция и когда их много — приходится долго ждать.

  4. ErhoSen
    /#23151406

    Можно завязаться на тинькофф-брокера, если конечно есть открытый счёт.

    И брать цены/стакан прямо у него.

    Demo
    image

  5. empenoso
    /#23152088

    Отличная идея!

  6. mmlepeshkin
    /#23152188 / +1

    Мы тоже пробовали использовать IMPORTXML для загрузки данных в таблицы. Но у Google есть ограничение на использование этой функции и мы в него упирались. Вы как-то обходите это или для ваших задач хватает лимита?

    • empenoso
      /#23152230

      Это правда, IMPORTXML очень медленная функция и если вызывов много, то приходится долго ждать.

    • empenoso
      /#23152232

      Можно использовать GAS или node.js.

  7. mrShadow
    /#23157776

    А ещё API Московской биржи, насколько я знаю, не позволяет получить исторические котировки (цену на конкретную дату, например GOOGLEFINANCE("NVDA","low","2/28/2020")).


    В Yahoo.Finance с российскими акциями тоже сталкивался с проблемами, например отсутствует история котировок для MAIL.ME (это можно увидеть просто по пустому чарту здесь: https://finance.yahoo.com/quote/MAIL.ME/chart?p=MAIL.ME)

    • empenoso
      /#23161738

      Вы не правы - через Мосбиржу можно получать исторические данные.

  8. enja
    /#23161732 / +1

    Добрый день. Подскажите, почему некоторые котировки отображаются с запозданием очень сильным? Как исправить? К примеру в таблице по ВТБ сейчас 0,05 а по факту такая цена была 4 дня назад.

    • empenoso
      /#23161734

      Это признаваемая котировка предыдущего дня. Если хотите текущую - то используйте параметр LAST вместо PREVADMITTEDQUOTE.

  9. vostapenko
    /#23169968 / +1

    Заработало через MCX опять.

    • empenoso
      /#23170352

      Значит запасной вариант остаётся :)