stepcpnprice

Ценовая связь со ступенчатыми купонами

Описание

пример

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

пример

[Price,AccruedInterest] = stepcpnprice(___,Period,Basis,EndMonthRule,Face) добавляют дополнительные дополнительные аргументы.

Примеры

свернуть все

Вычислите цену и начисленные проценты, подлежащие выплате на портфеле ступенчатых облигаций на предъявителя, имеющих выражение 7,221%, учитывая три сценария преобразования:

  • Связь A имеет два преобразования, первое, падающее на уладить дату и сразу истечение.

  • Связь B имеет три преобразования с датами преобразования точно в даты купона.

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

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

Задайте технические требования для связей.

Yield = 0.07221;
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;

Используйте stepcpnprice вычислить цены облигаций со ступенчатыми купонами.

[Price, AccruedInterest] = stepcpnprice(Yield, Settle, Maturity, ConvDates, CouponRates, Period, Basis, EndMonthRule, Face)
Price = 3×1

  117.3874
  113.4387
  114.1759

AccruedInterest = 3×1

    1.1587
    0.9792
    0.9792

Входные параметры

свернуть все

Доход до срока погашения в виде скаляра или 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 (СИА)

  •  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 = ШИНА/252

Для получения дополнительной информации смотрите Базис.

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

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

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

  • 1 = Установите правило о, подразумевая, что платежный день всегда является прошлым фактическим днем месяца.

Типы данных: логический

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

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

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

свернуть все

Чистая цена, возвращенная как NUMBONDS- 1 вектор.

Примечание

Для связей с фиксированными купонами использовать bndprice. Если вы используете фиксированную облигацию на предъявителя с stepcpnprice, вы получаете ошибку: incorrect number of inputs.

начисленные проценты, подлежащие оплате в расчетные дни, возвращенные как NUMBONDS- 1 вектор.

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