disc2zero

Кривая нулевой ширины, данная дисконтную кривую

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

Синтаксис

[ZeroRates,CurveDates] = disc2zero(DiscRates,CurveDates,Settle)
[ZeroRates,CurveDates] = disc2zero(___,Name,Value)

Описание

пример

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

пример

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

Примеры

свернуть все

Учитывая следующие коэффициенты дисконтирования DiscRates по набору дат погашения CurveDates, и расчетный день Settle:

DiscRates = [0.9996
             0.9947
             0.9896
             0.9866
             0.9826
             0.9786
             0.9745
             0.9665
             0.9552
             0.9466];

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');

Установите ежедневно соединение для выходной кривой нулевой ширины на фактической/365 основе.

Compounding = 365;
Basis = 3;

Выполните функциональный disc2zero, который возвращает кривую нулевой ширины ZeroRates в датах погашения CurveDates.

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

    0.0487
    0.0510
    0.0523
    0.0524
    0.0530
    0.0526
    0.0530
    0.0532
    0.0549
    0.0536

CurveDates = 10×1

      730796
      730831
      730866
      730887
      730914
      730943
      730971
      731027
      731098
      731167

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

Учитывая следующие коэффициенты дисконтирования, DiscRates, по набору дат погашения, CurveDates, и расчетный день, Settle, использует входные параметры datetime, чтобы возвратить кривую нулевой ширины, ZeroRates, в датах погашения, CurveDates.

DiscRates = [0.9996
             0.9947
             0.9896
             0.9866
             0.9826
             0.9786
             0.9745
             0.9665
             0.9552
             0.9466];

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');

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

    0.0487
    0.0510
    0.0523
    0.0524
    0.0530
    0.0526
    0.0530
    0.0532
    0.0549
    0.0536

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

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

свернуть все

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

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

Даты погашения, которые соответствуют коэффициентам дисконтирования в DiscRates, заданном как вектор-столбец с помощью последовательных чисел даты, векторов символов даты или массивов datetime.

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

Общий расчетный день для учетных ставок в DiscRates, заданном как последовательные числа даты, векторы символов даты или массивы datetime.

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

Уровень, на котором выходные нулевые уровни составлены, когда пересчитано на год, задал как числовое значение. Позволенные значения:

  • 0 — Простой процент (никакое соединение)

  • 1 — Ежегодное соединение

  • 2 — Полугодовое соединение (значение по умолчанию)

  • 3 — Соединение три раза в год

  • 4 — Ежеквартально соединение

  • 6 — Два раза в месяц соединение

  • 12 — Ежемесячно соединение

  • 365 — Ежедневно соединение

  • -1 — Непрерывное соединение

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

Основание дневного количества, используемое для того, чтобы пересчитать на год вывод, обнуляет уровни, заданные как числовое значение. Позволенные значения:

  •  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

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

свернуть все

Кривая нулевой ширины для инвестиционного горизонта, представленного CurveDates, возвращенным как вектор-столбец десятичных дробей. Нулевые уровни являются доходами до срока погашения на теоретических облигациях с нулевым купоном.

Даты погашения, которые соответствуют ZeroRates, возвратились как вектор-столбец. Этот вектор совпадает с входным вектором CurveDates, но вывод сортируется по возрастающей зрелости. Если или входные параметры для CurveDates или Settle являются массивами datetime, вывод CurveDates возвращен как массивы datetime.

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