exponenta event banner

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 объект pricer путем указания 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 object и используйте 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