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 инструмент, см. «Выбор инструментов», «Модели» и «Цены».

Создание

Описание

пример

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 и используйте объект pricer 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