RollGeskeWhaley

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

Описание

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

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

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

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

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

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

Создание

Описание

пример

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 объект калькулятора цен и использование 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