Облигация с нулевым купоном - это корпоративный, казначейский или муниципальный долговой инструмент, который не выплачивает периодические проценты. Как правило, облигации погашаются при погашении за полную номинальную стоимость. Это ценная бумага, выпущенная с дисконтом от номинальной стоимости, или купонная облигация, лишенная купонов и переупакованная в качестве облигации с нулевым купоном.
Программное обеспечение Financial Instruments Toolbox™ предоставляет функции для оценки долговых инструментов с нулевым купоном. Эти функции дополняют существующие функции купонных облигаций, такие как bndprice и bndyield которые доступны в программном обеспечении Financial Toolbox™.
Качество функции нулевого купона измеряется тем, насколько результаты согласуются с купонными облигациями. Поскольку нулевой купонный доход эквивалентен облигациям, возможны сравнения с купонными облигациями.
В случае учебника, когда время (t) измеряется непрерывно и скорость (r) непрерывно суммируется, значение нулевой связи является основным значением, умноженным на t. На самом деле котируемая ставка является непрерывной, и основа может быть переменной, требуя более последовательного подхода для удовлетворения более строгих требований точного ценообразования.
Следующие два примера
показать, как нулевые функции согласуются с поддерживаемыми функциями купонных облигаций.
Казначейская нота может рассматриваться как пакет нулей. Набор инструментов позволяет определить, что нули цены требуют эквивалентной доходности купонной облигации. Эта доходность может быть получена из любого вида купонной облигации, с любой периодической выплатой или из любой базы начисления. В следующем примере показано использование инструментария для оценки казначейской ноты и сравнивается рассчитанная цена с фактическим предложением цены за этот день.
Settle = datenum('02-03-2003'); MaturityCpn = datenum('05-15-2009'); Period = 2; Basis = 0; % Quoted yield. QYield = 0.03342; % Quoted price. QPriceACT = 112.127; CouponRate = 0.055;
Извлеките денежный поток и вычислите цену из суммы нолей, дисконтированных.
[CFlows, CDates] = cfamounts(CouponRate, Settle, MaturityCpn, ... Period, Basis); MaturityofZeros = CDates;
Рассчитайте цену купонной облигации идентично сумме нулей путем умножения коэффициентов дисконтирования на соответствующие денежные потоки.
PriceofZeros = CFlows * zeroprice(QYield, Settle, ... MaturityofZeros, Period, Basis)/100;
В следующей таблице показаны промежуточные расчеты.
Денежные потоки | Коэффициенты дисконтирования | Дисконтированные денежные потоки |
|---|---|---|
-1.2155 | 1.0000 | -1.2155 |
2.7500 | 0.9908 | 2.7246 |
2.7500 | 0.9745 | 2.6799 |
2.7500 | 0.9585 | 2.6359 |
2.7500 | 0.9427 | 2.5925 |
2.7500 | 0.9272 | 2.5499 |
2.7500 | 0.9120 | 2.5080 |
2.7500 | 0.8970 | 2.4668 |
2.7500 | 0.8823 | 2.4263 |
2.7500 | 0.8678 | 2.3864 |
2.7500 | 0.8535 | 2.3472 |
2.7500 | 0.8395 | 2.3086 |
2.7500 | 0.8257 | 2.2706 |
102.7500 | 0.8121 | 83.4451 |
Общее количество | 112.1263 |
Сравните приведенную цену и рассчитанную цену на основе нулей.
[QPriceACT PriceofZeros]
ans = 112.1270 112.1263
В этом примере показано, что zeroprice может удовлетворительно оценить казначейскую ноту, полугодовую фактическую/фактическую базовую облигацию, как если бы она состояла из серии облигаций с нулевым купоном.
Аналогичным образом можно оценить корпоративную облигацию, для которой нет соответствующей облигации с нулевым купоном, в отличие от казначейской ноты, для которой существуют соответствующие нули. Можно создать синтетическую облигацию с нулевым купоном и прийти к котируемой цене купонной облигации при последующей сумме нулей.
Settle = datenum('02-05-2003'); MaturityCpn = datenum('01-14-2009'); Period = 2; Basis = 1; % Quoted yield. QYield = 0.05974; % Quoted price. QPrice30 = 99.382; CouponRate = 0.05850;
Извлеките денежный поток и вычислите цену из суммы нулей.
[CFlows, CDates] = cfamounts(CouponRate, Settle, MaturityCpn, ... Period, Basis); Maturity = CDates;
Рассчитайте цену купонной облигации идентично сумме нулей путем умножения коэффициентов дисконтирования на соответствующие денежные потоки.
Price30 = CFlows * zeroprice(QYield, Settle, Maturity, Period, ... Basis)/100;
Сравнение цены предложения и расчетной цены на основе нулей.
[QPrice30 Price30]
ans = 99.3820 99.3828
В качестве теста на верность, намеренно давая неверное основание, скажем, фактическое/фактическое (Basis = 0) вместо 30/360 дает цену 99.3972. Такая систематическая ошибка, если она повторяется в более сложной процедуре ценообразования, быстро складывается в большие неточности.
Таким образом, функции нуля в программном обеспечении MATLAB ® облегчают извлечение текущей стоимости практически из любого инструмента с фиксированным купоном вплоть до любого периода времени.