exponenta event banner

BjerksundStensland

Создать BjerksundStensland объект pricer для Vanilla или Spread прибор с использованием BlackScholes модель

Описание

Создать и оценить Vanilla или Spread объект прибора с BlackScholes модель и BjerksundStensland метод ценообразования с использованием этого потока операций:

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

  2. Использовать finmodel для указания BlackScholes модель для Vanilla или Spread инструмент.

  3. Использовать finpricer для указания BjerksundStensland ценовой объект для Vanilla инструмент (американские учения) или Spread инструмент.

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

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

Создание

Описание

пример

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

пример

BjerksundStenslandPricerObj = finpricer(___,Name,Value) установка дополнительных свойств с использованием дополнительных пар имя-значение в дополнение к требуемым аргументам в предыдущем синтаксисе. Например, BjerksundStenslandPricerObj = finpricer("Analytic",'Model','BSModel','DiscountCurve',ratecurve_obj,'SpotPrice',[100;105],'DividendValue',[2.5,2.8],'PricingMethod',"BjerksundStensland") создает BjerksundStensland объект прайсера.

Входные аргументы

развернуть все

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

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

BjerksundStensland Аргументы пары «имя-значение»

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

Пример: BjerksundStenslandPricerObj = finpricer("Analytic",'Model','BSModel','DiscountCurve',ratecurve_obj,'SpotPrice',[100;105],'DividendValue',[2.5,2.8],'PricingMethod',"BjerksundStensland")
Необходимый BjerksundStensland Аргументы пары «имя-значение»

развернуть все

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

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

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

Примечание

Задать плоскую ratecurve объект для DiscountCurve. При использовании непластового ratecurve , программное обеспечение использует скорость в ratecurve объект на Maturity и предполагает, что значение является постоянным для срока действия опциона на акционерный капитал.

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

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

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

Дополнительный BjerksundStensland Аргументы пары «имя-значение»

развернуть все

Дивидендная доходность, указанная как пара, разделенная запятыми, состоящая из 'DividendValue' и скаляр или вектор неотрицательных числовых значений. Использовать 1около-2 вектор неотрицательных значений для DividendValue при ценообразовании Spread инструмент.

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

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

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

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

Примечание

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

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

Свойства

развернуть все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

свернуть все

В этом примере показан поток операций для оценки европейского упражнения. Spread инструмент при использовании BlackScholes модель и BjerksundStensland способ ценообразования.

Создать Spread Объект КИП

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

SpreadOpt = fininstrument("Spread",'Strike',5,'ExerciseDate',datetime(2021,9,15),'OptionType',"put",'ExerciseStyle',"european",'Name',"spread_option")
SpreadOpt = 
  Spread with properties:

       OptionType: "put"
           Strike: 5
    ExerciseStyle: "european"
     ExerciseDate: 15-Sep-2021
             Name: "spread_option"

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

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

BlackScholesModel = finmodel("BlackScholes",'Volatility',[0.2,0.1])
BlackScholesModel = 
  BlackScholes with properties:

     Volatility: [0.2000 0.1000]
    Correlation: [2x2 double]

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

Создание плоского ratecurve объект с использованием ratecurve.

Settle = datetime(2018,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-2018
         InterpMethod: "linear"
    ShortExtrapMethod: "next"
     LongExtrapMethod: "previous"

Создать BjerksundStensland Объект прайсера

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

outPricer = finpricer("analytic",'Model',BlackScholesModel,'DiscountCurve',myRC,'SpotPrice',[100,105],'DividendValue',[0.09,0.17],'PricingMethod',"BjerksundStensland")
outPricer = 
  BjerksundStensland with properties:

    DiscountCurve: [1x1 ratecurve]
            Model: [1x1 finmodel.BlackScholes]
        SpotPrice: [100 105]
    DividendValue: [0.0900 0.1700]
     DividendType: "continuous"

Цена Spread Инструмент

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

[Price, outPR] = price(outPricer,SpreadOpt,["all"])
Price = 7.0596
outPR = 
  priceresult with properties:

       Results: [1x7 table]
    PricerData: []

outPR.Results
ans=1×7 table
    Price            Delta                    Gamma                   Lambda                Vega          Theta       Rho  
    ______    ____________________    ______________________    __________________    ________________    ______    _______

    7.0596    -0.23249     0.27057    0.0069887    0.0055319    -3.2932     3.8327    41.938    18.303    1.1011    -5.6943

В этом примере показан поток операций для оценки американского упражнения. Vanilla инструмент при использовании BlackScholes модель и BjerksundStensland способ ценообразования.

Создать Vanilla Объект КИП

Использовать fininstrument чтобы создать американское упражнение Vanilla объект прибора.

VanillaObj = fininstrument("Vanilla",'Strike',120,'ExerciseDate',datetime(2019,1,30),'OptionType',"put",'ExerciseStyle',"american",'Name',"vanilla_instrument")
VanillaObj = 
  Vanilla with properties:

       OptionType: "put"
    ExerciseStyle: "american"
     ExerciseDate: 30-Jan-2019
           Strike: 120
             Name: "vanilla_instrument"

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

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

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

     Volatility: 0.2000
    Correlation: 1

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

Создание плоского ratecurve объект с использованием ratecurve.

Settle = datetime(2018,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-2018
         InterpMethod: "linear"
    ShortExtrapMethod: "next"
     LongExtrapMethod: "previous"

Создать BjerksundStensland Объект прайсера

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

outPricer = finpricer("analytic",'Model',BlackScholesModel,'DiscountCurve',myRC,'SpotPrice',120,'DividendValue',0.05,'PricingMethod',"BjerksundStensland")
outPricer = 
  BjerksundStensland with properties:

    DiscountCurve: [1x1 ratecurve]
            Model: [1x1 finmodel.BlackScholes]
        SpotPrice: 120
    DividendValue: 0.0500
     DividendType: "continuous"

Цена Vanilla Инструмент

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

[Price, outPR] = price(outPricer,VanillaObj,["all"])
Price = 6.1080
outPR = 
  priceresult with properties:

       Results: [1x7 table]
    PricerData: []

outPR.Results
ans=1×7 table
    Price     Delta       Gamma      Lambda      Vega      Theta       Rho  
    _____    ________    ________    _______    ______    _______    _______

    6.108    -0.48471    0.026611    -9.5227    28.781    -8.3418    -24.115

Представлен в R2020a