exponenta event banner

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

Примеры

свернуть все

В этом примере показан workflow-процесс по цене американского опциона для 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 object и используйте 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