Пример реализации отчета по расчету доходности ОФЗ по данным 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    225992    1228    415    

1071

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

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

36000 руб.

03.08.2020    22032    32    24    

25

SALE! 15%

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

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

17280 14688 руб.

20.12.2024    4235    21    3    

21

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

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки. Основные преимущества: 1. Документация API создаётся автоматически. Удобна для программной обработки. 2. Изменить API столь же просто как настроить отчёт. Можно опубликовать существующий вариант отчёта. 3. Отчёты в API поддерживают параметры (Период, ДатаНачала и др.) 4. При создании простых методов не требуется изменять конфигурацию. 5. Поддерживается работа с планами обмена.<br/> 6. Возможно настроить отправку из 1С данных корреспондирующей системе, для случаев когда 1С сама "знает" какие данные нужно отправить. 7. После записи в 1С Ле Мурр может возвращать соответствие полученных идентификаторов созданным в 1С объектам данных.

36000 руб.

27.09.2024    9592    7    5    

11

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

Обмен данными с "Порталом поставщиков" zakupki.mos.ru Москвы и Московской области с целью создания оферт для закупок государственными учреждениями. Модуль устраняет рутину, минимизирует ошибки и помогает выигрывать больше закупок. Работает строго по требованиям 44-ФЗ.

14400 руб.

13.12.2016    41580    54    39    

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