161просмотров
22 августа 2025 г.
📷 ФотоScore: 177
🧮 Мы считаем YTM точнее, чем Смартлаб (и другие сервисы) YTM (доходность к погашению) - это реальный годовой процент, который вы получите, если: ✔️ Купите облигацию по текущей цене
✔️ Будете держать до погашения
✔️ Реинвестируете купоны под эту же ставку ❌ Почему нельзя просто разделить купон на цену? Потому что на реальную доходность влияют:
➡️ Временная стоимость денег (100 ₽ сегодня ≠ 100 ₽ через год)
➡️ График платежей (купоны приходят в разное время)
➡️ Амортизация (часть номинала может возвращаться досрочно) 🔍 Как мы считаем YTM на invest-cat.ru Мы используем точный численный метод (алгоритм Брента), и учитываем: 1️⃣ Все денежные потоки до погашения: • Купоны (с пересчетом от остаточного номинала) • Амортизации (как выплаты + уменьшение будущих купонов) • Полное погашение 2️⃣ Точные даты платежей (до дня) Пример:
Платеж 1 июля 2025 при сегодняшней дате 1 января 2025:
t = 181 день / 365.25 ≈ 0.4956 года 3️⃣ Дисконтирование каждого потока по формуле:
PV_i = CF_i / (1 + y)^(t_i)
где: ◦ PV_i — приведённая (дисконтированная) стоимость i-го платежа, ◦ CF_i — сумма выплаты (купон, амортизация, погашение), ◦ t_i — время до выплаты в годах (например, 1.5 = полтора года), ◦ y — YTM (искомая доходность в долях, например, 0.08 = 8%). Приведённая стоимость (PV) - сколько будущая сумма денег "стоит" сегодня, с учётом доходности. Пример: Если ты можешь заработать 10% в год, то 110 рублей через год = 100 рублей сегодня. 👀 Алгоритм ищет YTM, при котором: Текущая цена = Σ (Все дисконтированные платежи)
P = CF₁/(1+y)^t₁ + CF₂/(1+y)^t₂ + ... + CFₙ/(1+y)^tₙ
где: ◦ P — текущая цена облигации (включая НКД), ◦ CF₁, CF₂, ... — все будущие денежные потоки, ◦ t₁, t₂, ... — время до каждого потока в годах, ◦ y — YTM, которую мы ищем. Цель: найти y, при котором равенство выполняется. ⚠️ Что делать, если точный расчет невозможен? Наш алгоритм умеет:
➡️ Автоматически расширять диапазон поиска
➡️ Переходить на резервный метод (аппроксимация)
➡️ Всегда давать ответ (даже приблизительный) ❓ Почему у нас точнее? 1️⃣ Учет амортизации ➖ Обычные сервисы:
Считают номинал постоянным - завышают YTM для амортизируемых облигаций ➕ Наш метод:
• Уменьшает номинал после каждой амортизации
• Пересчитывает купоны от остаточного номинала
• Фактически: Видим реальные денежные потоки 2️⃣ Точность дат ➖ Обычные сервисы:
• Округляют до месяцев - погрешность до ±15 дней
• Последствия: Ошибка в дисконтировании до 0.4% годовых ➕ Наш подход:
• Работаем с точными датами (вплоть до дней високосных годов) 3️⃣ Продвинутый метод расчета ➖ Проблема упрощенных методов:
Используют линейную аппроксимацию - не работают для облигаций с амортизацией ➕ Наш алгоритм:
• Численный метод Брента с погрешностью 0.0001%
• Автоматически адаптируется к сложным случаям 4️⃣ Надежность расчетов ➖ Типичные сценарии сбоев:
• Облигации с экзотическим графиком платежей
• Цены, далекие от номинала (например, 50% или 150%) ➕ Наше решение:
Численные методы - 92% случаев
Расширенный поиск диапазона - 6% случаев
Аппроксимация - 2% сложных кейсов Результат: Ответ есть даже для «проблемных» облигаций