CDS

Описание

Создайте и оцените 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' и дат с использованием datetimes, серийных номеров дат, массива ячеек векторов символов дат или строковых массивов дат. Для примера:

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Типы данных: 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 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
Для просмотра документации необходимо авторизоваться на сайте