zero2disc

Обесценьте кривую, данную кривую нулевой ширины

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

Описание

пример

[DiscRates,CurveDates] = zero2disc(ZeroRates,CurveDates,Settle) возвращает дисконтную кривую, учитывая кривую нулевой ширины и ее даты погашения. Если или входные параметры для или areCurveDatesSettle массив datetime, CurveDates возвращен как массив datetime. В противном случае, CurveDates возвращен как последовательный номер даты. 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 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

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

свернуть все

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

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

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

Типы данных: 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 (СИА)

  •  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

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

свернуть все

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

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

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

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