Реферат: Автоматизация анализа купонных облигаций
И.Я. Лукасевич
Дляанализа облигаций с фиксированным купоном в ППП EXCEL реализованы 15 функций(табл. 2.4). Все функции этой группы предварительной установки специальногодополнения – «Пакет анализа» (см. приложение 1).
Таблица2.4
Функциидля анализа облигаций с фиксированным купоном
Наименование функции Формат функции Англоязычная версияРусифицированная
версия
/> COUPDAYBS ДАТАКУПОНДО ДАТАКУПОНДО(дата_согл; дата_вступл_в_силу; частота; [базис]) COUPNCD ДАТАКУПОНПОСЛЕДАТАКУПОНПОСЛЕ (дата_согл;
дата_вступл_в_силу; частота; [базис])
COUPDAYSBS ДНЕЙКУПОНДО ДНЕЙКУПОНДО(дата_согл; дата_вступл_в_силу; частота; [базис]) COUPDAYSNC ДНЕЙКУПОНПОСЛЕ ДНЕЙКУПОНПОСЛЕ (дата_согл; дата_вступл_в_силу; частота; [базис]) COUPDAYS ДНЕЙКУПОН ДНЕЙКУПОН(дата_согл; дата_вступл_в_силу; частота; [базис]) COUPNUM ЧИСЛКУПОН ЧИСЛКУПОН(дата_согл; дата_вступл_в_силу; частота; [базис]) DURATION ДЛИТ ДЛИТ(дата_согл; дата_вступл_в_силу; ставка; доход; частота; [базис]) MDURATION МДЛИТ МДЛИТ(дата_согл; дата_вступл_в_силу; ставка; доход; частота; [базис]) PRICE ЦЕНА ЦЕНА(дата_согл; дата_вступл_в_силу; ставка; доход; погашение; частота; [базис]) ACCRINT НАКОПДОХОД НАКОПДОХОД(дата_вып; дата_след_ куп; дата_согл; ставка; номинал; частота; [базис]) YIELD ДОХОД ДОХОД(дата_согл; дата_вступл_в_силу; ставка; цена; погашение; частота; [базис]) ODDFYIELD ДОХОДПЕРВНЕРЕГ ДОХОДПЕРВНЕРЕГ(дата_согл; дата_ пог; дата_вып; дата_перв_ куп; ставка; цена; погашение; ÷àñòîòà;[базис]) ODDLYIELD ДОХОДПОСЛНЕРЕГ ДОХОДПОСЛНЕРЕГ(дата_согл; дата_ пог; дата_вып; дата_посл_ куп; ставка; цена; погашение; ÷àñòîòà; [базис]) ODDFPRICE ЦЕНАПЕРВНЕРЕГ ЦЕНАПЕРВНЕРЕГ(дата_согл; дата_ пог; дата_вып; дата_перв_куп; ставка; доход; погашение; ÷àñòîòà; [базис]) ODDLPRICE ЦЕНАПОСЛНЕРЕГ ЦЕНАПОСЛНЕРЕГ(дата_согл; дата_ пог; дата_вып; дата_посл_куп; ставка; доход; погашение; ÷àñòîòà; [базис])Рассмотримтехнологию применения этих функций на реальном примере из практики российскогорынка ОВВЗ.
Пример2.9
Рассматриваетсявозможность приобретения облигаций внутреннего валютного займа Минфина Россииседьмой серии. Произвести расчет эффективности операции на 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.
Осуществитепроверку работы шаблона на следующем примере.
Пример2.10
Рассматриваетсявозможность приобретения облигаций внутреннего валютного займа Минфина Россиитретьей серии. Произвести расчет эффективности операции на 18 марта 1997 годаисходя из следующих данных.
Датавыпуска ОВВЗ – 14/05/1993 г. Дата погашения – 14/05/1999 г. Купонная ставка –3%.Число выплат – 1 раз в год. Средняя курсовая цена на дату операции – 85,83.Требуемая норма доходности – 10% годовых.
Полученнаяв результате таблица должна иметь вид рис. 2.10.
/>
Рис.2.10. Решения примера 2.10
Большинствоиз рассмотренных функций можно использовать и для анализа облигаций с плавающейставкой купона (ОГСЗ, ОФЗ и др.). Однако следует отметить, что результатырасчета доходности к погашению будут справедливы только для текущей ставкикупона (т.е. для периода между двумя купонными выплатами).
Приокончательном определении величины полученного дохода, т.е. ретроспективноманализе операций с ОГСЗ, ОФЗ и ряда муниципальных бумаг с плавающей ставкойдоходности, удобно пользоваться функцией БЗРАСПИС(). Ее можно применять и дляприблизительной оценки будущих доходов, предположив, например, что купоннаяставка будет изменяться с фиксированным шагом. Альтернативным вариантомявляется определение доходности YTM по значениям полученных платежей с помощьюфункции ЧИСТВНДОХ().
Следуетотметить, что рассмотренные в данном параграфе фундаментальные зависимостисправедливы для любых ценных бумаг, отражающих отношения займа.
Список литературы
Дляподготовки данной работы были использованы материалы с сайта www.cfin.ru/