tradingloop
tradingloop личный блог
20 октября 2020, 21:54

Строим дашборд на API бирже

Заметил, что совсем немного постов освещают тему API Мосбиржи. Вместе с тем, Мосбиржа позволяет не только отгружать котировки акций, но и например, забирать данные по кривой ОФЗ, коэффициентам корреляции, индексам и многое другое. Замечательно, что биржа отдает данные в csv и json, что позволяет легко настроить их автоматическое импортирование. Например, можно импортировать их в Google Sheets и создавать там онлайн-дашборды. 

Один такой дашборд я построил для рынка ОФЗ, выведя на панель данные о спредах, исторической динамике и индексе облигаций. Для того чтобы вся эта красота работала необходимо 4 простых шага:
  • создать запрос с помощью API в формате CSV (Google Sheets не умеет в json, а сторонние костыли не всегда справляются)
  • импортировать данные в Google Sheets с помощью функции ImportData используя ссылку из пункта 1
  • Распарсить импортированные строки на столбцы
  • Прикрутить графики
Строим дашборд на API бирже

Несколько важных моментов:
  1. Для того чтобы сразу вытаскивать нужные столбцы и не таскать легенду, к строке запроса необходимо добавить iss.meta=off&iss.only=название таблицы&название_таблицы.columns=список_нужных_столбцов"
  2. Google подтягивает данные при открытие таблицы, а обновляет их раз в час, для более частого обновления, нужен скрипт.
  3. Живые котировки биржа задерживает на 15 мин.
Так выглядит базовый запрос по индексу: https://iss.moex.com//iss/history/engines/stock/markets/index/securities/RGBITR.json
В нем много ненужной легенды и расчет начинается с 2012, а не с актуальных значений.

Так выглядит запрос с нужной мне информацией: https://iss.moex.com//iss/history/engines/stock/markets/index/securities/RGBITR.json?sort_order=desc&iss.meta=off&iss.only=history&history.columns=TRADEDATE,CLOSE,YIELD

Для импорта в Google Sheets достаточно заменить json на csv.

Мой дашборд по ОФЗ, канал в Телеграм.
14 Комментариев
  • Андрей К
    20 октября 2020, 21:56
    • создать запрос с помощью API в формате CSV (Google Sheets не умеет в json, а сторонние костыли не всегда справляются)
    • импортировать данные в Google Sheets с помощью функции ImportData использу
    Попробуйте через XML. Давно так делаю.
    =IMPORTXML(«iss.moex.co.....

    т
    олько период опроса какой то невнятный
  • Тимофей Мартынов
    20 октября 2020, 22:22
    А как ты это сам раскопал?
    • Макс Обухов
      20 октября 2020, 22:28
      Тимофей Мартынов, зачем копать, всё есть на сайте мосбиржи - https://www.moex.com/a2193
      • VladMih
        20 октября 2020, 23:05
        Макс Обухов, даже все сделки есть? — круто!
    • Тимофей Мартынов, а актуальные данные по числу акций, выручке/прибыли и прочей нашей канители — ты ведь не с Мосбиржи берёшь, из каких-то других источников? Я видел у тебя ссылки на e-disclosure. И это всё?
  • Алексей Никитин
    21 октября 2020, 06:53
    самое полезное  на  смартлабе  за  последние 5  лет -)))
  • user6244
    20 декабря 2020, 18:49
    По спб такого нет?
    • user6244
      20 декабря 2020, 18:57
      На сайте написано, что бесплатно — с задержкой.
      А если платно — то цена какая?
      Нигде не нашел
  • DRBUZZ
    01 февраля 2022, 11:45
    тут ещё примеры использования moex api есть voischev.ru/t/moex-api/
  • Виктор Бондаренко
    14 февраля 2023, 13:14
    Так и не нашел в API Мосбиржи возможности получения торгового календаря.  Похоже пока буду искать потеряю только время. Выгоднее было бы работать на Binance, чем на этой бирже 

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн