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 инструмент, см. «Выбор инструментов», «Модели» и «Цены».

Создание

Описание

пример

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, используемая с методом ценообразования Лейзена-Реймера, задается как разделенная разделенными запятой парами, состоящая из 'Strike' и скаляр неотрицательную цифру.

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

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

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

  • 'PP2' - Инверсия метода 2 Пейзера-Пратта

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

Свойства

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

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

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

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

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

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

  • Probs содержит 2-by- 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
Для просмотра документации необходимо авторизоваться на сайте