cdsbootstrap

Загрузите кривую вероятности по умолчанию от рыночных котировок кредитного дефолтного свопа

Синтаксис

[ProbData,HazData] = cdsbootstrap(ZeroData,MarketData,Settle)
[ProbData,HazData] = cdsbootstrap(___,Name,Value)

Описание

пример

[ProbData,HazData] = cdsbootstrap(ZeroData,MarketData,Settle) загружает кривую вероятности по умолчанию с помощью рыночных котировок кредитного дефолтного свопа (CDS). Рыночные котировки могут быть выражены как список дат погашения и соответствующих распространений рынка CDS, или как список сроков платежа и соответствующего upfronts и стандартных распространений для стандартных контрактов CDS. Оценка использует стандартную модель вероятности выживания.

пример

[ProbData,HazData] = cdsbootstrap(___,Name,Value) добавляют дополнительные аргументы пары "имя-значение".

Примеры

свернуть все

Этот пример показывает, как использовать cdsbootstrap с рыночными котировками для контрактов CDS, чтобы сгенерировать значения HazData и ProbData.

Settle = '17-Jul-2009'; % valuation date for the CDS
Spread_Time = [1 2 3 5 7]';
Spread = [140 175 210 265 310]';
Market_Dates = daysadd(datenum(Settle),360*Spread_Time,1);
MarketData = [Market_Dates Spread];
Zero_Time = [.5 1 2 3 4 5]';
Zero_Rate = [1.35 1.43 1.9 2.47 2.936 3.311]'/100;
Zero_Dates = daysadd(datenum(Settle),360*Zero_Time,1);
ZeroData = [Zero_Dates Zero_Rate];

format long
[ProbData,HazData] = cdsbootstrap(ZeroData,MarketData,Settle)
ProbData = 5×2
105 ×

   7.343360000000000   0.000000233427859
   7.347010000000000   0.000000575839968
   7.350670000000000   0.000001021397017
   7.357970000000000   0.000002064539982
   7.365280000000000   0.000003234110940

HazData = 5×2
105 ×

   7.343360000000000   0.000000232959886
   7.347010000000000   0.000000352000512
   7.350670000000000   0.000000476383354
   7.357970000000000   0.000000609055766
   7.365280000000000   0.000000785241515

Входные параметры

свернуть все

Нулевые данные об уровне, заданные как M-by-2 вектор дат и нулевых уровней или объекта IRDataCurve нулевых уровней.

Когда ZeroData является объектом IRDataCurve, ZeroCompounding и ZeroBasis неявны в ZeroData и избыточны в этой функции. В этом случае задайте эти дополнительные параметры при построении объекта IRDataCurve перед использованием функции cdsbootstrap.

Для получения дополнительной информации об объекте IRDataCurve смотрите Создание Объекта IRDataCurve (Financial Instruments Toolbox).

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

Данные о рынке облигаций, заданные как N-by-2 матрица дат и соответствующих распространений рынка или N-by-3 матрица дат, upfronts, и стандартные распространения контрактов CDS. Даты должны быть введены, когда последовательные числа даты, upfronts должен быть числовыми значениями между 0 и 1, и распространения должны быть в пунктах.

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

Расчетный день, заданный как последовательный номер даты или вектор символов даты. Дата Settle должна быть ранее, чем или равна датам в MarketData

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

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: [ProbData,HazData] = cdsbootstrap(ZeroData,MarketData,Settle,'RecoveryRate',Recovery,'ZeroCompounding',-1)

Примечание

Любой дополнительный вход размера N-by-1 также приемлем как массив размера 1-by-N, или как одно значение, применимое ко всем контрактам. Одно значения внутренне расширены до массива размера N-by-1.

Скорость восстановления, заданная как пара, разделенная запятой, состоящая из 'RecoveryDate' и N-by-1 вектор скоростей восстановления, заданных как десятичное число от 0 до 1.

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

Premium платежная частота, заданная как пара, разделенная запятой, состоящая из 'Period' и N-by-1 вектор со значениями 1, 2, 3, 4, 6 или 12.

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

Основание дневного количества контракта, заданного как пара, разделенная запятой, состоящая из 'Basis' и положительного целого числа с помощью NINST-by-1 вектор.

  •  0 = фактический/фактический

  •  1 = 30/360 (СИА)

  •  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 = ШИНА/252

Для получения дополнительной информации смотрите основание.

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

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

  • 'actual' — Нерабочие дни эффективно проигнорированы. Потоки наличности, которые падают в нерабочие дни, приняты, чтобы быть распределенными в фактическую дату.

  • 'follow' — Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в следующий рабочий день.

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

  • 'previous' — Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в предыдущий рабочий день.

  • 'modifiedprevious' — Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в предыдущий рабочий день. Однако, если предыдущий рабочий день находится в различном месяце, следующий рабочий день принят вместо этого.

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

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

Типы данных: логический

Номер дней, чтобы взять в качестве временного шага для численного интегрирования, заданного как пара, разделенная запятой, состоящая из 'TimeStep' и неотрицательного целого числа.

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

Соединение частоты кривой нулевой ширины, заданной как пара, разделенная запятой, состоящая из 'ZeroCompounding' и целого числа со значениями:

  • 1 — Ежегодное соединение

  • 2 — Полугодовое соединение

  • 3 — Соединение три раза в год

  • 4 — Ежеквартально соединение

  • 6 — Два раза в месяц соединение

  • 12 — Ежемесячно соединение

  • −1 — Непрерывное соединение

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

Основание кривой нулевой ширины, заданной как пара, разделенная запятой, состоящая из 'ZeroBasis' и целого числа со значениями, которые идентичны Basis.

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

Даты данных о вероятности, заданных как пара, разделенная запятой, состоящая из 'ProbDates' и P-by-1 вектор дат, данных как последовательные числа даты или векторы символов даты.

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

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

свернуть все

Значения вероятности по умолчанию, возвращенные как P-by-2 матрица с датами и соответствующими совокупными значениями вероятности по умолчанию. Даты совпадают с теми в MarketData, если дополнительный входной параметр ProbDates не обеспечивается.

Значения показателя риска, возвращенные как N-by-2 матрица с датами и соответствующими значениями показателя риска для вероятностной модели выживания. Даты совпадают с теми в MarketData.

Примечание

Предупреждение выведено, когда немонотонные вероятности по умолчанию (то есть, отрицательные показатели риска) найдены.

Алгоритмы

Если время, чтобы принять значение по умолчанию обозначается τ, кривой вероятности по умолчанию, или функцией, PD(t), и его дополнением, функция выживания Q(t), дают:

PD(t)=P[τt]=1P[τ>t]=1Q(t)

В стандартной модели вероятность выживания задана с точки зрения кусочного постоянного показателя риска h(t). Например, если h(t) =

λ1, для 0tt1

λ2, для t1 <tt2

λ3, для t2 <t

затем функция выживания дана Q(t) =

eλ1t, для 0tt1

eλ1tλ2(tt1), для t1 <tt2

eλ1t1λ2(t2t1)λ3(tt2), для t2 <t

Учитывая даты рынка n t1,...,tn и соответствующий CDS рынка распространяют S1,...,Sn, cdsbootstrap калибрует параметры λ1,...,λn и оценивает PD(t) в даты рынка или дополнительный пользовательский набор дат.

Ссылки

[1] Beumee, J., Д. Бриго, Д. Шимерт и Г. Стойл. “Беря курс через CDS Большой взрыв”. Решения Fitch, количественный анализ, глобальный специальный отчет. 7 апреля 2009.

[2] Оболочка, J. и A. Белый. “Оценка Кредитных дефолтных свопов I: Никакой Кредитный риск Контрагента”. Журнал Производных. Издание 8, стр 29–40.

[3] О'Кэйн, D. и С. Тернбулл. “Оценка кредитных дефолтных свопов”. Lehman Brothers, фиксированный доход количественное исследование кредита, апрель 2003.

Представленный в R2010b

Для просмотра документации необходимо авторизоваться на сайте