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

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