exponenta event banner

IkedaKunitomo

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