inflationbuild

Построение кривой инфляции из рыночных обменных ставок нулевого купона

Описание

пример

InflationCurve = inflationbuild(BaseDate,BaseIndexValue,ZCISDates,ZCISRates) Построение кривой инфляции из рыночных ставок свопа нулевого купона инфляции (ZCIS). The InflationCurve выход inflationcurve объект.

пример

myInflationCurve = inflationbuild(___,Name,Value) задает опции, использующие один или несколько аргументы пары "имя-значение" в дополнение к любой комбинации входных аргументов в предыдущем синтаксисе. Для примера, myInflationCurve = inflationbuild(BaseDate,BaseIndexValue,ZCISDates,ZCISRates,'Seasonality',SeasonalRates) создает inflationcurve объект с рыночных нулей ZCIS дат и ставок.

Примеры

свернуть все

В этом примере показан рабочий процесс создания inflationcurve объект из ставок свопа инфляции с нулевым купоном (ZCIS) с помощью inflationbuild.

Определите параметры кривой инфляции.

BaseDate = datetime(2020,9,20);
BaseIndexValue = 100;
ZCISTimes = [calyears([1 2 3 4 5 7 10 20 30])]';
ZCISRates = [0.51 0.65 0.87 0.92 0.95 1.42 1.75 2.03 2.54]'./100;
ZCISDates = BaseDate + ZCISTimes;
SeasonalRates = [-0.19 -0.09 -0.04 0.1 0.16 0.11 0.26 0.17 -0.07 -0.08 -0.14 -0.19]'./100;

Использование inflationbuild для создания inflationcurve объект.

myInflationCurve = inflationbuild(BaseDate,BaseIndexValue,ZCISDates,ZCISRates,'Seasonality',SeasonalRates)
myInflationCurve = 
  inflationcurve with properties:

                    Basis: 0
                    Dates: [10x1 datetime]
     InflationIndexValues: [10x1 double]
    ForwardInflationRates: [9x1 double]
              Seasonality: [12x1 double]

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

свернуть все

Базовая дата кривой инфляции, заданная в виде скалярного datetime, серийного номера даты, вектора символов даты или строки даты.

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

Базовое значение индекса кривой инфляции, заданное в виде скалярного числа.

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

Сроки погашения рынка ZCIS минус задержка, указанная как NINST-by- 1 вектор datetimes, порядковые номера дат, массив ячеек векторов символов дат или строковые массивы дат.

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

Рыночные ставки ZCIS, указанные как NINST-by- 1 вектор десятичных чисел.

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

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

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

Пример: myInflationCurve = inflationbuild(BaseDate,BaseIndexValue,ZCISDates,ZCISRates,'Seasonality',SeasonalRates)

Базис отсчета дней, заданный как разделенная разделенными запятой парами, состоящая из '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

Коэффициенты сезонной корректировки, заданные как разделенная разделенными запятой парами, состоящая из 'Seasonality' и a 12-by- 1 вектор в десятичных числах для каждого месяца, упорядоченного с января по декабрь. Ставки являются годовыми и постоянно сложными сезонными ставками, которые внутренне корректируются, чтобы добавить к 0.

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

Индекс инфляции за первый месяц, заданный как разделенная разделенными запятой парами, состоящая из 'FirstMonthIndex' и положительное число.

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

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

свернуть все

Кривая инфляции, возвращенная как inflationcurve объект. Объект имеет следующие свойства:

  • Basis

  • Dates

  • InflationIndexValues

  • ForwardInflationRates

  • Seasonality

Алгоритмы

Построение кривой инфляции из серии безубыточных ставок нулевого купонного инфляционного свопа (ZCIS):

I(0,T1Y)=I(T0)(1+b(0;T0,T1Y))T1YT0I(0,T2Y)=I(T0)(1+b(0;T0,T2Y))T2YT0I(0,T3Y)=I(T0)(1+b(0;T0,T3Y))T3YT0...I(0,Ti)=I(T0)(1+b(0;T0,Ti))TiT0

где

  • I(0,Ti) - номер ссылки индекса инфляции безубыточности для даты погашения T i.

  • I(T0) - базовое значение индекса инфляции для начальной даты T 0.

  • b(0;T0,Ti) - уровень безубыточной инфляции для ZCIS, созревающий на T i.

Ставки ZCIS обычно имеют сроки, которые увеличиваются в целом ряде лет, поэтому кривая инфляции строится на ежегодном базисный. Исходя из кривого годового базисный инфляции, ежегодные нескорректированные (то есть не скорректированные с учетом сезонности) показатели форвардной инфляции вычисляются следующим образом:

fi=1(TiTi1)log(I(0,Ti)I(0,Ti1))

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

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

I(0,Ti)=I(T0)exp(T0Tif(u)du))exp(T0Tis(u)du))I(0,Ti)=I(0,Ti1)exp((TiTi1)(fi+si))

где

  • I(0,Ti) - ссылочный номер индекса инфляции в режиме безубыточности.

  • I(0,Ti1) - предыдущий ссылочный номер инфляции.

  • f i - это ежегодный нескорректированный уровень форвардной инфляции.

  • s i является годовым сезонным компонентом для периода[Ti1,Ti].

Первый год сезонной корректировки может потребовать особого лечения, потому что, как правило, число ссылки безубыточной инфляции первого месяца уже известно. Если это так, нескорректированный уровень форвардной инфляции за первый год должен быть пересчитан за оставшиеся 11 месяцев.

Введенный в R2021a