exponenta event banner

Набор из двух предметов

Binary объект прибора

Описание

Создать и оценить Binary объект инструмента с использованием этого рабочего процесса:

  1. Использовать fininstrument для создания Binary объект прибора.

  2. Использовать finmodel для указания BlackScholes или Bachelier модель для Binary инструмент.

    • При использовании BlackScholes модель, использование finpricer для указания BlackScholes или AssetMonteCarlo метод ценообразования для Binary инструмент.

    • При использовании Bachelier модель, использование finpricer для указания AssetMonteCarlo метод ценообразования для Binary инструмент.

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

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

Создание

Описание

пример

BinaryOpt = fininstrument(InstrumentType,'Strike',strike_value,'ExerciseDate',exercise_date,'PayoffValue',payoff_value) создает Binary путем указания объекта InstrumentType и устанавливает свойства, используя необходимые аргументы пары имя-значение Strike, ExerciseDate, и PayoffValue.

пример

BinaryOpt = fininstrument(___,Name,Value) задает дополнительные свойства, используя дополнительные аргументы пары имя-значение в дополнение к требуемым аргументам в предыдущем синтаксисе. Например, BinaryOpt = fininstrument("Binary",'Strike',100,'ExerciseDate',datetime(2019,1,30),'PayoffValue',110,'OptionType',"put",'Name',"binary_option") создает Binary вариант пут с PayoffValue из 110. Можно указать несколько аргументов пары имя-значение.

Входные аргументы

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

Тип прибора, указанный как строка со значением "Binary" или символьный вектор со значением 'Binary'.

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

Binary Аргументы пары «имя-значение»

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

Пример: BinaryOpt = fininstrument("Binary",'Strike',100,'ExerciseDate',datetime(2019,1,30),'PayoffValue',110,'OptionType',"put",'Name',"binary_option")
Необходимый Binary Аргументы пары «имя-значение»

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

Цена страйка опциона, указанная как пара, разделенная запятыми, состоящая из 'Strike' и скалярное неотрицательное значение.

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

Дата выполнения опциона, указанная как пара, разделенная запятыми, состоящая из 'ExerciseDate' и скалярное значение datetime, порядковый номер даты, вектор символов даты или строка даты.

Если используется вектор символов даты или строка даты, формат должен быть распознаваемым по datetime потому что ExerciseDate свойство сохраняется как datetime.

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

Значение выплаты опциона, указанное как пара, разделенная запятыми, состоящая из 'PayoffValue' и скалярное числовое значение.

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

Дополнительный Binary Аргументы пары «имя-значение»

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

Тип опции, указанный как разделенная запятыми пара, состоящая из 'OptionType' и скалярный строковый или символьный вектор.

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

Стиль дополнительного упражнения, заданный как разделенная запятыми пара, состоящая из 'ExerciseStyle' и скалярный строковый или символьный вектор.

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

Определяемое пользователем имя прибора, указанное как пара, разделенная запятыми, состоящая из 'Name' и скалярный строковый или символьный вектор.

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

Свойства

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

Цена страйка опциона, возвращаемая как скалярное неотрицательное значение.

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

Дата выполнения опциона, возвращенная в качестве даты и времени.

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

Значение выплаты опциона, возвращаемое как числовое значение.

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

Тип параметра, возвращаемый в виде строки со значением "call" или "put".

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

Это свойство доступно только для чтения.

Стиль дополнительного упражнения, возвращаемый в виде строки со значением "European".

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

Определяемое пользователем имя инструмента, возвращаемое в виде строки.

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

Примеры

свернуть все

В этом примере показан поток операций для оценки Binary инструмент при использовании BlackScholes модель и AssetMonteCarlo способ ценообразования.

Создать Binary Объект КИП

Использовать fininstrument для создания Binary объект прибора.

BinaryOpt = fininstrument("Binary",'ExerciseDate',datetime(2022,9,15),'Strike',1000,'PayoffValue',130,'OptionType',"put",'Name',"binary_option")
BinaryOpt = 
  Binary with properties:

       OptionType: "put"
     ExerciseDate: 15-Sep-2022
           Strike: 1000
      PayoffValue: 130
    ExerciseStyle: "european"
             Name: "binary_option"

Создать 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"

Создать AssetMonteCarlo Объект прайсера

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

outPricer = finpricer("AssetMonteCarlo",'DiscountCurve',myRC,"Model",BlackScholesModel,'SpotPrice',102,'simulationDates',datetime(2022,9,15))
outPricer = 
  GBMMonteCarlo with properties:

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

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

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

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

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

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

    113.02      0        0        0       -451.98    3.9582     0  

В этом примере показан поток операций для оценки Binary инструмент при использовании Merton модель и AssetMonteCarlo способ ценообразования.

Создать Binary Объект КИП

Использовать fininstrument для создания Binary объект прибора.

BinaryOpt = fininstrument("Binary",'ExerciseDate',datetime(2022,9,15),'Strike',1000,'PayoffValue',130,'OptionType',"put",'Name',"binary_option")
BinaryOpt = 
  Binary with properties:

       OptionType: "put"
     ExerciseDate: 15-Sep-2022
           Strike: 1000
      PayoffValue: 130
    ExerciseStyle: "european"
             Name: "binary_option"

Создать Merton Объект модели

Использовать finmodel для создания Merton объект модели.

MertonModel = finmodel("Merton",'Volatility',0.45,'MeanJ',0.02,'JumpVol',0.07,'JumpFreq',0.09)
MertonModel = 
  Merton with properties:

    Volatility: 0.4500
         MeanJ: 0.0200
       JumpVol: 0.0700
      JumpFreq: 0.0900

Создать 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",MertonModel,'SpotPrice',102,'simulationDates',datetime(2022,9,15))
outPricer = 
  MertonMonteCarlo with properties:

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

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

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

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

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

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

    112.45      0        0        0       -449.72    3.9384     0  

В этом примере показан поток операций для оценки Binary инструмент при использовании Bachelier модель и AssetMonteCarlo способ ценообразования.

Создать Binary Объект КИП

Использовать fininstrument для создания Binary объект прибора.

BinaryOpt = fininstrument("Binary",'ExerciseDate',datetime(2022,9,15),'Strike',1000,'PayoffValue',130,'OptionType',"put",'Name',"binary_option")
BinaryOpt = 
  Binary with properties:

       OptionType: "put"
     ExerciseDate: 15-Sep-2022
           Strike: 1000
      PayoffValue: 130
    ExerciseStyle: "european"
             Name: "binary_option"

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

Использовать finmodel для создания Bachelier объект модели.

BachelierModel = finmodel("Bachelier",'Volatility',.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',102,'simulationDates',datetime(2022,9,15))
outPricer = 
  BachelierMonteCarlo with properties:

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

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

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

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

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

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

    113.02      0        0        0       -451.98    3.9582     0  

В этом примере показан поток операций для оценки Binary инструмент при использовании BlackScholes модель и BlackScholes способ ценообразования.

Создать Binary Объект КИП

Использовать fininstrument для создания Binary объект прибора.

BinaryOpt = fininstrument("Binary",'ExerciseDate',datetime(2022,9,15),'Strike',1000,'PayoffValue',130,'OptionType',"put",'Name',"binary_option")
BinaryOpt = 
  Binary with properties:

       OptionType: "put"
     ExerciseDate: 15-Sep-2022
           Strike: 1000
      PayoffValue: 130
    ExerciseStyle: "european"
             Name: "binary_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"

Создать BlackScholes Объект прайсера

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

outPricer = finpricer("analytic",'DiscountCurve',myRC,'Model',BlackScholesModel,'SpotPrice',800,'DividendValue',0.045)
outPricer = 
  BlackScholes with properties:

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

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

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

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

       Results: [1x7 table]
    PricerData: []

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

    87.4     -0.075973    -3.1264e-05    -0.6954    -23.084    3.2599    -592.61

Подробнее

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

Представлен в R2020b