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 инструмент, смотрите, Выбирают Instruments, Models и Pricers.

Создание

Описание

пример

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- 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"
    ExerciseStyle: "european"
     ExerciseDate: 15-Sep-2021
           Strike: 5
             Name: "spread_option"

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

Используйте finmodel создать BlackScholes объект модели.

BlackScholesModel = finmodel("BlackScholes",'Volatility',[.2;.1])
BlackScholesModel = 
  BlackScholes with properties:

     Volatility: [2x1 double]
    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 объект калькулятора цен и использование 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: [2x1 double]
    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 объект калькулятора цен и использование 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