Levy

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

Описание

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

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

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

  3. Используйте finpricer задавать Levy объект калькулятора цен для Asian инструмент.

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

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

Создание

Описание

пример

LevyPricerObj = finpricer(PricerType,'DiscountCurve',ratecurve_obj,'Model',model,'SpotPrice',spotprice_value) создает Levy объект калькулятора цен путем определения PricerType и устанавливает свойства для необходимых аргументов пары "имя-значение" DiscountCurve, Model, и SpotPrice.

пример

LevyPricerObj = finpricer(___,Name,Value) установить дополнительные свойства с помощью дополнительных пар "имя-значение" в дополнение к обязательным аргументам в предыдущем синтаксисе. Например, LevyPricerObj = finpricer("Analytic",'DiscountCurve',ratecurve_obj,'Model',BSModel,'SpotPrice',1000,'DividendType',"continuous",'DividendValue',100,'PricingMethod',"Levy") создает Levy объект калькулятора цен.

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

развернуть все

Тип калькулятора цен в виде строки со значением "Analytic" или вектор символов со значением 'Analytic'.

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

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

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

Пример: LevyPricerObj = finpricer("Analytic",'DiscountCurve',ratecurve_obj,'Model',BSModel,'SpotPrice',1000,'DividendType',"continuous",'DividendValue',100,'PricingMethod',"Levy")

Необходимый Levy Аргументы в виде пар имя-значение

развернуть все

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

Примечание

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

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

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

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

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

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

Дополнительный Levy Аргументы в виде пар имя-значение

развернуть все

Тип дивиденда в виде разделенной запятой пары, состоящей из 'DividendType' и строка или вектор символов. DividendType должен быть "cash" для фактических долларовых дивидендов или "continuous" для непрерывной дивидендной доходности.

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

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

Примечание

Задайте скаляр если DividendType "continuous" и расписание, если DividendType "cash".

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

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

Примечание

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

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

Свойства

развернуть все

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

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

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

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

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

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

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

Тип дивиденда, возвращенный как строка. DividendType любой "cash" для фактических долларовых дивидендов или "continuous" для непрерывной дивидендной доходности.

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

Дивидендная доходность или дивиденд планируют для базового запаса, возвращенного как скаляр, числовой для дивидендной доходности или расписания для расписания дивиденда.

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

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

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

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

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

Примеры

свернуть все

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

Создайте 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.32)
BlackScholesModel = 
  BlackScholes with properties:

     Volatility: 0.3200
    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"

Создайте Levy Объект калькулятора цен

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

outPricer = finpricer("analytic",'Model',BlackScholesModel,'DiscountCurve',myRC,'SpotPrice',100,'PricingMethod',"Levy")
outPricer = 
  Levy 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 = 13.0014
outPR = 
  priceresult with properties:

       Results: [1x7 table]
    PricerData: []

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

    13.001    -0.3749    0.0094403    -2.8836    44.587    -0.71607    -121.97

Этот пример показывает рабочий процесс, чтобы оценить Asian инструмент для опции валюты среднего арифметического, когда вы используете BlackScholes модель и Levy метод ценообразования. Примите, что текущий обменный курс составляет 0,52$ и имеет энергозависимость 12% в год. Пересчитываемый на год постоянно составляемый внешний безрисковый уровень составляет 8% в год.

Создайте Asian Инструментальный объект

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

AsianOpt = fininstrument("Asian",'ExerciseDate',datetime(2022,9,15),'Strike',.50,'OptionType',"put",'ExerciseStyle',"european",'Name',"asian_fx_option")
AsianOpt = 
  Asian with properties:

          OptionType: "put"
              Strike: 0.5000
         AverageType: "arithmetic"
        AveragePrice: 0
    AverageStartDate: NaT
       ExerciseStyle: "european"
        ExerciseDate: 15-Sep-2022
                Name: "asian_fx_option"

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

Используйте finmodel создать BlackScholes объект модели.

Sigma = .12;
BlackScholesModel = finmodel("BlackScholes",'Volatility',Sigma)
BlackScholesModel = 
  BlackScholes with properties:

     Volatility: 0.1200
    Correlation: 1

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

Создайте ratecurve объект с помощью ratecurve.

Settle = datetime(2018,9,15);
Type = 'zero';
ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]';
ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]';
ZeroDates = Settle + ZeroTimes;
 
myRC = ratecurve('zero',Settle,ZeroDates,ZeroRates)
myRC = 
  ratecurve with properties:

                 Type: "zero"
          Compounding: -1
                Basis: 0
                Dates: [10x1 datetime]
                Rates: [10x1 double]
               Settle: 15-Sep-2018
         InterpMethod: "linear"
    ShortExtrapMethod: "next"
     LongExtrapMethod: "previous"

Создайте Levy Объект калькулятора цен

Используйте finpricer создать Levy объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение". Когда вы валюты цены с помощью азиатского инструмента в опции валюты среднего арифметического, DividendType должен быть "continuous" и DividendValue пересчитанная на год безрисковая процентная ставка в иностранном государстве.

ForeignRate = 0.08;
outPricer = finpricer("analytic",'Model',BlackScholesModel,'DiscountCurve',myRC,'SpotPrice',.52,'DividendType',"continuous",'DividendValue',ForeignRate,'PricingMethod',"Levy")
outPricer = 
  Levy with properties:

    DiscountCurve: [1x1 ratecurve]
            Model: [1x1 finmodel.BlackScholes]
        SpotPrice: 0.5200
    DividendValue: 0.0800
     DividendType: "continuous"

Цена Asian Инструмент FX

Используйте price вычислить цену и чувствительность для Asian Инструмент FX.

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

       Results: [1x7 table]
    PricerData: []

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

    0.053516    -0.62792    3.8371    -6.1014    0.15616    -0.010917    -0.82694

Введенный в R2020a