zero2disc

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

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

Синтаксис

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

Описание

пример

[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-by-1 вектор с помощью десятичных дробей. В агрегате нулевые уровни составляют подразумеваемую кривую нулевой ширины для инвестиционного горизонта, представленного CurveDates.

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

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

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

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

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (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-by-1 вектор десятичных дробей. В агрегате коэффициенты дисконтирования составляют дисконтную кривую для инвестиционного горизонта, представленного CurveDates.

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

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

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