Пример реализации отчета по расчету доходности ОФЗ по данным API Московской Биржи

06.10.25

Интеграция - WEB-интеграция

Пример работы с API Мосбиржи. Формулы расчета НКД и доходности.

Здравствуйте, уважаемые читатели. В наше время очень важно уметь инвестировать или хотя бы начать пытаться в это направление, ведь если ты не инвестируешь, то теряешь деньги (иногда они теряются как раз из-за инвестиций). Один из способов инвестирования – покупка ценных бумаг. Одна из самых простых бумаг – облигации федерального займа (ОФЗ). Такие облигации выпускает государство, а именно — Министерством финансов РФ. Проще говоря, мы, как покупатели таких ценных бумаг, даем деньги в долг государству, но не просто так, а за выплату процентов (купонов) по бумаге или продавая ценную бумагу дороже, чем мы ее изначально купили. ОФЗ могут быть нескольких видов, но в этой статье мы будем затрагивать только ОФЗ-ПД (с постоянным купонным доходом).

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

 

Порядок использования Биржевой информации

 

P.S. Данная статья не является индивидуальной инвестиционной рекомендацией, а рассказывает лишь о возможностях работы с API в 1С и СКД.

 

В результате можно реализовать что-то подобное (по правилам МосБиржи сам отчет предоставляться не будет) : 

 

 

Возможны 2 варианта подключения к серверу Московской Биржи:

  1. Подключение без аутентификации;
  2. Подключение с аутентификацией (по подписке).

Отличие заключается во времени предоставления биржевой информации. Если подключение происходит без аутентификации, то итоги торгов и ход торгов в режиме online недоступны (предоставляются с 15-минутной задержкой).

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

 

Домен для подключения: http://iss.moex.com

Взаимодействие с сервером осуществляется с помощью протокола HTTP на архитектуре RESTful.

Все запросы, доступные в справочнике (ознакомиться с ними можно по прикрепленной выше ссылке), принадлежат к одному из пространств имен:

  • /iss (данные Торговой системы);
  • /iss/history (данные итогов торгов. Исторические данные по результатам торгов являются доступными только по подписке).

 

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

Реализация метода для подключения к API Московской Биржи:

Соединение = Новый HTTPСоединение("iss.moex.com",,,,,,Новый ЗащищенноеСоединениеOpenSSL());

Запрос = Новый HTTPЗапрос(ЗапросНаСброкеЧитайтеНиже);

Ответ = Соединение.ВызватьHTTPМетод("GET", Запрос);

В результате получаем ответ от сервера в виде объекта HTTPОтвет. Если в ответе код состояния = 200, значит запрос был успешно получен и обработан.

 

Для получения данных по ОФЗ нам потребуется запрос следующего вида:

 

 

Примеры запросов с картинки:

1. https://iss.moex.com/iss/engines.json Определяем engines

2. https://iss.moex.com/iss/engines/stock/markets.json Определяем markets

3. https://iss.moex.com/iss/engines/stock/markets/bonds/boards.json Определяем boards

 

Итоговый запрос имеет следующий вид:

https://iss.moex.com/iss/engines/stock/markets/bonds/boards/TQOB/securities.json (Данные получаем в JSON формате)

 

 

Реализация отчета

Все действия будут реализованы в методе ПриКомпоновкеРезультата в модуле объекта отчета. После получения ответа от сервера и преобразования JSON-данных приступим к обработке результата. 

 

 

Имена колонок и их расшифровка:

 

 

Данные, хранящиеся в свойстве data структуры securities, имеют следующий вид:

 

 

В целом этих данных вполне достаточно. Если мы знаем, под каким номером какое значение находится (номер индекса получаем из свойства columns), то другие свойства структуры можно не анализировать. Мы просто обходим массив и по номеру индекса получаем нужные нам значения.

 

 

Далее нам осталось только передать получившуюся таблицу значений в качестве внешнего источника:

 

 

Формулы расчета доходности

Тут ничего сложного нет, формулы расчета предоставляет Московская Биржа, их можно найти по ссылке https://www.moex.com/ru/bondization/calc, дополнительно можно проверить получившийся результат с расчетами Московской Биржи. Давайте рассмотрим пример получения и расчета НКД. НКД – накопленный купонный доход. У ОФЗ есть периоды выплат купонных доходов (чаще всего – 2 раза в год). Длительность одного купона может равняться 182 дням. Сумма одного купона делится на количество дней между выплатами (на количество дней жизни купона). Если вдруг владелец ценной бумаги решил ее продать, то ему причитается накопленная сумма купона (С даты выплаты предыдущего купона по дату продажи).

Сумма НКД в таблицу securities (колонка ACCRUEDINT) рассчитывается на следующий день.

 

Если вдруг понадобится узнать НКД на текущую дату, то можно воспользоваться следующей формулой:

 

Далее приведен пример формулы, рассчитывающую номинальную доходность:

 

 

Спасибо за внимание!

Вступайте в нашу телеграмм-группу Инфостарт

Интеграция API Московская Биржа СКД Облигации ОФЗ

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    242371    1323    419    

1116

WEB-интеграция Программист Бизнес-аналитик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

17568 руб.

20.12.2024    5304    23    4    

25

WEB-интеграция Загрузка и выгрузка в Excel Программист Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Расширение освободит вас от необходимости вручную обновлять товары в группах ВКонтакте. Достаточно задать правила один раз, и система автоматически синхронизирует ваш каталог. Вы сможете легко выбирать, какие товары публиковать, создавая гибкие критерии отбора. Например, можно добавить важные для покупателей параметры: цвет, размер или другие характеристики.

12200 руб.

29.08.2025    1659    4    0    

5

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    41341    75    45    

31

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Расширение для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

24000 руб.

02.02.2021    21865    63    52    

40
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Suker86 66 14.01.26 21:44 Сейчас в теме
Добрый вечер, тоже интересуюсь этой темой.
Делаю самописную конфигурацию по облигациям / акциям + недавно сделал мобильное приложение "Доходность ОФЗ", если интересно - смотрите в моём профиле.
Для отправки сообщения требуется регистрация/авторизация