exponenta event banner

CDSOption

CDSOption объект прибора

Описание

Создать и оценить CDSOption объект инструмента с использованием этого рабочего процесса:

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

  2. Использовать finmodel для указания CDSBlack модель для CDSoption инструмент.

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

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

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

Создание

Описание

пример

CDSOptionObj = fininstrument(InstrumentType,'ExerciseDate',exercise_date,'Strike',strike_value,'CDS',cds_obj) создает CDSOption путем указания объекта InstrumentType и задает свойства для необходимых аргументов пары имя-значение ExerciseDate, Strike, и CDS.

пример

CDSOptionObj = fininstrument(___,Name,Value) задает дополнительные свойства, используя дополнительные пары имя-значение в дополнение к требуемым аргументам в предыдущем синтаксисе. Например, CDSOptionObj = fininstrument("CDSoption",'ExerciseDate',datetime(2019,1,30),'Strike',500,'CDS',cds_object,'Name',"cdsoption_instrument") создает CDSOption инструмент с ударом 500. Можно указать несколько аргументов пары имя-значение.

Входные аргументы

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

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

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

CDSOption Аргументы пары «имя-значение»

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

Пример: CDSOptionObj = fininstrument("CDSoption",'ExerciseDate',datetime(2019,1,30),'Strike',500,'CDS',cds_object,'Name',"cdsoption_instrument")
Необходимый CDSOption Аргументы пары «имя-значение»

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

Дата выполнения опциона, указанная как пара, разделенная запятыми, состоящая из 'ExerciseDate' и скалярное значение datetime, порядковый номер даты, вектор символов даты или строка даты.

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

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

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

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

CDS объект, указанный как разделенная запятыми пара, состоящая из 'CDS' и скаляр CDS объект.

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

Дополнительный CDSOption Аргумент пары «имя-значение»

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

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

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

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

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

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

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

Свойства

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

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

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

Цена страйка опциона, возвращаемая как скалярное неотрицательное числовое значение.

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

CDS объект, возвращенный как скаляр CDS объект.

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

Определение параметра, возвращаемого в виде строки с использованием "call" или "put".

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

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

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

Определяемое пользователем имя инструмента, возвращаемое в виде строки.

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

Примеры

свернуть все

В этом примере показан поток операций для оценки CDSOption инструмент при использовании CDSBlack модель и CDSBlack способ ценообразования.

Создать CDS Объект КИП

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

CDSOpt = fininstrument("CDS",'Maturity',datetime(2021,9,15),'ContractSpread',150,'Notional',100,'Name',"CDS_option")
CDSOpt = 
  CDS with properties:

           ContractSpread: 150
                 Maturity: 15-Sep-2021
                   Period: 4
                    Basis: 2
             RecoveryRate: 0.4000
    BusinessDayConvention: "actual"
                 Holidays: NaT
        PayAccruedPremium: 1
                 Notional: 100
                     Name: "CDS_option"

Создать defprobcurve Объект

Создать defprobcurve объект с использованием defprobcurve.

Settle = datetime(2020,9,20);
DefProbTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])];
DefaultProbabilities = [0.005 0.007 0.01 0.015 0.026 0.04 0.077 0.093 0.15 0.20]';
ProbDates = Settle + DefProbTimes;
DefaultProbCurve = defprobcurve(Settle,ProbDates,DefaultProbabilities,'Basis',5)
DefaultProbCurve = 
  defprobcurve with properties:

                  Settle: 20-Sep-2020
                   Basis: 5
                   Dates: [10x1 datetime]
    DefaultProbabilities: [10x1 double]

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

Создать ratecurve объект с использованием ratecurve.

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

Создать CDSOption Объект КИП

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

CDSOptionInst = fininstrument("CDSOption",'ExerciseDate',datetime(2021,8,15),'Strike',20,'CDS',CDSOpt,'OptionType',"put",'Knockout',true,'Name',"CDSOption_option")
CDSOptionInst = 
  CDSOption with properties:

      OptionType: "put"
          Strike: 20
        Knockout: 1
    ExerciseDate: 15-Aug-2021
             CDS: [1x1 fininstrument.CDS]
            Name: "CDSOption_option"

Создать CDSBlack Объект модели

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

CDSBlackModel = finmodel("CDSBlack",'SpreadVolatility',.2)
CDSBlackModel = 
  CDSBlack with properties:

    SpreadVolatility: 0.2000

Создать CDSBlack Объект прайсера

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

outPricer = finpricer("analytic",'Model',CDSBlackModel,'DefaultProbabilityCurve',DefaultProbCurve,'DiscountCurve',myRC)
outPricer = 
  CDSBlack with properties:

                      Model: [1x1 finmodel.CDSBlack]
              DiscountCurve: [1x1 ratecurve]
    DefaultProbabilityCurve: [1x1 defprobcurve]

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

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

Price = price(outPricer,CDSOptionInst)
Price = 3.3016e-04

Подробнее

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

Представлен в R2020a