exponenta event banner

TurnbullWakeman

Создать TurnbullWakeman объект pricer для Asian прибор с использованием BlackScholes модель

Описание

Создать и оценить Asian объект прибора с BlackScholes модель и TurnbullWakeman метод ценообразования с использованием этого потока операций:

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

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

  3. Использовать finpricer для указания TurnbullWakeman ценовой объект для Asian инструмент.

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

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

Создание

Описание

пример

TurnbullWakemanPricerObj = finpricer(PricerType,'DiscountCurve',ratecurve_obj,'Model',model,'SpotPrice',spotprice_value) создает TurnbullWakeman объект pricer путем указания PricerType и задает свойства для необходимых аргументов пары имя-значение DiscountCurve, Model, и SpotPrice.

пример

TurnbullWakemanPricerObj = finpricer(___,Name,Value) установка дополнительных свойств с использованием дополнительных пар имя-значение в дополнение к требуемым аргументам в предыдущем синтаксисе. Например, TurnbullWakemanPricerObj = finpricer("Analytic",'DiscountCurve',ratecurve_obj,'Model',BSModel,'SpotPrice',1000,'DividendType',"continuous",'DividendValue',100) создает TurnbullWakeman объект прайсера.

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

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

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

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

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

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

Пример: TurnbullWakemanPricerObj = finpricer("Analytic",'DiscountCurve',ratecurve_obj,'Model',BSModel,'SpotPrice',1000,'DividendType',"continuous",'DividendValue',100,'PricingMethod','TurnbullWakeman')
Необходимый TurnbullWakeman Аргументы пары «имя-значение»

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

ratecurve объект для дисконтирования денежных потоков, указанный как разделенная запятыми пара, состоящая из 'DiscountCurve' и имя ранее созданного ratecurve объект.

Задать плоскую ratecurve объект для DiscountCurve. При использовании непластового ratecurve , программное обеспечение использует скорость в ratecurve объект на Maturity и предполагает, что значение является постоянным для срока действия опциона на акционерный капитал.

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

Модель, заданная как разделенная запятыми пара, состоящая из 'Model' и имя ранее созданного BlackScholes объект модели с использованием finmodel.

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

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

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

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

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

Тип дивидендов акций, указанный как разделенная запятыми пара, состоящая из 'DividendType' и символьный вектор или строку. DividendType должно быть "cash" для фактических дивидендов в долларах или "continuous" для непрерывного дивидендного дохода.

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

Дивидендная доходность для базового запаса, указанная как пара, разделенная запятыми, состоящая из 'DividendValue' и скалярное число для дивидендной доходности или график для дивидендной шкалы.

Примечание

DividendValue должен быть скаляром для "continuous" DividendType или расписание для "cash" DividendType.

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

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

Примечание

Метод расчета цены по умолчанию для BlackScholes модель является BlackScholes прайсер.

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

Свойства

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

ratecurve объект для дисконтирования денежных потоков, возвращенный как ratecurve объект.

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

Модель, возвращенная как BlackScholes объект модели.

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

Текущая цена базового актива, возвращаемая как скалярное неотрицательное числовое значение.

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

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

Тип дивидендов запаса, возвращаемый в виде строки. DividendType является либо "cash" для фактических дивидендов в долларах или "continuous" для непрерывного дивидендного дохода.

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

Дивидендная доходность или график дивидендов для базовой акции, возвращаемый как скалярное неотрицательное числовое для дивидендной доходности или график для графика дивидендов.

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

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

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

Функции объекта

priceВычислить цену для процентной ставки, собственного капитала или кредитного производного инструмента с Analytic калькулятор цен

Примеры

свернуть все

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

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

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

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

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

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

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

BlackScholesModel = finmodel("BlackScholes",'Volatility',0.35)
BlackScholesModel = 
  BlackScholes with properties:

     Volatility: 0.3500
    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 для создания TurnbulllWakeman pricer object и используйте ratecurve объект для 'DiscountCurve' аргумент пары имя-значение.

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

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

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

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

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

       Results: [1x7 table]
    PricerData: []

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

    14.343    -0.37004    0.0085706    -2.5799    44.864    -0.86257    -125.73

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