cdsprice

Определите цену за кредитный дефолтный своп

Описание

пример

[Price,AccPrem,PaymentDates,PaymentTimes,PaymentCF] = cdsprice(ZeroData,ProbData,Settle,Maturity,ContractSpread) вычисляет цену или текущую рыночную стоимость для инструментов CDS.

пример

[Price,AccPrem,PaymentDates,PaymentTimes,PaymentCF] = cdsprice(___,Name,Value) добавляют дополнительные аргументы пары "имя-значение".

Примеры

свернуть все

В этом примере показано, как использовать cdsprice вычислить чистую цену за контракт CDS с помощью следующих данных.

Settle = '17-Jul-2009'; % valuation date for the CDS
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(Settle,360*Zero_Time,1);
ZeroData = [Zero_Dates Zero_Rate];

ProbData = [daysadd(datenum(Settle),360,1), 0.0247];
Maturity = '20-Sep-2010';
ContractSpread = 135;

[Price,AccPrem] = cdsprice(ZeroData,ProbData,Settle,Maturity,ContractSpread)
Price = 1.5461e+04
AccPrem = 10500

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

свернуть все

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

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

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

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

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

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

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

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

Дата погашения в виде N- 1 вектор последовательных чисел даты или векторов символов даты.

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

Сократите распространения в виде N- 1 вектор распространений, выраженных в пунктах.

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

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

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

Пример: [Price,AccPrem] = cdsprice(ZeroData,ProbData,Settle,Maturity,ContractSpread,'Basis',7,'BusDayConvention','previous')

Примечание

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

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

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

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

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

Основание дневного количества контракта в виде разделенной запятой пары, состоящей из 'Basis' и положительное целое число с помощью NINST- 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- 1 вектор булевых флагов, который является true (значение по умолчанию), если накопленные премии заплачены на значение по умолчанию, false в противном случае.

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

Сократите отвлеченные значения в виде разделенной запятой пары, состоящей из 'Notional' и N- 1вектор целых чисел. Используйте положительные целочисленные значения в длинных позициях и отрицательные целочисленные значения для коротких позиций.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

CDS чистые цены, возвращенные как N- 1 вектор.

Накопленные премии, возвращенные как N- 1 вектор.

Платежные дни, возвращенные как N- numCF матрица.

Сроки платежа, возвращенные как N- numCF матрица частей наращивания.

Платежи, возвращенные как N- numCF матрица.

Больше о

свернуть все

Цена CDS

Цена или значение метки на рынок (MtM) существующего контракта CDS.

Цена CDS вычисляется с помощью следующей формулы:

CDS price = Notional * (Current Spread - Contract Spread) * RPV01

Current Spread текущее сбалансированное распространение для подобного контракта, согласно текущему состоянию рынка. RPV01 'опасная приведенная стоимость пункта', приведенная стоимость премиальных платежей, рассматривая вероятность по умолчанию. Эта формула принимает длинную позицию, и правая сторона умножается на-1 для коротких позиций.

Алгоритмы

Премиальный участок вычисляется как продукт распространения S и опасная приведенная стоимость пункта (RPV01). RPV01 дают:

RPV01=j=1NZ(tj)Δ(tj1,tj,B)Q(tj)

когда никакие накопленные премии не заплачены на значение по умолчанию, и оно может быть аппроксимировано

RPV0112j=1NZ(tj)Δ(tj1,tj,B)(Q(tj1)+Q(tj))

когда накопленные премии заплачены на значение по умолчанию. Здесь, t0 = 0 дата оценки и t1,...,tn =, T является премиальными платежными днями по жизни контракта, T является зрелостью контракта, Z(t) является коэффициентом дисконтирования для оплаты, полученной во время t, и Δ(tj-1, tj, B) является дневным количеством между датами tj-1 и tj, соответствующий основанию B.

Участок защиты контракта CDS дан следующей формулой:

ProtectionLeg=0TZ(τ)(1R)dPD(τ)

(1R)i=1MZ(τi)(PD(τi)PD(τi1))

=(1R)i=1MZ(τi)(Q(τi1)Q(τi))

где интеграл аппроксимирован конечной суммой по дискретизации τ0 = 0, τ1,...,τM = T.

Если распространением существующего контракта CDS является SC, и текущим сбалансированным распространением для сопоставимого контракта является S0, текущая цена, или текущей рыночной стоимостью контракта дают:

MtM = Notional (S0SC) RPV01

Это принимает длинную позицию с точки зрения защиты (защита была куплена). Для коротких позиций инвертируется знак.

Ссылки

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

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

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

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