Пример реализации отчета по расчету доходности ОФЗ по данным 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С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

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

15500 руб.

02.09.2020    216479    1188    413    

1053

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

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

57600 руб.

26.11.2024    6275    4    3    

7

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

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

14400 руб.

20.12.2024    3585    17    2    

19

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    21367    29    24    

24

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

В расширении реализован механизм интеграции между системой поставщика и Личным кабинетом СДТ. Реализован обмен заказами и реализациями (накладными), предусмотрено отслеживание статусов документов. Расширение предназначено для 1С:УТ 11.4.

35856 руб.

27.11.2024    1945    1    0    

1

WEB-интеграция Программист 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

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

12000 руб.

02.02.2021    20389    58    52    

36
Для отправки сообщения требуется регистрация/авторизация