Меню

Excel функции с облигациями



Excel для финансиста

Поиск на сайте

Расчет простой доходности облигации к погашению

Простая доходность облигации — это доходность, рассчитанная в %годовых и зависящая от суммы купонного дохода по облигации и разницы в стоимости самой облигации в моменты покупки и продажи. От эффективной доходности отличается тем, что в расчёт не принимается возможность реинвестирования полученного купонного дохода в данную облигацию.

Считаю, что простую доходность облигации уместно использовать, если выбранный срок инвестирования в облигацию невысок (например, до 2 лет) и сумма инвестирования невелика. В таком случае полученного купонного дохода просто не хватит для реинвестирования, и эффективную доходность считать нет смысла.

В данном примере разберём расчёт простой доходности облигации к погашению на примере одной из популярных государственных облигаций (ОФЗ) ОФЗ-26218-ПД. Расчёт других облигаций (муниципальных и корпоративных) ничем принципиально не отличается от расчёта доходности ОФЗ.

Пример представлен для случая покупки ОФЗ через брокерскую контору, принцип расчёта доходности так называемых «народных ОФЗ«, приобретаемых через банки, немного другой (есть дополнительные комиссии и условия досрочного возврата) и будет рассмотрен отдельно.

Для расчёта необходимо знать следующие данные:

  • номинал облигации (с учётом прошедшей амортизации),
  • дату погашения облигации (в этом простом примере не будем рассматривать доходность к оферте),
  • ставка купонов (в % годовых),
  • сколько купонов в год выплачивается (при равномерной выплате),
  • дату последнего выплаченного купона,
  • текущая рыночная цена (в % от номинала).

Всю эту информацию можно найти на специализированных сайтах типа rusbonds.ru, cbonds.info, bonds.finam.ru и многих других.

�?так, расчёт простой доходности облигации к погашению ОФЗ-26218-ПД. Это облигация подходит для простого расчёта, так как есть постоянная доходность (размер купона не меняется) и нет амортизации (то есть номинал неизменен). Для случаев амортизируемых облигаций и переменных купонов лучше использовать другие способы, которые рассмотрим отдельно.

В первых строках размещена общая информация об облигации. В ячейке С7 рассчитывается срок до погашения простой формулой «=C6-СЕГОДНЯ()«.

Обратите внимание, что пример сохранён 25.05.2017, в другой день все расчёты будут иными.

В строке 11 рассчитывается число купонов для погашения формулой «=ОКРУГЛВН�?З(C7/365;0)*C10+1«: вычисляем количество полных лет до погашения, умножаем на количество купонов в год и добавляем 1 (так как последний купон выплачивается в момент погашения).

В строке 13 рассчитывается накопленный купонный доход (НКД) формулой «=(СЕГОДНЯ()-C12)/365*C9*C5«: он зависит от текущей даты, даты последней выплаты купона, купонной доходности и номинала.

С помощью рассчитанного НКД и цены, по которой облигация торгуется на рынке («чистой цены»), рассчитывается так называемая «грязная цена» — стоимость, которую необходимо заплатить за покупку облигации (без учёта брокерских комиссий). Это сумма инвестиций.

В строках 17-20 рассчитывается доход от инвестирования в облигацию ОФЗ, равный доходу от погашения облигации плюс купонный доход за всё время инвестирования.

В строке 22 рассчитана прибыль, равная разности дохода и сумме инвестиций. В строке 23 — она же в процентном виде. Видим, что за время инвестирования сумма инвестиций более чем удвоилась, но срок очень долгий (14 лет) и простая доходность к погашению составила всего лишь 7,35%.

Эту таблицу можно использовать для расчёта простой доходности к погашению любых облигаций, которые имеют фиксированный купон и не предусматривают амортизацию номинала. Для более сложных случаев стоит составить таблицу платежей и поступлений (финансовых потоков) и использовать функцию Excel Ч�?СТВНДОХ, как это сделано в следующем примере расчёта эффективной доходности облигации ОФЗ, смотрите соответствующую статью Расчёт эффективной доходности облигации к погашению.

Читайте также:  Акционер это владелец облигации

Скачать пример расчёта простой доходности облигации ОФЗ к погашению : doh_obl_prost

Источник

Анализ операций с ценными бумагами с Microsoft Excel

2.2.4 Автоматизация анализа купонных облигаций

Для анализа облигаций с фиксированным купоном в ППП EXCEL реализованы 15 функций (табл. 2.4). Все функции этой группы предварительной установки специального дополнения – «Пакет анализа» (см. приложение 1).

Таблица 2.4
Функции для анализа облигаций с фиксированным купоном

Наименование функции

Формат функции

Англоязычная версия

COUPDAYBS

ДАТАКУПОНДО

ДАТАКУПОНДО(дата_согл; дата_вступл_в_силу; частота; [базис])

ДАТАКУПОНПОСЛЕ

дата_вступл_в_силу; частота; [базис])

COUPDAYSBS

ДНЕЙКУПОНДО

ДНЕЙКУПОНДО(дата_согл; дата_вступл_в_силу; частота; [базис])

COUPDAYSNC

ДНЕЙКУПОНПОСЛЕ

ДНЕЙКУПОНПОСЛЕ (дата_согл; дата_вступл_в_силу; частота; [базис])

COUPDAYS

ДНЕЙКУПОН

ДНЕЙКУПОН(дата_согл; дата_вступл_в_силу; частота; [базис])

ЧИСЛКУПОН

ЧИСЛКУПОН(дата_согл; дата_вступл_в_силу; частота; [базис])

DURATION

ДЛИТ(дата_согл; дата_вступл_в_силу; ставка; доход; частота; [базис])

MDURATION

МДЛИТ(дата_согл; дата_вступл_в_силу; ставка; доход; частота; [базис])

ЦЕНА(дата_согл; дата_вступл_в_силу; ставка; доход; погашение; частота; [базис])

НАКОПДОХОД

НАКОПДОХОД(дата_вып; дата_след_ куп; дата_согл; ставка; номинал; частота; [базис])

ДОХОД(дата_согл; дата_вступл_в_силу; ставка; цена; погашение; частота; [базис])

ODDFYIELD

ДОХОДПЕРВНЕРЕГ

ДОХОДПЕРВНЕРЕГ(дата_согл; дата_ пог; дата_вып; дата_перв_ куп; ставка; цена; погашение; ÷àñòîòà;[базис])

ODDLYIELD

ДОХОДПОСЛНЕРЕГ

ДОХОДПОСЛНЕРЕГ(дата_согл; дата_ пог; дата_вып; дата_посл_ куп; ставка; цена; погашение; ÷àñòîòà; [базис])

ODDFPRICE

ЦЕНАПЕРВНЕРЕГ

ЦЕНАПЕРВНЕРЕГ(дата_согл; дата_ пог; дата_вып; дата_перв_куп; ставка; доход; погашение; ÷àñòîòà; [базис])

ODDLPRICE

ЦЕНАПОСЛНЕРЕГ

ЦЕНАПОСЛНЕРЕГ(дата_согл; дата_ пог; дата_вып; дата_посл_куп; ставка; доход; погашение; ÷àñòîòà; [базис])

Рассмотрим технологию применения этих функций на реальном примере из практики российского рынка ОВВЗ.

Рассматривается возможность приобретения облигаций внутреннего валютного займа Минфина России седьмой серии. Произвести расчет эффективности операции на 18 марта 1997 года исходя из следующих данных .

Дата выпуска ОВВЗ – 14.05.1996 г. Дата погашения – 14.05.2011 г. Купонная ставка – 3%. Число выплат – 1 раз в год. Средняя курсовая цена на дату операции – 37,34. Требуемая норма доходности – 12% годовых.

На рис. 2.8 приведена исходная ЭТ для решения этого примера с использованием функций рассматриваемой группы.

Рис. 2.8. Исходная ЭТ для решения примера 2.9

В приведенной ЭТ исходные (неизменяемые) характеристики займа содержатся в блоке ячеек В2.В8. Значения изменяемых переменных задачи вводятся в ячейки Е2.Е4. Вычисляемые с помощью соответствующих функций ППП EXCEL параметры ОВВЗ, наименования которых содержатся в блоке А10.А22, будут помещаться по мере выполнения расчетов в ячейки блока В10.В22. Руководствуясь рис. 2.8 подготовьте исходную таблицу и заполните ее исходными данными. Приступаем к проведению анализа и рассмотрению функций.

Функции для определения характеристик купонов

Первые 6 функций (табл. 2.4) предназначены для определения различных технических характеристик купонов облигаций и имеют одинаковый набор аргументов :

дата_согл – дата приобретения облигаций (дата сделки);

дата_вступл_в_силу – дата погашения облигации;

частота – количество купонных выплат в году (1, 2, 4);

базис – временная база (необязательный аргумент).

В нашем примере эти аргументы заданы в ячейках E2, B4 и B8 соответственно (рис. 2.8).

Функция ДАТАКУПОНДО() вычисляет дату предыдущей (т.е. до момента приобретения облигации) выплаты купона. С учетом введенных исходных данных функция, заданная в ячейке В10, имеет вид:

=ДАТАКУПОНДО(E2; B4; B8) (Результат: 14.05.96).

И первый же блин вышел комом! В данном случае можно считать, что функция выдала ошибочный результат, поскольку вычисленное значение является датой выпуска облигации в обращение и никаких выплат в тот день быть не могло. Очевидно, что для более корректной реализации этой функции разработчикам следовало бы предусмотреть задание еще одного аргумента – даты выпуска. Однако, утешив свое самолюбие, признаем, что если бы такая выплата производилась, по условиям займа она действительно должна была бы состояться именно 14.05.96.

Читайте также:  Величина купонных выплат по облигации зависит от тест

Функция ДАТАКУПОНПОСЛЕ() вычисляет дату следующей (после приобретения) выплаты купона. Формат функции в ячейке В11:

=ДАТАКУПОНПОСЛЕ(E2; B4; B8) (Результат: 14.05.97).

Нетрудно заметить, что полученная дата совпадает со сроком выплаты первого купона, как и следует из условий примера.

Функция ДНЕЙКУПОНДО() вычисляет количество дней, прошедших с момента начала периода купона до момента приобретения облигации. В нашем примере эта функция задана в ячейке В12:

=ДНЕЙКУПОНДО(E2; B4; B8) (Результат: 304).

Таким образом, с момента начала периода купона до даты приобретения облигации (18 марта 1997 года) прошло 304 дня.

Функция ДНЕЙКУПОН() вычисляет количество дней в периоде купона. По условиям выпуска облигаций валютного займа Минфина России купоны выплачиваются 1 раз в году. Таким образом, число дней в периоде купона должно быть равным 360 (финансовый год), что подтверждается результатом применения функции (ячейка В13):

=ДНЕЙКУПОН(E2; B4; B8) (Результат: 360).

В случае необходимости проведения расчетов с точным числом дней в году достаточно просто указать необязательный аргумент » базис «, равным 1 или 3:

=ДНЕЙКУПОН(E2; B4; B8; 3) (Результат: 365).

Следует отметить, что функция правильно работает и в случае високосного года.

Функция ДНЕЙКУПОНПОСЛЕ() вычисляет количество дней, оставшихся до даты ближайшей выплаты купона (с момента приобретения облигации). В нашем примере эта функция задана в ячейке В14:

=ДНЕЙКУПОНПОСЛЕ(E2; B4; B8) (Результат: 56).

Таким образом, периодический доход по облигации будет получен через 56 дней после ее приобретения.

Функция ЧИСЛКУПОН() вычисляет количество оставшихся выплат (купонов), с момента приобретения облигации до срока погашения. Функция задана в ячейке В15:

=ЧИСЛКУПОН(E2; B4; B8) (Результат: 15).

Согласно полученному результату, с момента приобретения облигации и до срока ее погашения будет произведено 15 выплат, что полностью соответствует условиям займа.

Функции для определения дюрации

Следующие две функции (табл. 2.4) позволяют определить одну из важнейших характеристик облигаций – дюрацию.

Функция ДЛИТ() вычисляет дюрацию D и имеет два дополнительных аргумента:

ставка – купонная процентная ставка (ячейка В6);

доход – норма доходности (ячейка Е4).

Заданная в ячейке В17, функция с учетом размещения исходных данных имеет вид:

=ДЛИТ(E2; B4; B6; E4; B8) (Результат: 9,39).

Таким образом, средневзвешенная продолжительность платежей по 15-летней ОВВЗ седьмой серии со сроком обращения составит 9 лет и около 140 дней (0,39 ´ 360).

Функция МДЛИТ( ) реализует модифицированную формулу для определения дюрации MD и имеет аналогичный формат (ячейка В18):

=МДЛИТ(E2; B4; B6; E4; B8) (Результат: 8,39).

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

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

погашение – стоимость 100 единиц номинала при погашении (ячейка В7);

доход – требуемая норма доходности (ячейка Е4);

ставка – годовая ставка купона (ячейка В6)

цена – цена, уплаченная за 100 единиц номинала (ячейка Е3).

Функции для определения курсовой цены и доходности облигации

Функция ЦЕНА() позволяет определить современную стоимость 100 единиц номинала облигации (т.е. курс), исходя из требуемой нормы доходности на дату ее покупки. В нашем примере она задана в ячейке В19 и имеет следующий формат:

Читайте также:  Безрисковые ценные бумаги текущая стоимость облигации

=ЦЕНА(E2; B4; B6; E4; В7; B8) (Результат: 40,06).

Полученная величина 40,06 представляет собой цену облигации, которая обеспечивает нам требуемую норму доходности – 12% (ячейка Е3). Поскольку ее величина меньше средней цены покупки в 34,75 (ячейка Е2), мы также получим дополнительную прибыль приблизительно в 5,30 на каждые 100 единиц номинала при погашении облигации.

Функция ДОХОД() вычисляет доходность облигации к погашению (yield to maturity – YTM ). Данный показатель присутствует практически во всех финансовых сводках, публикуемых в открытой печати и специальных аналитических обзорах. В рассматриваемом примере функция для его вычисления задана в ячейке В20:

=ДОХОД(E2; B4; B6; E3; B7; B8) (Результат: 13,63%).

Полученный результат несколько выше требуемой нормы доходности и в целом подтверждает прибыльность данной операции.

Ячейка В21 содержит формулу для расчета текущей (на момент совершения сделки) доходности Y – отношение купонной ставки (ячейка В6) к цене приобретения облигации (ячейка Е3):

=В6/Е3 (Результат: 8,63%).

Таким образом, текущая доходность операции составляет 8,63%, что значительно выше купонной ставки, однако ниже доходности к погашению.

Последним показателем, рассчитанным в электронной таблице (ячейка В22), является величина накопленного купонного дохода НКД на дату сделки. Для его вычисления используется функция НАКОПДОХОД( ) :

=НАКОПДОХОД(B3;B11;E2;B6;B7;B8) (Результат: 2,53).

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

Последние 4 функции этой группы – ДОХОДПЕРВНЕРЕГ() , ДОХОДПОСЛНЕРЕГ() , ЦЕНАПЕРВНЕРЕГ() и ЦЕНАПОСЛНЕРЕГ() , применяются для вычисления цены и доходности облигации в тех случаях, когда период выплаты первого или последнего купона отличается от остальных. При этом в списке аргументов должна быть указана дата выплаты первого (последнего) купона. В остальном, выполняемые ими действия аналогичны рассмотренным выше.

Полученная в результате таблица должна иметь вид рис. 2.9.

Рис. 2.9. Результаты анализа ОВВЗ седьмой серии

Очистите таблицу от исходных данных (блоки ячеек В2.В8 и Е2.Е4) и сохраните на магнитном диске в виде шаблона BONDCOUP.XLT.

Осуществите проверку работы шаблона на следующем примере.

Рассматривается возможность приобретения облигаций внутреннего валютного займа Минфина России третьей серии. Произвести расчет эффективности операции на 18 марта 1997 года исходя из следующих данных .

Дата выпуска ОВВЗ – 14/05/1993 г. Дата погашения – 14/05/1999 г. Купонная ставка – 3%. Число выплат – 1 раз в год. Средняя курсовая цена на дату операции – 85,83. Требуемая норма доходности – 10% годовых.

Полученная в результате таблица должна иметь вид рис. 2.10.

Рис. 2.10. Решения примера 2.10

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

При окончательном определении величины полученного дохода, т.е. ретроспективном анализе операций с ОГСЗ, ОФЗ и ряда муниципальных бумаг с плавающей ставкой доходности, удобно пользоваться функцией БЗРАСПИС() . Ее можно применять и для приблизительной оценки будущих доходов, предположив, например, что купонная ставка будет изменяться с фиксированным шагом. Альтернативным вариантом является определение доходности YTM по значениям полученных платежей с помощью функции ЧИСТВНДОХ() .

Следует отметить, что рассмотренные в данном параграфе фундаментальные зависимости справедливы для любых ценных бумаг, отражающих отношения займа.

Источник