HullWhite

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

Описание

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

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

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

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

    Примечание

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

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

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

Создание

Описание

пример

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