exponenta event banner

Нормальный

Создать Normal объект pricer для 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 объект pricer путем указания 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 object и используйте 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