BlackScholes

Создайте BlackScholes объект модели для Asian, Barrier, Lookback, Spread, или Vanilla инструмент

Описание

Создайте и оцените Vanilla, Lookback, Barrier, Asian, или Spread инструментальный объект с BlackScholes модель с помощью этого рабочего процесса:

  1. Используйте fininstrument создать Vanilla, Lookback, Barrier, Asian, или Spread инструментальный объект.

  2. Используйте finmodel задавать BlackScholes объект модели для Vanilla, Lookback, Barrier, Asian, или Spread инструмент.

  3. Используйте finpricer задавать поддерживаемый метод ценообразования. Для получения дополнительной информации о доступных методах ценообразования для Vanilla, Lookback, Barrier, Asian, или Spread инструмент при использовании BlackScholes модель, смотрите, Выбирают Instruments, Models и Pricers.

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

Для получения дополнительной информации о доступных методах ценообразования для Vanilla, Lookback, Barrier, Asian, или Spread инструмент при использовании BlackScholes модель, смотрите, Выбирают Instruments, Models и Pricers.

Создание

Описание

пример

BlackScholesModelObj = finmodel(ModelType,'Volatility',volatility_value) создает BlackScholes объект модели путем определения ModelType и устанавливает свойства для необходимого аргумента пары "имя-значение" Volatility.

BlackScholesModelObj = finmodel(___,Name,Value) устанавливает дополнительные свойства с помощью дополнительных пар "имя-значение" в дополнение к обязательным аргументам в предыдущем синтаксисе. Например, BlackScholesModelObj = finmodel("BlackScholes",'Volatility',0.032) создает BlackScholes объект модели. Можно задать несколько аргументов пары "имя-значение".

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

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

Тип модели в виде строки со значением "BlackScholes" или вектор символов со значением 'BlackScholes'.

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

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

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

Пример: BlackScholesModelObj = finmodel("BlackScholes",'Volatility',0.032)

Необходимый BlackScholes Аргументы в виде пар имя-значение

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

Значение энергозависимости в виде разделенной запятой пары, состоящей из 'Volatility' и скаляр, неотрицательный числовой.

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

Дополнительный BlackScholes Аргументы в виде пар имя-значение

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

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

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

Свойства

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

Значение энергозависимости, возвращенное как скаляр, неотрицательный числовой.

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

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

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

Примеры

свернуть все

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

Создайте Asian Инструментальный объект

Используйте fininstrument создать Asian инструментальный объект.

AsianOpt = fininstrument("Asian",'ExerciseDate',datetime(2022,9,15),'Strike',105,'OptionType',"put",'ExerciseStyle',"european",'Name',"asian_option")
AsianOpt = 
  Asian with properties:

          OptionType: "put"
              Strike: 105
         AverageType: "arithmetic"
        AveragePrice: 0
    AverageStartDate: NaT
       ExerciseStyle: "european"
        ExerciseDate: 15-Sep-2022
                Name: "asian_option"

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

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

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

     Volatility: 0.2800
    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"

Создайте TurnbullWakeman Объект калькулятора цен

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

outPricer = finpricer("analytic",'Model',BlackScholesModel,'DiscountCurve',myRC,'SpotPrice',100,'PricingMethod',"TurnbullWakeman")
outPricer = 
  TurnbullWakeman with properties:

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

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

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

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

       Results: [1x7 table]
    PricerData: []

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

    11.225    -0.38072    0.01087    -3.3917    44.242    -0.5256    -116.88

Введенный в R2020a