HullWhite

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

Описание

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

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

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

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

    Примечание

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

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

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

Создание

Описание

пример

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

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

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

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

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

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

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

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

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

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

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

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

Свойства

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

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

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

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

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

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

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

Примеры

свернуть все

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

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

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

FloorOpt = fininstrument("Floor",'Strike',0.02,'Maturity',datetime(2019,1,30),'Reset',4,'Principal',100,'Basis',8,'Name',"floor_option")
FloorOpt = 
  Floor with properties:

                      Strike: 0.0200
                    Maturity: 30-Jan-2019
                 ResetOffset: 0
                       Reset: 4
                       Basis: 8
                   Principal: 100
             ProjectionCurve: [0x0 ratecurve]
    DaycountAdjustedCashFlow: 0
       BusinessDayConvention: "actual"
                    Holidays: NaT
                        Name: "floor_option"

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

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

HullWhiteModel = finmodel("HullWhite",'Alpha',0.032,'Sigma',0.04)
HullWhiteModel = 
  HullWhite with properties:

    Alpha: 0.0320
    Sigma: 0.0400

Создание 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"

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

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

outPricer = finpricer("analytic",'Model',HullWhiteModel,'DiscountCurve',myRC)
outPricer = 
  HullWhite with properties:

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

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

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

Price = price(outPricer,FloorOpt)
Price = 0.5809
Введенный в R2020a