VannaVolga

Создание VannaVolga объект ценника для Vanilla, Barrier, DoubleBarrier, Touch, или DoubleTouch инструмент с использованием BlackScholes модель

Описание

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

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

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

  3. Использовать finpricer для задания VannaVolga объект ценника для Vanilla, Barrier, DoubleBarrier, Touch, или DoubleTouch прибора.

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

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

Создание

Описание

пример

VannaVolgaPricerObj = finpricer(PricerType,'DiscountCurve',ratecurve_obj,'Model',model,'SpotPrice',spot_price,'VolatilityRR',volatilityrr_value,'VolatilityBF',volatilitybf_value) создает VannaVolga объект прейскуранта путем определения PricerType и устанавливает свойства с помощью необходимых аргументов пары "имя-значение" DiscountCurve, Model, SpotPrice, VolatilityRR, и VolatilityBF. Для примера, VannaVolgaPricerObj = finpricer("VannaVolga",'DiscountCurve',ratecurve_obj,'Model',BSModel,'SpotPrice',Spot,'VolatilityRR',VolRR,'VolatilityBF',VolBF,'DividendValue',RateF) создает VannaVolga объект прейскуранта.

пример

VannaVolgaPricerObj = finpricer(___,Name,Value) устанавливает необязательные свойства с помощью дополнительных пар "имя-значение" в дополнение к необходимым аргументам в предыдущем синтаксисе. Для примера, VannaVolgaPricerObj = finpricer("VannaVolga",'DiscountCurve',ratecurve_obj,'Model',BSModel,'SpotPrice',Spot,'VolatilityRR',VolRR,'VolatilityBF',VolBF,'DividendValue',RateF) создает VannaVolga объект прейскуранта. Можно задать несколько аргументы пары "имя-значение".

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

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

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

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

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

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

Пример: VannaVolgaPricerObj = finpricer("VannaVolga",'DiscountCurve',ratecurve_obj,'Model',BSModel,'SpotPrice',Spot,'VolatilityRR',VolRR,'VolatilityBF',VolBF,'DividendValue',RateF)

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

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

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

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

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

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

Волатильность обращения 25-дельты риска (RR), заданная как разделенная разделенными запятой парами, состоящая из 'VolatilityRR' и скалярным числом.

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

25-дельта волатильности бабочки (BF), заданная как разделенная разделенными запятой парами, состоящая из 'VolatilityBF' и скалярным числом.

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

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

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

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

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

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

Примечание

При опциях валюты ценообразования (FX) задайте необязательный входной параметр 'DividendValue' как постоянно повышающаяся процентная ставка без риска в иностранной стране.

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

Свойства

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

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

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

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

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

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

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

Волатильность 25-дельта-риска (RR), возвращенная в виде скалярного числа.

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

25-дельта летучести бабочки (BF), возвращенная в виде скалярного числа.

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

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

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

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

Непрерывное дивидендное выражение, возвращенная как скалярное число.

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

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

priceВычислите цену для инструмента капитала с VannaVolga калькулятор цен

Примеры

свернуть все

Этот пример показывает рабочий процесс, чтобы оценить DoubleBarrier инструмент, когда вы используете BlackScholes модель и VannaVolga метод ценообразования.

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

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

DoubleBarrierOpt = fininstrument("DoubleBarrier",'Strike',100,'ExerciseDate',datetime(2020,8,15),'OptionType',"call",'ExerciseStyle',"European",'BarrierType',"DKO",'BarrierValue',[110 80],'Name',"doublebarrier_option")
DoubleBarrierOpt = 
  DoubleBarrier with properties:

       OptionType: "call"
           Strike: 100
     BarrierValue: [110 80]
    ExerciseStyle: "european"
     ExerciseDate: 15-Aug-2020
      BarrierType: "dko"
           Rebate: [0 0]
             Name: "doublebarrier_option"

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

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

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

     Volatility: 0.0200
    Correlation: 1

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

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

Settle = datetime(2019,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-2019
         InterpMethod: "linear"
    ShortExtrapMethod: "next"
     LongExtrapMethod: "previous"

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

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

VolRR = -0.0045;
VolBF = 0.0037;
RateF = 0.0210;
outPricer = finpricer("VannaVolga","DiscountCurve",myRC,"Model",BlackScholesModel,'SpotPrice',100,'DividendValue',RateF,'VolatilityRR',VolRR,'VolatilityBF',VolBF)
outPricer = 
  VannaVolga with properties:

    DiscountCurve: [1x1 ratecurve]
            Model: [1x1 finmodel.BlackScholes]
        SpotPrice: 100
     DividendType: "continuous"
    DividendValue: 0.0210
     VolatilityRR: -0.0045
     VolatilityBF: 0.0037

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

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

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

       Results: [1x7 table]
    PricerData: [1x1 struct]

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

    1.645    0.82818    75.662    50.346    14.697    -1.3145    74.666

Подробнее о

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

Ссылки

[1] Боссенс, Фредерик, Грегори Райе, Никос С. Сканцос и Гризельда Дельстра. Vanna-Volga Methods Applied to FX Derivatives: From Theory to Market Practice (неопр.) (недоступная ссылка). Международный журнал теоретических и прикладных финансов. 13, № 08 (декабрь 2010): 1293-1324.

[2] Кастанья, Антонио и Фабио Меркурио. Vanna-Volga Method for Implied Volatilities (неопр.) (недоступная ссылка). Риск. 20 (январь 2007): 106-111.

[3] Кастанья, Антонио и Фабио Меркурио. «Согласованное ценообразование опций FX». Работа документов, Banca IMI, 2006.

[4] Фишер, Трэвис. «Изменения по регулировке Ванны-Волги». Bloomberg Research Paper, 2007.

[5] Wystup, Уве. Опции FX и структурированные продукты. Hoboken, NJ: Wiley Finance, 2006.

Введенный в R2020b