BjerksundStensland

Создание BjerksundStensland объект ценника для 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 объект прейскуранта путем определения 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-by- 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 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 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