exponenta event banner

stepcpnprice

Ценовая облигация со ступенчатыми купонами

Описание

пример

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

пример

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

Примеры

свернуть все

Рассчитать цену и начисленные проценты по портфелю поэтапных купонных облигаций с доходностью 7,221%, учитывая три сценария конвертации:

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

  • Бонд 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 (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 вектор.

Примечание

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

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

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