RollGeskeWhaley

Создание RollGeskeWhaley объект цены для американских Vanilla упражнений инструмент с использованием BlackScholes модель

Описание

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

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

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

  3. Использовать finpricer для задания RollGeskeWhaley объект ценника для Vanilla инструмент (американское упражнение).

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

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

Создание

Описание

пример

RollGeskeWhaleyPricerObj = finpricer(PricerType,'Model',model,'DiscountCurve',ratecurve_obj,'SpotPrice',spotrate_value,'DividendType',dividendtype,'DividendValue',dividendvalue) создает RollGeskeWhaley объект прейскуранта путем определения PricerType и устанавливает свойства для необходимых аргументов пары "имя-значение" Model, DiscountCurve, и SpotPrice.

пример

RollGeskeWhaleyPricerObj = finpricer(___,Name,Value) задать необязательные свойства с помощью дополнительных пар "имя-значение" в дополнение к необходимым аргументам в предыдущем синтаксисе. Для примера, RollGeskeWhaleyPricerObj = finpricer("Analytic",'Model',BSModel,'DiscountCurve',ratecurve_obj,'SpotPrice',1000,'DividendValue',timetable(datetime(2021,6,15),2.5),'DividendType',"cash",'PricingMethod',"RollGeskeWhaley") создает RollGeskeWhaley объект прейскуранта. Можно задать несколько аргументы пары "имя-значение".

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

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

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

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

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

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

Пример: RollGeskeWhaleyPricerObj = finpricer("Analytic",'Model',BSModel,'DiscountCurve',ratecurve_obj,'SpotPrice',1000,'DividendValue',timetable(datetime(2021,6,15),2.5),'DividendType',"cash",'PricingMethod',"RollGeskeWhaley")
Требуемая RollGeskeWhaley Аргументы в виде пар имя-значение

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

Свойства

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

свернуть все

В этом примере показан рабочий процесс оценки американского упражнения Vanilla инструмент, когда вы используете BlackScholes модель и RollGeskeWhaley метод ценообразования.

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

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

VanillaOpt = fininstrument("Vanilla",'ExerciseDate',datetime(2022,9,15),'Strike',105,'ExerciseStyle',"american",'Name',"vanilla_american_instrument")
VanillaOpt = 
  Vanilla with properties:

       OptionType: "call"
    ExerciseStyle: "american"
     ExerciseDate: 15-Sep-2022
           Strike: 105
             Name: "vanilla_american_instrument"

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

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

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

     Volatility: 0.0700
    Correlation: 1

Создание ratecurve Объект

Создайте плоскую ratecurve объект, использующий ratecurve.

Settle = datetime(2018,9,15);
myRC = ratecurve("zero",Settle,datetime(2023,9,15),.05,'Basis',12);

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

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

outPricer = finpricer("analytic",'Model',BlackScholesModel,'DiscountCurve',myRC,'SpotPrice',100,"DividendValue",timetable(datetime(2021,6,15),0.25),'PricingMethod',"RollGeskeWhaley")
outPricer = 
  RollGeskeWhaley with properties:

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

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

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

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

       Results: [1x7 table]
    PricerData: []

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

    14.958    0.87494    0.01471    5.8493    41.184    -3.9873    290.2

Введенный в R2020a