AssetTree

Создайте AssetTree объект калькулятора цен для Vanilla, Barrier, Asian, или Lookback инструмент

Описание

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

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

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

  3. Использование finpricer задавать AssetTree объект калькулятора цен для Кокса-Росса-Рубинштейна (CRR), равная вероятность (EQP) или Лайзен-Раймер (LR) модель дерева решетки для Vanilla, Barrier, Asian, или Lookback инструмент.

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

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

Создание

Описание

пример

AssetTreePricerObj = finpricer(PricerType,'Model',model_type,'DiscountCurve',ratecurve_obj,'SpotPrice',spot_price) создает AssetTree объект калькулятора цен путем определения PricerType и необходимые аргументы пары "имя-значение" для Model, DiscountCurve, и SpotPrice.

пример

AssetTreePricerObj = finpricer(___,Name,Value) устанавливает дополнительные свойства с помощью дополнительных аргументов пары "имя-значение" в дополнение к обязательным аргументам в предыдущем синтаксисе. Например, AssetTreePricerObj = finpricer("AssetTree",'Model',"BlackScholes",'DiscountCurve',ratecure_obj,'SpotPrice',1000) создает AssetTree объект калькулятора цен.

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

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

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

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

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

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

Пример: AssetTreePricerObj = finpricer("AssetTree",'Model',"BlackScholes",'DiscountCurve',ratecure_obj,'SpotPrice',1000)

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

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

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

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

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

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

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

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

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

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

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

Дата погашения в виде разделенной запятой пары, состоящей из 'Maturity' и скалярный datetime, последовательный номер даты, вектор символов даты или строка даты.

Если вы используете вектор символов даты или строку даты, формат должен быть распознаваемым datetime потому что Maturity свойство хранится как datetime.

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

Количество уровней или временные шаги дерева в виде разделенной запятой пары, состоящей из 'NumPeriods' и скаляр.

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

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

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

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

Примечание

DividendValue должен быть скаляр для "continuous" DividendType или расписание для "cash" DividendType.

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

Забастовка опции, используемая с методом ценообразования Лайзена-Раймера в виде разделенной запятой пары, состоящей из 'Strike' и скаляр, неотрицательный числовой.

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

Метод инверсии для метода ценообразования Лайзена-Раймера в виде разделенной запятой пары, состоящей из 'InversionMethod' и строка или вектор символов.

  • 'PP1' — Метод Пейзер-Пратта 1 инверсия

  • 'PP2' — Метод Пейзер-Пратта 2 инверсии

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

Свойства

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

Метод инверсии для метода ценообразования Лайзена-Раймера, возвращенного как строка.

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

Забастовка опции используется с методом ценообразования Лайзена-Раймера, возвращенным как неотрицательное числовое.

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

CRR, EQP, или дерево бинома LR, возвратился как структура со следующими свойствами:

  • Probs содержит 2- NumLevels числовой массив с вверх и вниз по вероятностям, которые применяются к каждому уровню дерева за исключением последнего. Все узлы на данном уровне совместно используют то же самое вверх и вниз по вероятностям. Столбцы Probs массив упорядочен от корневого узла. Первая строка массива соответствует вероятности перемещение, в то время как вторая строка соответствует вниз перемещение.

  • ATree содержит ценовое дерево для базового актива.

  • dObs содержит дату каждого уровня дерева.

  • tObs содержит фактор времени каждого уровня дерева.

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

Количество уровней или временные шаги дерева, возвращенного как числовое.

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

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

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

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

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

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

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

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

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

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

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

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

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

Древовидные даты, возвращенные как скалярный datetime или массив datetime.

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

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

priceВычислите цену за инструмент акции с AssetTree калькулятор цен

Примеры

свернуть все

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

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

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

VanillaOpt = fininstrument("Vanilla",'ExerciseDate',datetime(2019,5,1),'Strike',29,'OptionType',"put",'ExerciseStyle',"european",'Name',"vanilla_option")
VanillaOpt = 
  Vanilla with properties:

       OptionType: "put"
    ExerciseStyle: "european"
     ExerciseDate: 01-May-2019
           Strike: 29
             Name: "vanilla_option"

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

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

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

     Volatility: 0.2500
    Correlation: 1

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

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

Settle = datetime(2018,1,1);
Maturity = datetime(2020,1,1);
Rate = 0.035;
myRC = ratecurve('zero',Settle,Maturity,Rate,'Basis',1)
myRC = 
  ratecurve with properties:

                 Type: "zero"
          Compounding: -1
                Basis: 1
                Dates: 01-Jan-2020
                Rates: 0.0350
               Settle: 01-Jan-2018
         InterpMethod: "linear"
    ShortExtrapMethod: "next"
     LongExtrapMethod: "previous"

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

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

LRPricer = finpricer("AssetTree",'DiscountCurve',myRC,'Model',BlackScholesModel,'SpotPrice',30,'PricingMethod',"LeisenReimer",'Maturity',datetime(2019,5,1),'NumPeriods',15)
LRPricer = 
  LRTree with properties:

    InversionMethod: PP1
             Strike: 30
               Tree: [1x1 struct]
         NumPeriods: 15
              Model: [1x1 finmodel.BlackScholes]
      DiscountCurve: [1x1 ratecurve]
          SpotPrice: 30
       DividendType: "continuous"
      DividendValue: 0
          TreeDates: [1x15 datetime]

Цена Vanilla Инструмент

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

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

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

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

    2.2542    -0.33628    0.044039    12.724    -4.469    -16.433    -0.76073

Ссылки

[1] Оболочка, Джон и Алан Вайт. “Общая Белая как оболочка Модель и Суперкалибровка”. Журнал Финансовых аналитиков, 57, № 6, (ноябрь 2001): 34–43.

Введенный в R2021a