Inflation

Создайте Inflation объект калькулятора цен для 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 инструмент, смотрите, Выбирают Instruments, Models и Pricers.

Создание

Описание

пример

InflationPricerObj = finpricer(PricerType,'DiscountCurve',ratecurve_obj,'InflationCurve',inflationcurve_obj) создает Inflation объект калькулятора цен путем определения 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 объект калькулятора цен и использование 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