exponenta event banner

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 (Инструментарий финансовых инструментов).

Типы данных: 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

Частота премиальных платежей, указанная как пара, разделенная запятыми, состоящая из '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

Условные значения контракта, указанные как пара, разделенная запятыми, состоящая из '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) Δ (tj 1, tj, B) Q (tj)

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

RPV01≈12∑j=1NZ (tj) Δ (tj 1, tj, B) (Q (tj − 1) + Q (tj))

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

Резервная ветвь контракта CDS определяется по следующей формуле:

ProtectionLeg=∫0TZ (start) (1 R) dPD (start)

(1 R) ∑i=1MZ (

= (1 R) ∑i=1MZ (,

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

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

MtM = Notional (S0 -SC)RPV01

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

Ссылки

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

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

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

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