YearYearInflationSwap

YearYearInflationSwap инструментальный объект

Описание

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

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

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

  3. Используйте inflationcurve чтобы задать инфляцию изгибают модель.

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

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

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

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

Создание

Описание

пример

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 (СИА)

  • 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

Задержка индексации в месяцах в виде разделенной запятой пары, состоящей из '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 объект калькулятора цен и использование 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 является фиксированным уровнем инфляции.

  • Δtfixed является фиксированной частью участка в течение периода.

  • Δtinflation является частью участка инфляции в течение периода.

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

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

Ссылки

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

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

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

Введенный в R2021a
Для просмотра документации необходимо авторизоваться на сайте