TurnbullWakeman

Создание TurnbullWakeman объект ценника для 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 объект прейскуранта путем определения 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 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