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
    А как ты это сам раскопал?
  • Алексей Никитин
    21 октября 2020, 06:53
    самое полезное  на  смартлабе  за  последние 5  лет -)))
  • user6244
    20 декабря 2020, 18:49
    По спб такого нет?

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

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