exponenta event banner

CD

Описание

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

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

  2. Использовать defprobcurve для задания кривой вероятности по умолчанию для CDS инструмент.

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

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

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

Создание

Описание

пример

CDSobj = fininstrument(InstrumentType,'Maturity',maturity_date,'ContractSpread',contractspread_value) создает CDS путем указания объекта InstrumentType и задает свойства для необходимых аргументов пары имя-значение Maturity и ContractSpread.

пример

CDSobj = fininstrument(___,Name,Value) задает дополнительные свойства, используя дополнительные пары имя-значение в дополнение к требуемым аргументам в предыдущем синтаксисе. Например, CDSobj = fininstrument("CDS",'Maturity',datetime(2019,1,30),'ContractSpread',200,'Period',4,'Basis',5,'BusinessDayConvention','follow','Name',"cds_instrument") создает CDS инструмент с контрактным разбросом 200. Можно указать несколько аргументов пары имя-значение.

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

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

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

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

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

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

Пример: CDSobj = fininstrument("CDS",'Maturity',datetime(2019,1,30),'ContractSpread',200,'Period',4,'Basis',5,'BusinessDayConvention',"follow",'Name',"cds_instrument")
Необходимый CDS Аргументы пары «имя-значение»

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

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

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

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

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

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

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

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

Премиальные выплаты в год, указанные как пара, разделенная запятыми, состоящая из 'Period' и скалярное число со значениями 1, 2, 3, 4, 6, или 12.

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

База подсчета дней, указанная как пара, разделенная запятыми, состоящая из 'Basis' и скалярное положительное целое число, используя одно из следующих значений:

  • 0 - фактическое/фактическое

  • 1 - 30/360 (SIA)

  • 2 - фактическое/360

  • 3 - фактическое/365

  • 4 - 30/360 (PSA)

  • 5 - 30/360 (ISDA)

  • 6 - 30/360 (европейский)

  • 7 - фактический/365 (японский)

  • 8 - фактические/фактические (ICMA)

  • 9 - фактические/360 (ICMA)

  • 10 - фактически/365 (ICMA)

  • 11 - 30/360E (ICMA)

  • 12 - фактическое/365 (ISDA)

  • 13 - BUS/252

Дополнительные сведения см. в разделе Базис.

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

Соглашения о рабочих днях для дат движения денежных средств, указанные как пара, разделенная запятыми, состоящая из 'BusDayConvention' и вектор строки или символа. Выбор соглашения о рабочих днях определяет, как обрабатываются дни, не связанные с бизнесом. Дни, не связанные с бизнесом, определяются как выходные дни, а также любая другая дата, когда предприятия не открыты (например, официальные праздники). Значения:

  • "actual" - Дни, не связанные с бизнесом, фактически игнорируются. Предполагается, что денежные потоки, приходящиеся на нерабочие дни, распределяются на фактическую дату.

  • "follow" - Денежные потоки, приходящиеся на некоммерческий день, предполагается распределить на следующий рабочий день.

  • "modifiedfollow" - Денежные потоки, приходящиеся на некоммерческий день, предполагается распределить на следующий рабочий день. Однако если следующий рабочий день находится в другом месяце, вместо него используется предыдущий рабочий день.

  • "previous" - Денежные потоки, приходящиеся на некоммерческий день, предполагается распределить в предыдущий рабочий день.

  • "modifiedprevious" - Денежные потоки, приходящиеся на некоммерческий день, предполагается распределить в предыдущий рабочий день. Однако если предыдущий рабочий день находится в другом месяце, вместо него принимается следующий рабочий день.

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

Флаг для начисленных премий, указанный как пара, разделенная запятыми, состоящая из 'PayAccruedPremium' и скалярный логический флаг, который true если начисленные премии выплачиваются при неисполнении обязательств, false в противном случае.

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

Скорость восстановления, указанная как пара, разделенная запятыми, состоящая из 'RecoveryRate' и скалярное десятичное число от 0 кому 1.

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

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

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

Праздники, используемые в вычислительных рабочих днях, указанные как пара, разделенная запятыми, состоящая из 'Holidays' и даты с использованием времени даты, серийных номеров дат, массива ячеек векторов символов даты или массива строк даты. Например:

H = holidays(datetime('today'),datetime(2025,12,15));
CDSobj = fininstrument("CDS",'Maturity',datetime(2025,12,15),'ContractSpread',200,'Holidays',H)

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

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

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

Свойства

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

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

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

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

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

Премиальные платежи в год, возвращаемые в виде скалярного числа.

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

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

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

Соглашения по рабочим дням для дат движения денежных средств, возвращаемые в виде строки.

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

Флаг для начисленных премий, возвращаемый как скалярный логический флаг.

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

Скорость восстановления, возвращаемая как скалярное десятичное число.

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

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

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

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

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

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

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

Примеры

свернуть все

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

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

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

CDS = fininstrument("CDS",'Maturity',datetime(2021,9,15),'ContractSpread',15,'Notional',20000,'Period',4,'Basis',3,'BusinessDayConvention',"follow",'Name',"CDS_instrument")
CDS = 
  CDS with properties:

           ContractSpread: 15
                 Maturity: 15-Sep-2021
                   Period: 4
                    Basis: 3
             RecoveryRate: 0.4000
    BusinessDayConvention: "follow"
                 Holidays: NaT
        PayAccruedPremium: 1
                 Notional: 20000
                     Name: "CDS_instrument"

Создать 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"

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

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

outPricer = finpricer("credit",'DefaultProbabilityCurve',DefaultProbCurve,'DiscountCurve',myRC)
outPricer = 
  Credit with properties:

              DiscountCurve: [1x1 ratecurve]
                   TimeStep: 10
    DefaultProbabilityCurve: [1x1 defprobcurve]

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

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

Price = price(outPricer,CDS)
Price = 52.7426
Представлен в R2020a