Блог им. tradingloop

Строим дашборд на 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.

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

т
олько период опроса какой то невнятный
avatar
Андрей К, период данных можно менять либо аргументом from, либо start, либо first. Так как сервер часто отдает ограниченный набор данных, нужно несколько запросов. Соединение всего этого в google sheets сложнее, поэтому здесь я не заморачивался. А вот для выгрузки всей истории через цикл, самое то. 
avatar
А как ты это сам раскопал?
Тимофей Мартынов, зачем копать, всё есть на сайте мосбиржи - https://www.moex.com/a2193
avatar
Макс Обухов, даже все сделки есть? — круто!
avatar
Тимофей Мартынов, вообще все началось с этого поста https://habr.com/ru/post/486716/.
avatar
Тимофей Мартынов, а актуальные данные по числу акций, выручке/прибыли и прочей нашей канители — ты ведь не с Мосбиржи берёшь, из каких-то других источников? Я видел у тебя ссылки на e-disclosure. И это всё?
Владимир Рожанковский, сами забиваем руками
самое полезное  на  смартлабе  за  последние 5  лет -)))
По спб такого нет?
avatar
На сайте написано, что бесплатно — с задержкой.
А если платно — то цена какая?
Нигде не нашел
avatar
тут ещё примеры использования moex api есть voischev.ru/t/moex-api/
avatar
Так и не нашел в API Мосбиржи возможности получения торгового календаря.  Похоже пока буду искать потеряю только время. Выгоднее было бы работать на Binance, чем на этой бирже 
Виктор Бондаренко, это?)) — iss.moex.com/iss/engines/stock.xml

Читайте на SMART-LAB:
Фото
📊 МГКЛ продолжает внедрять лучшие практики корпоративного управления
ПАО «МГКЛ» продолжает последовательно усиливать корпоративное управление и совершенствовать внутренние процедуры контроля по мере роста...
💡 Зачем брокеру состоять в СРО
В России брокер не может работать вне саморегулируемой организации. Крупнейшая на фондовом рынке — НАУФОР (Национальная ассоциация участников...
Фото
Акции ЛУКОЙЛа торгуются без дивидендов — как изменилась целевая цена
Мы снижаем целевую цену на акции ЛУКОЙЛа с 7100 руб./акц. до 6800 руб./акц. в связи с отсутствием теперь в котировках бумаги права на...
Фото
Самый интересный пост: что внутри портфелей у нашей команды + короткое объяснение по каждой позиции 
Сегодня пришло время совершить квартальное раскрытие наших инвестиционных портфелей.  Что внутри? ✅Состав портфелей каждого из наших...

теги блога tradingloop

....все тэги



UPDONW
Новый дизайн