HullWhite

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

Описание

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

  1. Использование fininstrument создать Capпол, Swaptionподкачка, FixedBond, FloatBond, FloatBondOption FixedBondOption, OptionEmbeddedFixedBond, или OptionEmbeddedFloatBond инструментальный объект.

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

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

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

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

Создание

Описание

пример

HullWhiteModelObj = finmodel(ModelType,'Alpha'alpha_value,'Sigma',sigma_value) создает HullWhite объект модели путем определения ModelType и необходимая пара "имя-значение" argumentsAlpha и 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 принимает a timetable, где первый столбец является датами, и вторым столбцом является связанный Alpha значение.

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

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

Sigma принимает a 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 объект калькулятора цен и использование 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