Облигация с нулевым купоном является корпоративным, казначейским или муниципальным долговым инструментом, который не платит периодических процентов. Как правило, облигация погашается по погашению по полному номинальному значению. Это обеспечение, выпущенное со скидкой от номинального значения, или это может быть купонная облигация, снятая с купонов и переупакованная в виде облигации с нулевым купоном.
Программное обеспечение 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® программное обеспечение облегчает извлечение приведённого значения из практически любого прибора с фиксированным купоном до любого периода времени.