exponenta event banner

cdsbootstrap

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

Описание

пример

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

пример

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

Примеры

свернуть все

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

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около-2 вектор дат и нулевых ставок или IRDataCurve объект нулевых ставок.

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

Для получения дополнительной информации о IRDataCurve (Инструментарий финансовых инструментов) см. раздел Создание объекта IRDataCurve (Инструментарий финансовых инструментов).

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

  • 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

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

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

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

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

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

  • 1 - Годовое суммирование

  • 2 - Полугодичное компаундирование

  • 3 - Три раза в год

  • 4 - Квартальное суммирование

  • 6 - Компаундирование раз в два месяца

  • 12 - Ежемесячное суммирование

  • −1 - Непрерывное компаундирование

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

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

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

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

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

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

свернуть все

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

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

Примечание

Предупреждение отображается при обнаружении немонотонных вероятностей по умолчанию (т.е. отрицательных коэффициентов опасности).

Алгоритмы

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

ПД (т) =P[τ≤t]=1−P[τ>t]=1−Q (т)

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

λ 1, для 0 ≤tt1

λ 2, для t1 < tt2

λ 3, для t2 < t

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

e λ 1t, для0tt1

e λ 1t λ 2 (t − t1), для t1 < t ≤ t2

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

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

Ссылки

[1] Бёми, Дж., Д. Бриго, Д. Шиемерт и Г. Стойл. «Построение курса через большой взрыв CDS». Fitch Solutions, Количественные исследования, Глобальный специальный доклад. 7 апреля 2009 года.

[2] Корпус, J. и A. Белый. «Оценка кредитных дефолтных свопов I: отсутствие риска дефолта контрагента». Журнал производных. Том 8, стр. 29-40.

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

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