zero2disc

Кривая дисконта, заданная нулевая кривая

В R2017b изменена спецификация необязательных входных параметров. Хотя синтаксис предыдущих упорядоченных входов все еще поддерживается, он может больше не поддерживаться в будущем релизе. Используйте необязательные входы пары "имя-значение": Compounding и Basis.

Описание

пример

[DiscRates,CurveDates] = zero2disc(ZeroRates,CurveDates,Settle) возвращает кривую дисконтирования, заданную нулевую кривую и даты ее погашения. Если либо входы для, либо CurveDatesSettle массив datetime, CurveDates возвращается как массив datetime. В противном случае CurveDates возвращается как серийный номер даты. The DiscRates выход является тем же самым для любого из этих типов входных данных.

пример

[DiscRates,CurveDates] = zero2disc(___,Name,Value) добавляет необязательные аргументы пары "имя-значение"

Примеры

свернуть все

Задается нулевая кривая для набора дат погашения и даты сальдирования.

ZeroRates = [0.0464
             0.0509
             0.0524
             0.0525
             0.0531
             0.0525
             0.0530
             0.0531
             0.0549
             0.0536];

CurveDates = [datenum('06-Nov-2000')
              datenum('11-Dec-2000')
              datenum('15-Jan-2001')
              datenum('05-Feb-2001')
              datenum('04-Mar-2001')
              datenum('02-Apr-2001')
              datenum('30-Apr-2001')
              datenum('25-Jun-2001')
              datenum('04-Sep-2001')
              datenum('12-Nov-2001')];

Settle = datenum('03-Nov-2000');

Кривая нуля сложена ежедневно на actual/365 базис.

Compounding = 365;
Basis = 3;

Выполните функцию zero2disc который возвращает кривую скидки DiscRates в даты погашения CurveDates.

[DiscRates, CurveDates] = zero2disc(ZeroRates, CurveDates,... 
Settle, Compounding, Basis)
DiscRates = 10×1

    0.9996
    0.9947
    0.9896
    0.9866
    0.9826
    0.9787
    0.9745
    0.9665
    0.9552
    0.9466

CurveDates = 10×1

      730796
      730831
      730866
      730887
      730914
      730943
      730971
      731027
      731098
      731167

Для читаемости, ZeroRates и DiscRates показаны здесь только к базовой точке. Однако программное обеспечение MATLAB ® вычисляло их с полной точностью. Если вы вводите ZeroRates как показано, DiscRates может отличаться из-за округления.

Учитывая нулевую кривую для набора дат погашения и даты балансирования, вычислите кривую дисконтирования с помощью datetime входы.

ZeroRates = [0.0464
             0.0509
             0.0524
             0.0525
             0.0531
             0.0525
             0.0530
             0.0531
             0.0549
             0.0536];

CurveDates = [datenum('06-Nov-2000')
              datenum('11-Dec-2000')
              datenum('15-Jan-2001')
              datenum('05-Feb-2001')
              datenum('04-Mar-2001')
              datenum('02-Apr-2001')
              datenum('30-Apr-2001')
              datenum('25-Jun-2001')
              datenum('04-Sep-2001')
              datenum('12-Nov-2001')];

Settle = datenum('03-Nov-2000');
Compounding = 365;
Basis = 3;

CurveDates = datetime(CurveDates, 'ConvertFrom', 'datenum','Locale','en_US');
Settle = datetime(Settle,'ConvertFrom','datenum','Locale','en_US');
[DiscRates, CurveDates] = zero2disc(ZeroRates, CurveDates,...
Settle, Compounding, Basis)
DiscRates = 10×1

    0.9996
    0.9947
    0.9896
    0.9866
    0.9826
    0.9787
    0.9745
    0.9665
    0.9552
    0.9466

CurveDates = 10x1 datetime
   06-Nov-2000
   11-Dec-2000
   15-Jan-2001
   05-Feb-2001
   04-Mar-2001
   02-Apr-2001
   30-Apr-2001
   25-Jun-2001
   04-Sep-2001
   12-Nov-2001

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

свернуть все

Годовые нулевые ставки, указанные как NUMBONDS-by- 1 вектор с использованием десятичного числа дробей. В совокупности нулевые ставки представляют собой подразумеваемую нулевую кривую для инвестиционного горизонта, представленного CurveDates.

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

Даты зрелости, соответствующие входы ZeroRates, заданный как NUMBONDS-by- 1 вектор с использованием серийных номеров дат, векторов символов дат или массивов данных времени.

Типы данных: double | datetime | char

Общая дата расчета для ZeroRates, заданный как серийные номера дат, векторы символов даты или массивы datetime. Settle - дата расчета для облигаций, из которых была начата нулевая кривая.

Типы данных: double | datetime | char

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: [DiscRates,CurveDates] = zero2disc(ZeroRates,CurveDates,Settle,'Compounding',4,'Basis',6)

Скорость, с которой ZeroRates вход соединяются в годовом исчислении, задаются как разделенная разделенными запятой парами, состоящая из 'Compounding' и допустимые числовые значения:

  • 0 - Простой интерес (без компаундирования)

  • 1 - Ежегодное компаундирование

  • 2 - Полугодовое компаундирование (по умолчанию)

  • 3 - Смешивание три раза в год

  • 4 - ежеквартальное компаундирование

  • 6 - Двухмесячное компаундирование

  • 12 - Ежемесячное компаундирование

  • 365 - Ежедневное компаундирование

  • -1 - Непрерывное компаундирование

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

Базис подсчета дней, используемый для аннуализации входа ZeroRates, заданная как разделенная разделенными запятой парами, состоящая из 'Basis' и допустимые числовые значения:

  • 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

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

свернуть все

Коэффициенты дисконтирования, возвращенные как NUMBONDS-by- 1 вектор десятичных дробей. В совокупности коэффициенты дисконтирования составляют кривую дисконтирования для инвестиционного горизонта, представленного CurveDates.

Даты зрелости, соответствующие DiscRates, возвращается как NUMBONDS-by- 1 вектор дат погашения, соответствующих коэффициентам дисконтирования. Этот вектор аналогичен вектору входа CurveDates, но сортируется по возрастающей зрелости.

Если все входы для CurveDates или Settle являются массивом datetime, CurveDates возвращается как массив datetime. В противном случае CurveDates возвращается как серийный номер даты.

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