YearYearInflationSwap

YearYearInflationSwap объект прибора

Описание

Создайте и оцените YearYearInflationSwap объект инструмента, использующий этот рабочий процесс:

  1. Использовать fininstrument для создания YearYearInflationSwap объект прибора.

  2. Использование ratecurve для определения модели процентной ставки для YearYearInflationSwap прибора.

  3. Использование inflationcurve для определения модели кривой инфляции.

  4. Использовать finpricer для задания Inflation метод ценообразования.

  5. Использовать inflationCashflows для вычисления денежных потоков для YearYearInflationSwap прибора.

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

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

Создание

Описание

пример

YYInflationSwap = fininstrument(InstrumentType,'Maturity',maturity_date,'Notional',notional_value,'FixedInflationRate',inflation_rate) создает YearYearInflationSwap объект путем определения InstrumentType и устанавливает свойства для необходимых аргументов пары "имя-значение" Maturity, Notional, и FixedInflationRate.

пример

YYInflationSwap = fininstrument(___,Name,Value) устанавливает необязательные свойства с помощью дополнительных пар "имя-значение" в дополнение к необходимым аргументам в предыдущем синтаксисе. Для примера, YYInflationSwap = fininstrument("YearYearInflationSwap",'Maturity',Maturity,'FixedInflationRate',FixedInflationRate,'Notional',Notional,'Basis',4,'Lag',4) создает YearYearInflationSwap опция. Можно задать несколько аргументы пары "имя-значение".

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

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

Тип инструмента, заданный как строка со значением "YearYearInflationSwap" или вектор символов со значением 'YearYearInflationSwap'.

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

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

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

Пример: YYInflationSwap = fininstrument("YearYearInflationSwap",'Maturity',Maturity,'FixedInflationRate',FixedInflationRate,'Notional',Notional,'Basis',4,'Lag',4)
Требуемая YearYearInflationSwap Аргументы в виде пар имя-значение

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

Дата погашения свопа, заданная как разделенная разделенными запятой парами, состоящая из 'Maturity' и скалярное значение datetime, серийный номер даты, вектор символов даты или строка даты.

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

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

Номинальная сумма, заданная как разделенная разделенными запятой парами, состоящая из 'Notional' и скалярным числом.

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

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

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

Необязательные YearYearInflationSwap Аргументы в виде пар имя-значение

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

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

Задержка индексации в месяцах, заданная как разделенная разделенными запятой парами, состоящая из 'Lag' и скалярное числовое значение.

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

Определяемое пользователем имя инструмента, заданное как разделенная разделенными запятой парами, состоящая из 'Name' и скалярную строку или вектор символов.

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

Свойства

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

Дата погашения свопа, возвращенная как datetime.

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

Условная сумма, возвращенная в виде скалярного числа.

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

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

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

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

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

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

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

Определяемое пользователем имя инструмента, возвращаемое как строка.

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

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

inflationCashflowsВычисление денежных потоков для YearYearInflationSwap инструмент

Примеры

свернуть все

Этот пример показывает рабочий процесс, чтобы оценить YearYearInflationSwap инструмент, когда вы используете inflationcurve объект и Inflation метод ценообразования.

Создание ratecurve Объект

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

Settle = datetime(2021,1,15);
Type = "zero";
ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]';
ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]';
ZeroDates = Settle + ZeroTimes;
ZeroCurve = ratecurve('zero',Settle,ZeroDates,ZeroRates)
ZeroCurve = 
  ratecurve with properties:

                 Type: "zero"
          Compounding: -1
                Basis: 0
                Dates: [10x1 datetime]
                Rates: [10x1 double]
               Settle: 15-Jan-2021
         InterpMethod: "linear"
    ShortExtrapMethod: "next"
     LongExtrapMethod: "previous"

Создание inflationcurve Объект

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

BaseDate = datetime(2020,10,1);
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]

Создание YearYearInflationSwap Объект прибора

Использование fininstrument для создания YearYearInflationSwap объект прибора.

Maturity = datetime(2025,1,1);
FixedInflationRate = 0.015;
Notional = 2000;

YYInflationSwap = fininstrument("YearYearInflationSwap",'Maturity',Maturity,'FixedInflationRate',FixedInflationRate,'Notional',Notional,'Name',"YYInflationSwap_instrument")
YYInflationSwap = 
  YearYearInflationSwap with properties:

              Notional: 2000
    FixedInflationRate: 0.0150
                 Basis: 0
                   Lag: 3
              Maturity: 01-Jan-2025
                  Name: "YYInflationSwap_instrument"

Создание Inflation Объект прейскуранта

Использование finpricer для создания Inflation и используйте объект pricer ratecurve объект со 'DiscountCurve' аргумент пары "имя-значение" и inflationcurve объект со 'InflationCurve' аргумент пары "имя-значение".

outPricer = finpricer("Inflation",'DiscountCurve',ZeroCurve,'InflationCurve',myInflationCurve)
outPricer = 
  Inflation with properties:

     DiscountCurve: [1x1 ratecurve]
    InflationCurve: [1x1 inflationcurve]

Ценовые YearYearInflationSwap Инструмент

Использование price вычислить цену и чувствительность для YearYearInflationSwap прибора.

[Price,outPR] = price(outPricer,YYInflationSwap,"all")
Price = 12.5035
outPR = 
  priceresult with properties:

       Results: [1x1 table]
    PricerData: []

outPR.Results
ans=table
    Price 
    ______

    12.504

Подробнее о

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

Алгоритмы

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

Денежные потоки за каждый год t={T1,..., Ti,..., TM}:FixedLeg=N×k×ΔtfixedInflationLeg=N×[I(Ti)I(Ti1)1]×Δtinflation

где

  • N является условным обозначением ссылки на своп.

  • k - фиксированный уровень инфляции.

  • .R. t fixed является фиксированной долей ножек для периода .

  • .R. t inflation является долей ног инфляции за период.

  • I (T i) - индекс инфляции на дату окончания периода с некоторой задержкой (для примера, трех месяцев).

  • I (T i -1) - индекс инфляции на дату начала с некоторой задержкой (для примера, трех месяцев).

Ссылки

[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