exponenta event banner

HullWhite

Создать HullWhite объект pricer для 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 объект pricer путем указания 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 object и используйте 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