inflationcurve

Создайте inflationcurve объект для процентной ставки изгибается с дат и данных

Описание

Создайте inflationcurve объект с помощью inflationcurve.

После создания inflationcurve объект, можно использовать связанную объектную функцию indexvalues.

Оценивать InflationBond, YearYearInflationSwap, или ZeroCouponInflationSwap инструмент, необходимо создать inflationcurve возразите и затем создайте Inflation объект калькулятора цен.

Для получения дополнительной информации об этом рабочем процессе смотрите Начало работы с Рабочими процессами Используя Основанную на объектах Среду для Оценки Финансовых инструментов.

Для получения дополнительной информации о доступных инструментах видят модели и методы ценообразования, Выбирают Instruments, Models и Pricers.

Создание

Описание

пример

inflationcurve_obj = inflationcurve(Dates,InflationIndexValues) создает inflationcurve объект.

пример

inflationcurve_obj = inflationcurve(___,Name,Value) создает inflationcurve объект с помощью пар "имя-значение" и любого из аргументов в предыдущем синтаксисе. Например, myInflationCurve = inflationcurve(InflationDates,InflationIndexValues,'Basis',4) создает inflationcurve объект. Можно задать несколько аргументов пары "имя-значение".

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

развернуть все

Даты, соответствующие InflationIndexValuesВ виде массива datetime, последовательных чисел даты, массива ячеек векторов символов даты или массива строки даты. Первое свидание является основной датой.

Если вы используете вектор символов даты или строку даты, формат должен быть распознаваемым datetime потому что Dates свойство хранится как datetime.

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

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

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

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

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

Пример: myInflationCurve = inflationcurve(InflationDates,InflationIndexValues,'Basis',4)

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

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

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

Свойства

развернуть все

Дневной базис количества инструмента, возвращенного как скалярное целое число.

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

Даты, соответствующие InflationIndexValues, возвращенный как массив datetime.

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

Значения индекса инфляции для кривой, возвращенной как вектор.

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

Передайте уровень инфляции, возвращенный как вектор.

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

Сезонные уровни корректировки, возвращенные как 12- 1 вектор.

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

Функции объекта

indexvaluesВычислите значения индекса для inflationcurve объект

Примеры

свернуть все

Создайте inflationcurve объект с помощью inflationcurve.

BaseDate = datetime(2020, 9, 20);
InflationTimes = [0 calyears([1 2 3 4 5 7 10 20 30])]';
InflationIndexValues = [100 102 103.5 105 106.8 108.2 111.3 120.1 130.4 150.2]';
InflationDates = BaseDate + InflationTimes;

myInflationCurve = inflationcurve(InflationDates,InflationIndexValues)
myInflationCurve = 
  inflationcurve with properties:

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

Алгоритмы

Создайте кривую инфляции из серии сбалансированных уровней подкачки инфляции нулевого купона (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 месяцев.

Ссылки

[1] Броуди, D. C. Кросби, J. и Литий, H. "Корректировки выпуклости в Соединенных с инфляцией Производных". Рискните Журналом. Ноябрь 2008, стр 124–129.

[2] Kerkhof, J. "Объясненные производные инфляции: рынки, продукты и оценка". Количественный анализ фиксированного дохода, Lehman Brothers, июль 2005.

[3] Чжан, J. X. "Идей Оценки Подкачки Ограниченной индексации цен (LPI)". Журнал Wilmott. № 57, январь 2012, стр 58–69.

Введенный в R2021a