inflationcurve

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

Описание

Создайте inflationcurve объект, использующий inflationcurve.

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

Чтобы оценить InflationBond, YearYearInflationSwap, или ZeroCouponInflationSwap инструмент, вы должны создать inflationcurve а затем создайте Inflation объект прейскуранта.

Дополнительные сведения об этом рабочем процессе см. в разделе Запуске с рабочими процессами с использованием объектной среды для ценообразования финансовых инструментов.

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

Создание

Описание

пример

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 (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

Свойства

расширить все

Базис отсчета дней инструмента, возвращенный как скалярное целое число.

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

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

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

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

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

Форвардные темпы инфляции, возвращенные как вектор.

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

Ставки сезонной корректировки, возвращенные как 12-by- 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] Brody, D. C., Crosby, J. and Li, H. «Convexity Adjustments in Inflation-Linked Derivatives». Журнал «Риск». Ноябрь 2008, с. 124-129.

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

[3] Zhang, J. X. «Limited Price Indexation (LPI) Swap Valuation Ideas». Журнал Wilmott. № 57, январь 2012, с. 58-69.

Введенный в R2021a