exponenta event banner

Инфляция

Создать Inflation объект pricer для InflationBond, YearYearInflationSwap, или ZeroCouponInflationSwap прибор с использованием inflationcurve модель

Описание

Создать и оценить InflationBond, YearYearInflationSwap, или ZeroCouponInflationSwap объект прибора с inflationcurve модель и Inflation метод ценообразования с использованием этого потока операций:

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

  2. Использовать inflationcurve для задания объекта кривой инфляции.

  3. Создание объекта кривой процентной ставки с помощью ratecurve.

  4. Использовать finpricer для указания Inflation ценовой объект для InflationBond, YearYearInflationSwap, или ZeroCouponInflationSwap инструмент.

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

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

Создание

Описание

пример

InflationPricerObj = finpricer(PricerType,'DiscountCurve',ratecurve_obj,'InflationCurve',inflationcurve_obj) создает Inflation объект pricer путем указания PricerType и требуемые аргументы пары имя-значение DiscountCurve и InflationCurve для задания свойств с использованием пар имя-значение. Например, InflationPricerObj = finpricer("Inflation",'DiscountCurve',ZeroCurve,'InflationCurve',myInflationCurve) создает Inflation объект прайсера.

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

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

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

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

Inflation Аргументы пары «имя-значение»

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

Пример: InflationPricerObj = finpricer("Inflation",'DiscountCurve',ZeroCurve,'InflationCurve',myInflationCurve)

ratecurve объект для дисконтирования денежных потоков, указанный как разделенная запятыми пара, состоящая из 'DiscountCurve' и имя ранее созданного ratecurve объект.

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

Кривая инфляции, указанная как пара, разделенная запятыми, состоящая из 'InflationCurve' и имя ранее созданного inflationcurve.

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

Свойства

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

ratecurve объект для дисконтирования денежных потоков, возвращенный как ratecurve объект.

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

Кривая инфляции, возвращенная как inflationcurve объект.

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

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

priceРасчетная цена для инструмента инфляции с Inflation калькулятор цен

Примеры

свернуть все

В этом примере показан поток операций для оценки InflationBond инструмент при использовании 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]

Создать InflationBond Объект КИП

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

IssueDate = datetime(2021,1,1);
Maturity = datetime(2026,1,1);
CouponRate = 0.02;

InflationBond = fininstrument("InflationBond",'IssueDate',IssueDate,'Maturity',Maturity,'CouponRate',CouponRate,'Name',"inflation_bond_instrument")
InflationBond = 
  InflationBond with properties:

                  CouponRate: 0.0200
                      Period: 2
                       Basis: 0
                   Principal: 100
    DaycountAdjustedCashFlow: 0
                         Lag: 3
       BusinessDayConvention: "actual"
                    Holidays: NaT
                EndMonthRule: 1
                   IssueDate: 01-Jan-2021
             FirstCouponDate: NaT
              LastCouponDate: NaT
                    Maturity: 01-Jan-2026
                        Name: "inflation_bond_instrument"

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

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

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

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

Цена InflationBond Инструмент

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

[Price,outPR] = price(outPricer,InflationBond)
Price = 112.1856
outPR = 
  priceresult with properties:

       Results: [1x1 table]
    PricerData: []

outPR.Results
ans=table
    Price 
    ______

    112.19

Представлен в R2021a