SABR

Создание SABR объект ценника для Swaption инструмент с использованием SABR модель

Описание

Создайте и оцените Swaption объект инструмента со SABR модель и SABR метод ценообразования с использованием этого рабочего процесса:

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

  2. Использовать finmodel для задания SABR модель для Swaption прибора.

  3. Использовать finpricer для задания SABR объект ценника для Swaption прибора.

    Примечание

    Если вы не задаете ProjectionCurve когда вы создаете Swaption инструмент с SABR цена, ProjectionCurve значение по умолчанию соответствует DiscountCurve значение.

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

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

Создание

Описание

пример

SABRPricerObj = finpricer(PricerType,'DiscountCurve',ratecurve_obj,'Model',model) создает SABR объект прейскуранта путем определения PricerType и необходимый аргумент пары "имя-значение" Model чтобы задать свойства с помощью пар "имя-значение". Для примера, SABRPricerObj = finpricer("Analytic",'DiscountCurve',ratecurve_obj,'Model',SABRModel) создает SABR объект прейскуранта.

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

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

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

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

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

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

Пример: SABRPricerObj = finpricer("Analytic",'DiscountCurve',ratecurve_obj,'Model',SABRModel)

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

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

Модель, заданная как разделенная разделенными запятой парами, состоящая из 'Model' и имя ранее созданного SABR моделировать объект используя finmodel.

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

Свойства

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

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

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

Модель, возвращенная как SABR объект модели.

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

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

priceВычислите цену для процентной ставки, собственного капитала или кредитного производного инструмента с Analytic калькулятор цен
volatilitiesВычислите подразумеваемые волатильности при использовании SABR калькулятор цен

Примеры

свернуть все

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

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

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

Settle = datetime(2018,9,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;
 
myRC = ratecurve('zero',Settle,ZeroDates,ZeroRates)
myRC = 
  ratecurve with properties:

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

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

Использование fininstrument чтобы создать базовую Swap объект прибора.

Swap = fininstrument("Swap",'Maturity',datetime(2023,1,30),'LegRate',[0.018 0.24],'LegType',["fixed","float"],'Basis',1,'Notional',100,'StartDate',datetime(2020,3,30),'ProjectionCurve',myRC,'Name',"swap_instrument")
Swap = 
  Swap with properties:

                     LegRate: [0.0180 0.2400]
                     LegType: ["fixed"    "float"]
                       Reset: [2 2]
                       Basis: [1 1]
                    Notional: 100
          LatestFloatingRate: [NaN NaN]
                 ResetOffset: [0 0]
    DaycountAdjustedCashFlow: [0 0]
             ProjectionCurve: [1x2 ratecurve]
       BusinessDayConvention: ["actual"    "actual"]
                    Holidays: NaT
                EndMonthRule: [1 1]
                   StartDate: 30-Mar-2020
                    Maturity: 30-Jan-2023
                        Name: "swap_instrument"

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

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

Swaption = fininstrument("Swaption",'Strike',0.275,'ExerciseDate',datetime(2021,7,30),'Swap',Swap,'OptionType',"put",'ExerciseStyle',"european",'Name',"swaption_instrument")
Swaption = 
  Swaption with properties:

       OptionType: "put"
    ExerciseStyle: "european"
     ExerciseDate: 30-Jul-2021
           Strike: 0.2750
             Swap: [1x1 fininstrument.Swap]
             Name: "swaption_instrument"

Создание SABR Объект модели

Использование finmodel для создания SABR объект модели.

SABRModel = finmodel("SABR",'Alpha',0.032,'Beta',0.04,'Rho',.08,'Nu',0.49,'Shift',0.002)
SABRModel = 
  SABR with properties:

             Alpha: 0.0320
              Beta: 0.0400
               Rho: 0.0800
                Nu: 0.4900
             Shift: 0.0020
    VolatilityType: "black"

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

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

outPricer = finpricer("analytic",'Model',SABRModel,'DiscountCurve',myRC)
outPricer = 
  SABR with properties:

    DiscountCurve: [1x1 ratecurve]
            Model: [1x1 finmodel.SABR]

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

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

Price = price(outPricer,Swaption)
Price = 10.3771
Введенный в R2020a