Asian

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

Описание

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

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

  2. Использовать finmodel для задания BlackScholes, Heston, Bates, или Merton модель для Asian прибора.

    • При использовании BlackScholes модель, использование finpricer для задания Levy, KemnaVorst, AssetTree, или TurnbullWakeman метод ценообразования для Asian прибора.

    • При использовании BlackScholes, Heston, Bates, или Merton модель, использование finpricer для задания AssetMonteCarlo метод ценообразования для Asian прибора.

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

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

Создание

Описание

пример

AsianOpt = fininstrument(InstrumentType,'Strike',strike_price,'ExerciseDate',exercise_date) создает Asian объект путем определения InstrumentType и устанавливает свойства для необходимых аргументов пары "имя-значение" Strike и ExerciseDate.

The Asian инструмент поддерживает арифметические и геометрические средние цены Азиатские опции. Средняя цена Азиатские опции также известны как фиксированные Азиатские опции.

пример

AsianOpt = fininstrument(___,Name,Value) устанавливает необязательные свойства с помощью дополнительных пар "имя-значение" в дополнение к необходимым аргументам в предыдущем синтаксисе. Для примера, AsianOpt = fininstrument("Asian",'Strike',100,'ExerciseDate',datetime(2019,1,30),'OptionType',"put",'ExerciseStyle',"European",'Name',"asian_option") создает Asian поставьте опцию с европейским упражнением. Можно задать несколько аргументы пары "имя-значение".

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

расширить все

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

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

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

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

Пример: AsianOpt = fininstrument("Asian",'Strike',100,'ExerciseDate',datetime(2019,1,30),'OptionType',"put",'ExerciseStyle',"European",'Name',"asian_option")
Требуемая Asian Аргументы в виде пар имя-значение

расширить все

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

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

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

Примечание

Для азиатской европейской опции существует только один ExerciseDate на дату истечения срока действия опции.

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

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

Необязательные Asian Аргументы в виде пар имя-значение

расширить все

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

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

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

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

Средние типы, заданные как разделенная разделенными запятой парами, состоящая из 'AverageType' и скалярную строку или вектор символов. Использование "arithmetic" для арифметики среднего значения или "geometric" для геометрического среднего значения.

Примечание

Когда вы используете RollGeskeWhaley цена, AverageType должен быть "geometric".

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

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

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

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

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

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

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

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

Свойства

расширить все

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

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

Дата выполнения опции, возвращенная как datetime.

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

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

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

Опция стиле упражнения возвращается как строка со значением "European".

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

Средние типы, возвращенные как скалярная строка со значением "arithmetic" для арифметики среднего значения или "geometric" для геометрического среднего значения.

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

Средняя цена базового актива в Settle, возвращается как скалярное число.

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

Дата начала периода усреднения, возвращенная в виде скалярного datetime.

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

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

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

Примеры

свернуть все

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

Создание Asian Объект прибора

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

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

          OptionType: "put"
              Strike: 1000
         AverageType: "arithmetic"
        AveragePrice: 0
    AverageStartDate: NaT
       ExerciseStyle: "european"
        ExerciseDate: 15-Sep-2022
                Name: "asian_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"

Создание TurnbullWakeman Объект прейскуранта

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

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

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

Ценовые Asian Инструмент

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

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

       Results: [1x7 table]
    PricerData: []

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

    56.707    -0.3155    0.0014381    -5.5637    408.85    -2.9341    -832.53

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

Создание Asian Объект прибора

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

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

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

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

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

BlackScholesModel = finmodel("BlackScholes",'Volatility',0.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"

Создание AssetTree Объект прейскуранта

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

NumPeriods = 15;
CRRPricer = finpricer("AssetTree",'DiscountCurve',myRC,'Model',BlackScholesModel,'SpotPrice',1000,'PricingMethod',"CoxRossRubinstein",'Maturity',datetime(2022,9,15),'NumPeriods',NumPeriods)
CRRPricer = 
  CRRTree with properties:

             Tree: [1x1 struct]
       NumPeriods: 15
            Model: [1x1 finmodel.BlackScholes]
    DiscountCurve: [1x1 ratecurve]
        SpotPrice: 1000
     DividendType: "continuous"
    DividendValue: 0
        TreeDates: [1x15 datetime]

CRRPricer.Tree
ans = struct with fields:
    Probs: [2x15 double]
    ATree: {1x16 cell}
     dObs: [1x16 datetime]
     tObs: [1x16 double]

Ценовые Asian Инструмент

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

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

       Results: [1x7 table]
    PricerData: []

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

    54.922    -0.32119    0.0581    393.85    -5.8481    -846.57    -2.4325

Этот пример показывает рабочий процесс, чтобы оценить Asian инструмент для среднеарифметической валютной опции при использовании BlackScholes модель и Levy метод ценообразования. Предположим, что текущий обменный курс составляет $0,52 и имеет волатильность 12% годовых. В годовом исчислении постоянно сложившаяся иностранная безрисковая ставка составляет 8% годовых.

Создание Asian Объект прибора

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

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

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

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

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

Sigma = .12;
BlackScholesModel = finmodel("BlackScholes",'Volatility',Sigma)
BlackScholesModel = 
  BlackScholes with properties:

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

Создание Levy Объект прейскуранта

Использование finpricer для создания Levy и используйте объект pricer ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение". Когда вы оцениваете валюты с помощью азиатского инструмента для арифметической средней валютной опции, DividendType должен быть 'continuous' и DividendValue - годовая процентная ставка без риска в иностранной стране.

ForeignRate = 0.08;
outPricer = finpricer("analytic",'DiscountCurve',myRC,'Model',BlackScholesModel,'SpotPrice',.52,'DividendType',"continuous",'DividendValue',ForeignRate,'PricingMethod',"Levy")
outPricer = 
  Levy with properties:

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

Ценовые Asian FX КИП

Использование price вычислить цену и чувствительность для Asian Прибор FX.

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

       Results: [1x7 table]
    PricerData: []

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

    0.15161    -0.78532    0.37534    -2.6935    0.015668    -0.0038317    -1.3974

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

Создание Asian Объект прибора

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

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

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

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

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

BlackScholesModel = finmodel("BlackScholes",'Volatility',0.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 ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".

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

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

Ценовые Asian Инструмент

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

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

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

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

    682.34    -0.93511    -5.6843e-14    -0.27409    -3129.1    27.433    -1.2121

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

Создание Asian Объект прибора

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

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

          OptionType: "put"
              Strike: 1000
         AverageType: "arithmetic"
        AveragePrice: 0
    AverageStartDate: NaT
       ExerciseStyle: "european"
        ExerciseDate: 15-Sep-2022
                Name: "asian_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 ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".

outPricer = finpricer("AssetMonteCarlo",'DiscountCurve',myRC,"Model",MertonModel,'SpotPrice',200,'simulationDates',datetime(2022,9,15))
outPricer = 
  MertonMonteCarlo with properties:

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

Ценовые Asian Инструмент

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

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

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

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

    683.2    -0.9047    -1.9895e-13    -0.26484    -3110.3    25.93    20.227

Подробнее о

расширить все

Введенный в R2020a