exponenta event banner

stepcpnyield

Доходность до погашения облигаций со ступенчатыми купонами

Описание

пример

Yield = stepcpnyield(Price,Settle,Maturity,ConvDates,CouponRates) вычисляет доходность к погашению облигаций со ступенчатыми купонами с учетом цены. Функция поддерживает любое количество дат преобразования.

пример

Yield = stepcpnyield(___,Period,Basis,EndMonthRule,Face) добавляет дополнительные необязательные аргументы.

Примеры

свернуть все

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

  • Бонд А имеет две конверсии, первая из которых приходится на дату урегулирования и немедленно истекает.

  • Бонд B имеет три конверсии, с датами конвертации точно на даты купона.

  • Облигация C имеет три конверсии, одна или несколько дат конвертации не на даты купона. Этот случай показывает, что затрагиваются только денежные потоки для полных периодов после дат пересчета, как показано ниже.

Следующая таблица иллюстрирует характеристики процентной ставки этого облигационного портфеля.

Определите спецификации для облигаций.

format long
Price = [117.3824; 113.4339; 113.4339];
Settle = datenum('02-Aug-1992');

ConvDates = [datenum('02-Aug-1992'), datenum('15-Jun-2003'), nan;
datenum('15-Jun-1997'), datenum('15-Jun-2001'), datenum('15-Jun-2005'); 
datenum('14-Jun-1997'), datenum('14-Jun-2001'), datenum('14-Jun-2005')];
        
Maturity = datenum('15-Jun-2010');

CouponRates = [0.075 0.08875 0.0925 nan;
               0.075 0.08875 0.0925 0.1;
               0.075 0.08875 0.0925 0.1];
Basis = 1;
Period = 2;
EndMonthRule = 1;
Face = 100;

Использовать stepcpnyield рассчитать доходность до погашения по облигациям со ступенчатыми купонами.

Yield = stepcpnyield(Price, Settle, Maturity, ConvDates, CouponRates, Period, Basis, EndMonthRule, Face)
Yield = 3×1

   0.072214402049150
   0.072214267800360
   0.072864799557221

Входные аргументы

свернуть все

Цена облигации, указанная как скаляр или NUMBONDSоколо-1 вектор числовых значений.

Типы данных: double

Дата расчета, указанная как скаляр или NUMBONDSоколо-1 вектор серийных номеров дат.

Settle должно быть раньше, чем Maturity.

Типы данных: double

Дата погашения, указанная как скаляр или NUMBONDSоколо-1 вектор номеров серийных дат, представляющий дату погашения для каждой облигации.

Типы данных: double

Даты преобразования, указанные как NSTP-по-макс. (NCONV) матрица, содержащая даты преобразования после Settle. Размер матрицы равен количеству инструментов по максимальному числу преобразований. Заполнить неуказанные записи NaN.

Типы данных: double

Ставка купонного вознаграждения по облигациям, указанная как NSTP-по-макс. (NCONV+1) матрица, содержащая ставки купонов для каждой облигации в портфеле в десятичной форме. Размер матрицы равен количеству инструментов по максимальному количеству преобразований + 1. Первый столбец этой матрицы содержит ставки, применимые между Settle и первая дата преобразования (дата в первом столбце ConvDates). Заполнить неуказанные записи NaN

ConvDates имеет то же количество строк, что и CouponRates для отражения одинакового количества облигаций. Однако ConvDates имеет на один столбец меньше, чем CouponRates. Эта ситуация иллюстрируется

Settle---------ConvDate1-----------ConvDate2------------Maturity

         Rate1               Rate2                 Rate3

Типы данных: double

(Необязательно) Купоны в год, указанные как NUMBONDSоколо-1 вектор. Значения для Period являются 1, 2, 3, 4, 6, и 12.

Типы данных: double

(Необязательно) Дневная основа каждого инструмента, указанная как NUMBONDSоколо-1 вектор.

  • 0 = факт/факт

  • 1 = 30/360 (SIA)

  • 2 = фактически/360

  • 3 = факт/365

  • 4 = 30/360 (PSA)

  • 5 = 30/360 (ISDA)

  • 6 = 30/360 (европейский)

  • 7 = факт/365 (японский)

  • 8 = факт/факт (ICMA)

  • 9 = факт/360 (ICMA)

  • 10 = факт/365 (ICMA)

  • 11 = 30/360E (ICMA)

  • 12 = факт/365 (ISDA)

  • 13 = BUS/252

Дополнительные сведения см. в разделе Базис.

Типы данных: double

(Необязательно) Флаг правила конца месяца для генерации дат, когда Maturity является датой конца месяца, имеющей 30 или менее дней, указанной для каждой связи как неотрицательное целое число [0, 1] с использованием NUMBONDSоколо-1 вектор.

  • 0 = Игнорировать правило, означающее, что дата платежа всегда совпадает с числовым днем месяца.

  • 1 = Установите правило, означающее, что дата платежа всегда является последним фактическим днем месяца.

Типы данных: logical

(Необязательно) Номинал, указанный для каждой облигации как NUMBONDSоколо-1 вектор неотрицательных номиналов.

Типы данных: double

Выходные аргументы

свернуть все

Доходность до погашения, возвращенная как NUMBONDSоколо-1 вектор в десятичной форме.

Примечание

Для облигаций с фиксированными купонами используйте bndyield. Вы получили ошибку incorrect number of inputs при использовании облигации с фиксированным купоном stepcpnyield.

Представлен до R2006a