fwd2zero

Кривая нулевой ширины, данная вперед, изгибается

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

Синтаксис

[ZeroRates,CurveDates] = fwd2zero(ForwardRates,CurveDates,Settle)
[ZeroRates,CurveDates] = fwd2zero(___,Name,Value)

Описание

пример

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

пример

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

Примеры

свернуть все

Этот пример показывает, как вычислить кривую нулевой ширины, учитывая подразумеваемую кривую форвардного курса по набору дат погашения, расчетный день и уровень соединения.

ForwardRates = [0.0469
                0.0519
                0.0549
                0.0535
                0.0558
                0.0508
                0.0560
                0.0545
                0.0615
                0.0486];

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

InputCompounding = 1;
InputBasis = 2;
OutputCompounding = 1;
OutputBasis = 2;

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

[ZeroRates, CurveDates] = fwd2zero(ForwardRates, CurveDates,...
Settle,'InputCompounding',1,'InputBasis',2,'OutputCompounding',1,'OutputBasis',2)
ZeroRates = 10×1

    0.0469
    0.0515
    0.0531
    0.0532
    0.0538
    0.0532
    0.0536
    0.0539
    0.0556
    0.0543

CurveDates = 10×1

      730796
      730831
      730866
      730887
      730914
      730943
      730971
      731027
      731098
      731167

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

ForwardRates = [0.0469
                0.0519
                0.0549
                0.0535
                0.0558
                0.0508
                0.0560
                0.0545
                0.0615
                0.0486];

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

InputCompounding = 1;
InputBasis = 2;
OutputCompounding = 1;
OutputBasis = 2;CurveDates = datetime(CurveDates,'ConvertFrom','datenum','Locale','en_US');
Settle = datetime(Settle,'ConvertFrom','datenum','Locale','en_US');
[ZeroRates, CurveDates] = fwd2zero(ForwardRates, CurveDates,...
Settle,'InputCompounding',1,'InputBasis',2,'OutputCompounding',1,'OutputBasis',2)
ZeroRates = 10×1

    0.0469
    0.0515
    0.0531
    0.0532
    0.0538
    0.0532
    0.0536
    0.0539
    0.0556
    0.0543

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

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

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

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

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

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

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

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

Пример: [ZeroRates,CurveDates] = fwd2zero(ForwardRates,CurveDates,Settle,'InputCompounding',3,'InputBasis',5,'OutputCompounding',4,'OutputBasis',5)

Соединение частоты входных форвардных курсов, заданных с позволенными значениями:

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

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

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

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

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

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

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

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

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

Примечание

Если InputCompounding не задан, то InputCompounding присвоен значение, заданное для OutputCompounding. Если или InputCompounding или OutputCompounding не заданы, значением по умолчанию является 2

Типы данных: 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

Для получения дополнительной информации смотрите основание.

Примечание

Если InputBasis не задан, то InputBasis присвоен значение, заданное для OutputBasis. Если или InputBasis или Outputbasis не заданы, значением по умолчанию является 0 (фактический/фактический) для обоих.

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

Соединение частоты вывода обнуляет уровни, заданные с позволенными значениями:

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

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

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

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

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

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

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

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

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

Примечание

Если OutputCompounding не задан, то OutputCompounding присвоен значение, заданное для InputCompounding. Если или InputCompounding или OutputCompounding не заданы, значением по умолчанию является 2 (полугодовой) для обоих.

Типы данных: 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

Для получения дополнительной информации смотрите основание.

Примечание

Если OutputBasis не задан, то OutputBasis присвоен значение, заданное для InputBasis. Если или InputBasis или OutputBasis не заданы, значением по умолчанию является 0 (фактический/фактический) для обоих.

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

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

свернуть все

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

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

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

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