exponenta event banner

HullWhite

Создать HullWhite объект модели для Cap, Floor, Swaption, Swap, FixedBond, FloatBond, FloatBondOption, FixedBondOption, OptionEmbeddedFixedBond, или OptionEmbeddedFloatBond инструмент

Описание

Создать и оценить Cap, Floor, Swaption, Swap, FloatBond, FloatBondOption, FixedBond, FixedBondOption, OptionEmbeddedFixedBond, или OptionEmbeddedFloatBond объект прибора с HullWhite модель с использованием этого рабочего процесса:

  1. Использовать fininstrument для создания Cap, Floor, Swaption, Swap, FixedBond, FloatBond, FloatBondOption FixedBondOption, OptionEmbeddedFixedBond, или OptionEmbeddedFloatBond объект прибора.

  2. Использовать finmodel для указания HullWhite объект модели для Cap, Floor, Swaption, Swap, FixedBond, FloatBond, FloatBondOption, FixedBondOption, OptionEmbeddedFixedBond, или OptionEmbeddedFloatBond инструмент.

  3. Использовать finpricer для указания HullWhite метод ценообразования для Cap, Floor, или Swaption и использовать IRTree метод ценообразования для Cap, Floor, Swaption, Swap, FixedBond, FloatBond, FloatBondOption, FixedBondOption, OptionEmbeddedFixedBond, или OptionEmbeddedFloatBond инструмент.

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

Для получения дополнительной информации о доступных методах ценообразования для Cap, Floor, Swaption, Swap, FixedBond, FloatBond, FloatBondOption, FixedBondOption, OptionEmbeddedFixedBond, или OptionEmbeddedFloatBond см. раздел Выбор приборов, моделей и прайсеров.

Создание

Описание

пример

HullWhiteModelObj = finmodel(ModelType,'Alpha'alpha_value,'Sigma',sigma_value) создает HullWhite объект модели путем указания ModelType и требуемые аргументы пары имя-значениеAlpha и Sigma для установки свойств с использованием аргументов пары имя-значение. Например, HullWhiteModelObj = finmodel("HullWhite",'Alpha',0.052,'Sigma',0.34) создает HullWhite объект модели.

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

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

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

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

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

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

Пример: HullWhiteModelObj = finmodel("HullWhite",'Alpha',0.052,'Sigma',0.34)

Средняя скорость реверсии, указанная как разделенная запятыми пара, состоящая из 'Alpha' и скалярное числовое или расписание.

Alpha принимает timetable, где первый столбец - даты, а второй столбец - связанные Alpha значение.

Типы данных: double | timetable

Волатильность, указанная как пара, разделенная запятыми, состоящая из 'Sigma' и скалярное числовое или расписание.

Sigma принимает timetable, где первый столбец - даты, а второй столбец - связанные Sigma значение.

Типы данных: double | timetable

Свойства

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

Средняя скорость реверсии, возвращаемая в виде скалярного числа или расписания.

Типы данных: double | timetable

Волатильность, возвращаемая как скалярное числовое значение или расписание.

Типы данных: double | timetable

Примеры

свернуть все

В этом примере показан поток операций для оценки Floor инструмент при использовании HullWhite модель и HullWhite способ ценообразования.

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

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

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

                      Strike: 0.0450
                    Maturity: 30-Jan-2019
                 ResetOffset: 0
                       Reset: 4
                       Basis: 1
                   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 = 1.4917
Представлен в R2020a