Использовал этот инструмент, так как сам активно приобретал облигации и хотелось провести свой более детальный анализ и во всем этом получше разобраться, а доходность, которую показывала мосбиржа и брокеры, на мой взгляд, считается кривовато, к тому же там нельзя задавать параметры, от которых сильно зависит доходность + нет расчета эффективной доходности (с реинвестированием).
В итоге у меня получилось проанализировать в автоматическом режиме все ОФЗ + около 2500 шт корпоративных облигаций, у которых смог рассчитать доходность.
Конфигурация получала данные HTTP - запросом по API московской биржи + API Т-инвестиций + парсила сайт Смарт-лаба (рейтинги, параметры облигаций).
Материалов предостаточно, подробно описывать не буду.
Периодически в пульсе Тинькова я выкладывал расчеты доходности облигаций на основе отчетов из моей конфигурации в таком виде:
"Простую" доходность к погашению ОФЗ:
Эффективную доходность (с реинвестированием) ОФЗ:
Расшифровка эффективной доходности ОФЗ:
Эффективную доходность (с реинвестированием) Корпоративные облигации, пример:
Идея перенести это всё в мобильное приложение витала в воздухе, так как это удобней, быстрей, мобильнее.
По инструкции Собираем и запускаем приложение на Android (.apk файл) собрал в апк мою конфигурацию, меня порадовало 3 момента:
1) Сборка мобильного приложения заняла менее одного часа (с установкой всех компонентов)
2) Весь функционал работал.
3) Мобильное приложение получает данные в любой точке города, хотя мобильный интернет у нас глушат. Брокерские приложения сбера, тинькова, альфы не работают, а моё приложение всегда работает !
Естественно, формы и отчеты приходилось прокручивать, т.к. они не влезали в рабочую область.
Я оптимизировал вывод информации в форму списка справочника "облигации", с применением фильтров по этому справочнику + вынес форму списка в рабочую область начальной страницы.
Получилось, что форма списка превратилась по сути в отчет, с сортировкой по рассчитанной доходности, а все параметры расчета устанавливаются в "опциях" + внешний вид более менее похож на брокерские приложения. Мне показалось это достаточно удобным.
Форма элемента справочника "Облигации":
Форма записи расчета эффективной доходности:
Отчет "Стоимость портфеля":
Отчет "Ближайшие выплаты" (на год вперед)
На данный момент мобильное приложение "Доходность облигаций" позволяет:
1) Получить облигации по следующим режимам торгов:
- "ОФЗ" (TQOB) - 32 шт.
- "корпоративные" (TQCB) - около 850 шт.
- "дефолтные" (TQRD) - 10 шт.
2) Рассчитывать "простую доходность к погашению".
3) Рассчитывать "эффективную доходность (с учетом реинвестирования купонов) с выводом подробного графика реинвестирования.
4) Выводить стоимость вашего портфеля из облигаций.
5) Выводить график выплат купонов на ближайший год и ожидаемый денежный поток по вашим облигациям.
6) Вводить свою сумму инвестирования по каждой облигации и получать подробный расчет: результат в конце срока, суммы удержаного НДФЛ и т.д.
7) Бонус: загрузка и отображение акций (режим торгов: TQBR, 260 штук), с возможность добавлять в избранное) - даёт возможность посмотреть цену и изменение цены акций, даже когда мобильный интернет "глушат".
Описание финансовой части (расчета доходности):
Приложение позволяет рассчитать доходность по облигациям двух видов:
1) "Простая доходность к погашению" - это годовая доходность в процентах, которую получит владелец облигации, если купит её по текущей цене и продержит до погашения.
2) "Эффективная доходность к погашению" - это годовая доходность с учетом реинвестирования полученных купонов. Если сравнивать с банковскими вкладами, то это аналог "сложного" процента, когда проценты "капитализируются". При расчете эффективной доходности к погашению нужно учесть нескольких последовательных реинвестиций купонных доходов, что делает подсчет вручную очень трудоёмким. По каждому реинвестированию в приложении можно посмотреть подробную информацию - сколько докупили облигаций, по какой цене, какой налог заплатили и т.д. Алгоритм расчета эффективной доходности: покупаем на определенную сумму облигаций по текущей цене, на сумму выплаченных купонов мы приобретаем еще эти же самые облигации по выбранному варианту цены, в конце мы имеем определенное количество облигаций по цене конечного периода, умножаем кол-во на цену, получаем сумму, делим её на кол-во лет.
В приложении есть возможно рассчитать эффективную доходность по 3 вариантам цен, по которой будут реинвестироваться купоны:
а) по текущей цене
б) по номиналу облигации
в) по прогнозной цене - планируемая цена облигации в определенный период, с учетом равно пропорционального распределенного номинального дохода по всему сроку от момента покупки до конца срока владения.
Пример: облигация со сроком 5 лет, текущая цена 500 рублей, номинал 1000 рублей, выплата купонов 2 раза в год
По текущей цене - докупаем облигации по 500 рублей.
По номиналу облигации - докупаем облигации по 1000 рублей.
По прогнозной цене - докупаем облигации по усреднённой цене.
Шаг цены будет рассчитан следующим образом: (Номинал-ТекущаяЦена)/КоличествоВыплатКупоновВсего = (1000-500)/10 = 50 рублей в полгода - это настолько цена облигации должна «планово» увеличиваться каждые полгода. Т.е. сейчас купили по 500 рублей, через полгода за 550 рублей, через год по 600 рублей, а в конце цена будет равна номиналу (1000 руб).
На мой взгляд, это самый оптимальный вариант расчета, т.к. чем ближе к погашению, тем, как правило, ближе цена к номиналу.
Приложение позволяет рассчитать доходность С удержанием НДФЛ и БЕЗ удержания НДФЛ (с купоном / с увеличения цены).
Если у вас счет ИИС-3, то купоны и увеличение цены по облигациям на ИИС-3 не облагаются налогом, и вы можете считать доходность БЕЗ учета удержания НДФЛ. Эффективная доходность на большом сроке очень сильно отличается С НДФЛ и БЕЗ НДФЛ.
В приложении есть возможность посчитать и сравнить эффективные доходности облигаций на определенной дистанции - на 3, 5, 10 лет. Это поможет сделать правильный выбор при покупке облигаций, исходя из ваших целей (накопить на квартиру и т.д.).
В приложении можно отобрать облигации по сроку, и если вас не интересуют длинные облигации, вы ограничивает выборку, например до 3 лет. Есть возможность добавлять облигации в избранное, и рассчитывать только по ним.
Все параметры облигаций загружаются автоматически по API с Московской биржи (MOEX). Руками вводить ничего не нужно. Данные загружаются даже когда мобильный интернет в других инвест-приложениях не работает.
Все данные по облигациям, фильтры, избранное хранятся на вашем смартфоне, а по кнопке "загрузить / обновить" происходит обновление цены, срока и т.п.
Доступен просмотр календаря выплаты купонов по каждой облигации.
В приложении можно указать количество облигаций в вашем портфеле и сформировать отчеты: «Баланс портфеля» и «Ближайшие выплаты» (на год вперед).
Не является индивидуальной инвестиционной рекомендацией.
Расчет приблизительный, на длинной дистанции невозможно предугадать, какая будет политическая и экономическая обстановка. Текущая цена облигации сильно зависит от ключевой ставки ЦБ.
Мобильное приложение тестировалось на моём смартфоне: Realme GT NEO
Мобильное приложение разработано для ОС: Android
Расчет доходности на примере облигации ОФЗ 26225 (SU26225RMFS1)
Величина купона: 36,15 руб
Периодичность выплаты купона: 182 дня
Текущая дата: 24.01.2026 г.
Дата погашения: 18.07.2035 г.
Срок до погашения в днях = 18.07.2035 г. – 24.01.2026 г. = 3 028 дней
Срок до погашения в годах = 3 028 / 365 = 8,3 лет (точное значение = 8,29589041)
НКД на текущую дату: 13,71 руб
Цена на текущая дату: 662,8 руб
Ближайшая купонная выплата: 20.05.2026 г.
До ближайшей купонной выплаты = 20.05.2026 г. - 24.01.2026 г. = 116 дней
Сумма инвестиций = 1 облигация = 662,8 руб
1) Расчет простой доходности «до погашения»
Рассчитаем доход, который мы получим от инвестирования: это доход от выплаченных купонов и «номинальный» доход – это разница между ценой погашения (номинал) и ценой покупки:
Доход = КупонныйДоход + НоминальныйДоход.
КупонныйДоход = ВеличинаКупона * КоличествоВыплатКупонов
КоличествоВыплатКупонов = СрокДоПогашенияВДнях / ПериодичностьВыплатыКупона
КоличествоВыплатКупонов = 3 028 дней / 182 дня = 16,637362 раза
КупонныйДоход = 36,15 руб * 16,637362 раза = 601,44 руб
НоминальныйДоход = Номинал – ТекущаяЦена
НоминальныйДоход = 1000 руб - 662,8 руб = 337,2 руб
Доход = 601,44 руб + 337,2 руб = 938,64 руб.
Т.е. мы получим доход с 1 облигации равный = 938,64 руб к дате погашения.
Вложив сейчас 662,8 руб мы «заработаем» 938,64 руб через 8,3 лет.
Что бы рассчитать общий процент доходности нашей инвестиции, нужно полученную сумму дохода разделить на первоначальные инвестиции и выразить в процентах:
ПроцентОбщейДоходности = 100% * (Доход / Инвестиции)
ПроцентОбщейДоходности = 100 (938,64 руб / 662,8 руб) = 100 1,4161738 = 141,61738 %
Т.е. за 8.3 года мы увеличим свой капитал на 141,61 %.
Что бы рассчитать годовой процент доходности, нужно общий процент доходности инвестиций разделить на количество лет инвестирования:
ПроцентГодовойДоходности = ПроцентОбщейДоходности / СрокИнвестирования
ПроцентГодовойДоходности = 141,61738 % / 8,29589041 лет = 17,070787 %, округляем до 17,07 %
Проверяем в мобильном приложении, всё верно, доходность к погашению = 17,07 % годовых
2) Расчет простой доходности «до погашения» с учетом удержания НДФЛ с купонных выплат.
Берем расчеты из примера 1) с единственной разницей: с купонного дохода мы удержим 13% НДФЛ:
КупонныйДоход = 601,44 руб
НДФЛКупонногоДохода = КупонныйДоход * 0,13
НДФЛКупонногоДохода = 601,44 руб * 0,13 = 78,1872 руб
КупонныйДоходЧистый = КупонныйДоход – НДФЛКупонногоДохода;
КупонныйДоходЧистый = 601,44 руб - 78,1872 руб = 523,2528 руб
Альтернативный вариант расчета чистого дохода, «очищенного» от НДФЛ (это тоже самое):
КупонныйДоходЧистый = КупонныйДоход (1-0,13) = КупонныйДоход 0,87
КупонныйДоходЧистый = КупонныйДоход * 0,87 = 523,2528 руб
Доход = 523,2528 руб + 337,2 руб = 860,4528 руб.
ПроцентОбщейДоходности = 100 (860,4528 руб / 662,8 руб) = 100 1,2982088 = 129,82088 %
ПроцентГодовойДоходности = 129,82088 % / 8,29589041 лет = 15,6488, округляем до 15,65 %
Проверяем в мобильном приложении, всё верно, доходность к погашению = 15,65 % годовых
3) Расчет простой доходности «до погашения» с учетом удержания НДФЛ с купонных выплат и с учетом удержания НДФЛ с разницы цены (номинального дохода).
Берем расчеты из примера 2) с единственной разницей: с номинального дохода мы удержим 13% НДФЛ:
НоминальныйДоход = 337,2 руб
НоминальныйДоходЧистый = НоминальныйДоход * 0,87
НоминальныйДоходЧистый = 337,2 руб * 0,87 = 293,364 руб
Доход = 523,2528 руб + 293,364 руб = 816,6168 руб.
ПроцентОбщейДоходности = 100 (816,6168 руб / 662,8 руб) = 100 1,2320712= 123,20712 %
ПроцентГодовойДоходности = 123,20712 % / 8,29589041 лет = 14,8515, округляем до 14,85 %
Проверяем в мобильном приложении, всё верно, доходность к погашению = 14,85 % годовых
4) Расчет простой доходности «до погашения» с учетом удержания НДФЛ с купонных выплат и с учетом удержания НДФЛ с разницы цены (номинального дохода) и с учетом НКД.
Выполняем расчет как в примере 3), но с одним отличием:
В расчет был добавлен учет НКД (накопленный купонный доход).
Как НКД влияет общую доходность?
Покупая облигацию с НКД – вы «замораживаете» сумму НКД, эти средства у вас не работают, не приносят доход.
Но они «не работают» не весь срок до погашения, а всего лишь до момента первой купонной выплаты.
Получается, НКД влияет на показатель «Инвестиции» в формуле:
ПроцентОбщейДоходности = 100% * (Доход / Инвестиции)
В нашем случае показатель «Инвестиции» равен цене покупки одной облигации = 662,8 руб
Категорически неверным будет увеличивать цену на сумму НКД в расчете, ведь после первой купонной выплаты сумма НКД высвобождается, и она уже не будет являться частью «инвестиции».
Дельту влияния обозначу как «УвеличениеИнвестиции»
Формулу скорректирую на следующую:
ПроцентОбщейДоходности = 100% * (Доход / ( Инвестиции + УвеличениеИнвестиции ) )
Показатель «УвелическиеИнвестиции» - это влияние НКД на «среднюю» цену приобретения (сумма инвестиций) на протяжении всего срока.
Я рассчитываю влияние НКД на показатель «инвестиции» следующим образом:
Нахожу количество дней до первой купонной выплаты:
ДнейДоПервойВыплаты = БлижайшаяДатаВыплатыКупона - ТекущаяДата
ДнейДоПервойВыплаты = 20.05.2026 г. - 24.01.2026 г. = 116 дней
Т.е. мы «заморозим» НКД в размере 13,71 руб на срок 116 дней из общего срока до погашения 3 028 дней.
Исходя из этого, я «размазываю» равно пропорционально сумму НКД на весь срок инвестирования по формуле:
УвеличениеИнвестиции = НКД * (ДнейДоПервойВыплаты / СрокИнвестирования)
УвеличениеИнвестиции = 13,71 руб * (116 дней / 3028 дней) = 0,525218 руб
Т.е. НКД «увеличит» «среднюю» сумму инвестирования на 0,525218 руб
ПроцентОбщейДоходности = 100 * (816,6168 руб / ( 662,8 руб + 0,525218 ) )
ПроцентОбщейДоходности = 100 * (816,6168 руб / 663,325218 руб) = 123,10956
ПроцентГодовойДоходности = 123,10956 % / 8,29589041 лет = 14,8398, округляем до 14,84 %
Проверяем в мобильном приложении, всё верно, доходность к погашению = 14,84 % годовых
Получается, НКД на больших сроках лишь незначительно влияет на доходность и наоборот, чем выше купонная доходность и меньше срок – тем существеннее НКД влияет на доходность.
5) Расчет «эффективной доходности» (с реинвестированием купонов)
Расчет выполняется по тем же самым формулам, что и в примере 1), но с существенной разницей в расчете показателя «КупонныйДоход», который увеличивается с каждым реинвестированием, по выбранной цене реинвестирования:
Подробный расчет показателя «КупонныйДоход» есть в мобильном приложении на вкладке «Эффективная доходность». В каждом периоде реинвестирования мы докупаем те же самые облигацию на сумму купонного дохода, т.е. «реинвестируем». Результат реинвестирования сильно зависит от цены, по которой мы докупаем облигации, в мобильном приложении есть 3 варианта цены реинвестирования: прогнозная (средняя), текущая, номинальная.
Колонка «Сумма на конец» на фото = это показатель «КупонныйДоход» от изначально инвестированных средств («сумма инвестиций», указанная для облигации, по умолчанию = 1 млн. рублей).
Расчет по прогнозной цене (равно пропорциональная цена от текущей цены до цены погашения – номинала):
Удержания НДФЛ с разницы цены (номинального дохода) при расчете эффективной доходности выполняется аналогично примеру 1, она выводится в последнем периоде реинвестирования в колонке «НДФЛ с разницы цены» и уменьшает купонный доход «сумма на конец»:
Удержание НДФЛ с купонного дохода выполняется при каждом реинвестировании и уменьшает количество купонного дохода и соответственно количество облигаций, которое мы «докупаем»:
Учет НКД происходит в первом периоде, облигации изначально покупаются по ЦЕНА+НКД, а сумма НКД высвобождается в показателе «Возврат НКД», в конце первого периода облигации покупаются на сумму купонного дохода + сумма НКД, которые «возвратились».
Для расчета эффективной доходности очень важным параметром является опция «На дистранции»
При заполнении параметра «на дистанции» приложение рассчитывает доходность ровно на конец заданного срока (2 года), соответственно количество периодов уменьшается до «текущая дата» + 2 года.
Предполагается, что облигация будет продана по цене последнего периода, пересчитывается пропорционально доход от купона в последнем периоде, а номинальный доход рассчитывается как разница «цена последнего периода» - текущая цена.
Эта опция будет полезна, если вы хотите сравнить эффективную доходность облигаций на определенной дистанции, например 5 лет: