Облигация с нулевым купоном является корпоративным, Казначейством или муниципальным долговым инструментом, который не выплачивает периодического процента. Как правило, облигация погашена в зрелости для ее полной номинальной стоимости. Это - безопасность, выпущенная со скидкой от ее номинальной стоимости, или это может быть облигация на предъявителя, лишенная ее купонов и повторно упакованная как облигация с нулевым купоном.
Программное обеспечение Financial Instruments Toolbox™ обеспечивает функции для оценки инструментов долга нулевого купона. Эти функции добавляют существующие функции облигации на предъявителя такой как bndprice
и bndyield
это доступно в программном обеспечении Financial Toolbox™.
Качество функции нулевого купона измеряется тем, насколько сопоставимый результаты с переносящими купон связями. Поскольку выражение нулевого купона эквивалентно связи, сравнения с переносящими купон связями возможны.
В типичном случае, где время (t) измеряется постоянно и постоянно составляется уровень (r), значение нулевой связи является принципалом, умноженным на . В действительности заключенный в кавычки уровень непрерывен, и базис может быть переменным, требуя, чтобы более сопоставимый подход удовлетворил более строгим требованиям точной оценки.
Следующий двум примерам
покажите, как нулевые функции сопоставимы с поддерживаемыми функциями облигации на предъявителя.
Казначейский билет может считаться пакетом нулей. Функции тулбокса, что ценовые нули требуют облигации на предъявителя эквивалентное выражение. То выражение может произойти из любого типа облигации погашающего купона с любым периодическим платежом или любым методом начисления. Следующий пример показывает использование тулбокса, чтобы оценить Казначейский билет и сравнивает расчетную цену с фактической ценовой цитатой в течение того дня.
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 упрощают экстракцию приведенной стоимости от фактически любого инструмента фиксированного купона до любого периода вовремя.