Bachelier

Создайте Bachelier объект модели для Vanilla, Spread, или Binary инструмент

Описание

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

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

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

  3. Использование finpricer задавать AssetMonteCarlo метод ценообразования для Vanilla, Spread, или Binary инструментальный объект.

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

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

Создание

Описание

пример

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

пример

BachelierModelObj = finmodel(ModelType,Name,Value) устанавливает дополнительные свойства с помощью дополнительного аргумента пары "имя-значение" в дополнение к обязательным аргументам в предыдущем синтаксисе. Например, BachelierModelObj = finmodel("Bachelier",'Volatility',0.063,'Correlation',Corr) создает Bachelier объект модели с заданным Correlation значение.

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

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

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

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

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

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

Пример: BachelierModelObj = finmodel("Bachelier",'Volatility',0.063,'Correlation',Corr)

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

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

Корреляция для базовых активов в виде разделенной запятой пары, состоящей из 'Correlation' и положительная полуопределенная матрица. Для получения дополнительной информации о создании положительной полуопределенной матрицы смотрите nearcorr.

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

Свойства

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

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

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

Корреляция для базовых активов, возвращенных как матрица.

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

Примеры

свернуть все

Этот пример показывает рабочий процесс, чтобы оценить американскую опцию для Vanilla инструмент, когда вы используете Bachelier модель и AssetMonteCarlo метод ценообразования.

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

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

VanillaOpt = fininstrument("Vanilla",'Strike',105,'ExerciseDate',datetime(2022,9,15),'OptionType',"call",'ExerciseStyle',"american",'Name',"vanilla_option")
VanillaOpt = 
  Vanilla with properties:

       OptionType: "call"
    ExerciseStyle: "american"
     ExerciseDate: 15-Sep-2022
           Strike: 105
             Name: "vanilla_option"

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

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

BachelierModel = finmodel("Bachelier","Volatility",0.2)
BachelierModel = 
  Bachelier 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"

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

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

outPricer = finpricer("AssetMonteCarlo",'DiscountCurve',myRC,"Model",BachelierModel,'SpotPrice',150,'simulationDates',datetime(2022,9,15))
outPricer = 
  BachelierMonteCarlo with properties:

      DiscountCurve: [1x1 ratecurve]
          SpotPrice: 150
    SimulationDates: 15-Sep-2022
          NumTrials: 1000
      RandomNumbers: []
              Model: [1x1 finmodel.Bachelier]
       DividendType: "continuous"
      DividendValue: 0

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

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

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

       Results: [1x7 table]
    PricerData: [1x1 struct]

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

    57.378    0.99107    -1.579e-14    2.5909    291.94    -2.5576    -2.1316e-10

Введенный в R2021a