Normal

Создание Normal объект ценника для Cap, Floor, или Swaption инструмент с использованием Normal модель

Описание

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

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

  2. Использовать finmodel для задания Normal модель для Cap, Floor, или Swaption прибора.

  3. Использовать finpricer для задания Normal объект ценника для Cap, Floor, или Swaption прибора.

    Примечание

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

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

Для получения дополнительной информации о доступных инструментах, моделях и методах ценообразования для Cap, Floor, или Swaption инструмент, см. «Выбор инструментов», «Модели» и «Цены».

Создание

Описание

пример

NormalPricerObj = finpricer(PricerType,'DiscountCurve',ratecurve_obj,'Model',model) создает Normal объект прейскуранта путем определения PricerType и необходимые аргументы пары "имя-значение" DiscountCurve и Model чтобы задать свойства с помощью аргументов пары "имя-значение". Для примера, NormalPricerObj = finpricer("Analytic",'DiscountCurve',ratecurve_obj,'Model',NormModel) создает Normal объект прейскуранта.

Входные параметры

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

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

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

Normal Аргументы в виде пар имя-значение

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

Пример: NormalPricerObj = finpricer("Analytic",'DiscountCurve',ratecurve_obj,'Model',NormModel)

ratecurve объект для дисконтирования денежных потоков, заданный как разделенная разделенными запятой парами, состоящая из 'DiscountCurve' и имя ранее созданного ratecurve объект.

Типы данных: object

Модель, заданная как разделенная разделенными запятой парами, состоящая из 'Model' и имя ранее созданного Normal моделировать объект используя finmodel.

Типы данных: object

Свойства

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

ratecurve объект для дисконтирования денежных потоков, возвращенный как ratecurve объект.

Типы данных: object

Модель, возвращенная как Normal объект модели.

Типы данных: object

Функции объекта

priceВычислите цену для процентной ставки, собственного капитала или кредитного производного инструмента с Analytic калькулятор цен

Примеры

свернуть все

Этот пример показывает рабочий процесс, чтобы оценить Cap инструмент, когда вы используете Normal модель и Normal метод ценообразования.

Создание Cap Объект прибора

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

CapOpt = fininstrument("Cap",'Strike',0.02,'Maturity',datetime(2019,6,25),'Reset',4,'Principal',100,'Basis',8,'Name',"cap_option")
CapOpt = 
  Cap with properties:

                      Strike: 0.0200
                    Maturity: 25-Jun-2019
                 ResetOffset: 0
                       Reset: 4
                       Basis: 8
                   Principal: 100
             ProjectionCurve: [0x0 ratecurve]
    DaycountAdjustedCashFlow: 0
       BusinessDayConvention: "actual"
                    Holidays: NaT
                        Name: "cap_option"

Создание Normal Объект модели

Использование finmodel для создания Normal объект модели.

NormalModel = finmodel("Normal",'Volatility',0.063)
NormalModel = 
  Normal with properties:

    Volatility: 0.0630

Создание 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"

Создание Normal Объект прейскуранта

Использование finpricer для создания Normal и используйте объект pricer ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".

outPricer = finpricer("analytic",'Model',NormalModel,'DiscountCurve',myRC)
outPricer = 
  Normal with properties:

    DiscountCurve: [1x1 ratecurve]
            Shift: 0
            Model: [1x1 finmodel.Normal]

Ценовые Cap Инструмент

Использование price чтобы вычислить цену для Cap прибора.

Price = price(outPricer,CapOpt)
Price = 0.4828
Введенный в R2020a