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

Свойства

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

Средняя скорость реверсии, возвращенная в виде скалярного числа или 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 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