IkedaKunitomo

Создание IkedaKunitomo объект ценника для DoubleBarrier инструмент с использованием BlackScholes модель

Описание

Создайте и оцените DoubleBarrier объект инструмента со BlackScholes модель и IkedaKunitomo метод ценообразования с использованием этого рабочего процесса:

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

  2. Использовать finmodel для задания BlackScholes модель для DoubleBarrier прибора.

  3. Использовать finpricer для задания IkedaKunitomo объект ценника для DoubleBarrier прибора.

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

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

Создание

Описание

пример

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

пример

IkedaKunitomoPricerObj = finpricer(___,Name,Value) устанавливает необязательные свойства с помощью дополнительных пар "имя-значение" в дополнение к необходимым аргументам в предыдущем синтаксисе. Для примера, IkedaKunitomoPricerObj = finpricer("Analytic",'Model','BSModel','DiscountCurve',ratecurve_obj,'SpotPrice',100,'DividendValue',0.025,'PricingMethod',"IkedaKunitomo") создает IkedaKunitomo объект прейскуранта. Можно задать несколько аргументы пары "имя-значение".

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

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

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

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

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

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

Пример: IkedaKunitomoPricerObj = finpricer("Analytic",'Model','BSModel','DiscountCurve',ratecurve_obj,'SpotPrice',100,'DividendValue',0.025,'PricingMethod',"IkedaKunitomo")
Требуемая IkedaKunitomo Аргументы в виде пар имя-значение

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

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

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

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

Примечание

Задайте плоскую ratecurve объект для DiscountCurve.

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

Текущая цена базового актива, заданная как разделенная разделенными запятой парами, состоящая из 'SpotPrice' и скаляр неотрицательное числовое значение.

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

Необязательные IkedaKunitomo Аргументы в виде пар имя-значение

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

Дивидендное выражение, заданная как разделенная разделенными запятой парами, состоящая из 'DividendValue' и скаляр неотрицательное числовое значение.

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

Тип дивидендов, заданный как разделенная разделенными запятой парами, состоящая из 'DividendType' и строковый или символьный вектор.

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

Уровни кривизны верхнего и нижнего барьеров, заданные как разделенная разделенными запятой парами, состоящая из 'Curvature' и вектор, где первый уровень является верхней барьерной кривизной (d1), а второй уровень является нижней барьерной кривизной (d2). Возможные уровни кривизны следующие:

  • d1 = d2 = 0 соответствует двум плоским контурам.

  • d1 < 0 < d2 соответствует экспоненциально растущей нижнему контуру и экспоненциально затухающей верхнему контуру.

  • d1 > 0 > d2 соответствует выпуклому нижнему контуру вниз и выпуклому верхнему контуру вверх.

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

Аналитический метод ценообразования, заданный как разделенная разделенными запятой парами, состоящая из 'PricingMethod' и вектор символов или строка.

Примечание

Метод ценообразования по умолчанию для BlackScholes модель является BlackScholes цена.

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

Свойства

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

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

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

Это свойство доступно только для чтения.

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

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

Текущая цена базового актива, возвращенная в виде скалярного неотрицательного числового значения.

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

Дивидендное выражение, возвращенная как скалярное неотрицательное число.

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

Это свойство доступно только для чтения.

Тип дивидендов, возвращенный как строка.

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

Уровни кривизны верхнего и нижнего барьеров, возвращаемые как вектор, где первый уровень является кривизной верхнего барьера (d1), а второй уровень является кривизной нижнего барьера (d2).

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

Аналитический метод ценообразования, возвращенный как строка.

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

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

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

Примеры

свернуть все

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

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

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

DoubleBarrierOpt = fininstrument("DoubleBarrier",'Strike',100,'ExerciseDate',datetime(2020,8,15),'OptionType',"call",'ExerciseStyle',"European",'BarrierType',"DKO",'BarrierValue',[110 80],'Name',"doublebarrier_option")
DoubleBarrierOpt = 
  DoubleBarrier with properties:

       OptionType: "call"
           Strike: 100
     BarrierValue: [110 80]
    ExerciseStyle: "european"
     ExerciseDate: 15-Aug-2020
      BarrierType: "dko"
           Rebate: [0 0]
             Name: "doublebarrier_option"

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

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

BlackScholesModel = finmodel("BlackScholes","Volatility",.3)
BlackScholesModel = 
  BlackScholes with properties:

     Volatility: 0.3000
    Correlation: 1

Создание ratecurve Объект

Создайте плоскую ratecurve объект, использующий ratecurve.

Settle = datetime(2017,9,15);
Maturity = datetime(2023,9,15);
Rate = 0.035;
myRC = ratecurve('zero',Settle,Maturity,Rate,'Basis',12)
myRC = 
  ratecurve with properties:

                 Type: "zero"
          Compounding: -1
                Basis: 12
                Dates: 15-Sep-2023
                Rates: 0.0350
               Settle: 15-Sep-2017
         InterpMethod: "linear"
    ShortExtrapMethod: "next"
     LongExtrapMethod: "previous"

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

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

outPricer = finpricer("Analytic","DiscountCurve",myRC,"Model",BlackScholesModel,'SpotPrice',100,'Curvature',[0.03 -0.03],'DividendValue',0.029,"PricingMethod","IkedaKunitomo")
outPricer = 
  IkedaKunitomo with properties:

    DiscountCurve: [1x1 ratecurve]
            Model: [1x1 finmodel.BlackScholes]
        SpotPrice: 100
    DividendValue: 0.0290
     DividendType: "continuous"
        Curvature: [0.0300 -0.0300]

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

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

[Price, outPR] = price(outPricer,DoubleBarrierOpt,["all"])
Price = 5.6848e-04
outPR = 
  priceresult with properties:

       Results: [1x7 table]
    PricerData: []

outPR.Results 
ans=1×7 table
      Price          Delta          Gamma       Lambda       Vega         Theta          Rho    
    __________    ___________    ___________    _______    _________    _________    ___________

    0.00056848    -3.7713e-05    -4.2071e-06    -6.6339    -0.031332    0.0008912    -0.00035113

Введенный в R2020b