exponenta event banner

AssetTree

Создать AssetTree объект pricer для 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 объект pricer для модели дерева решетки Кокса-Росса-Рубинштейна (CRR), равной вероятности (EQP) или Leisen-Reimer (LR) для Vanilla, Barrier, Asian, или Lookback инструмент.

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

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

Создание

Описание

пример

AssetTreePricerObj = finpricer(PricerType,'Model',model_type,'DiscountCurve',ratecurve_obj,'SpotPrice',spot_price) создает AssetTree объект pricer путем указания 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 объект pricer для дерева акций 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