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

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

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

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

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

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

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

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

Дата зрелости, заданная как N-by- 1 вектор серийных номеров дат или векторов символов дат.

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

  • 1 - Ежегодное компаундирование

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

  • 3 - Смешивание три раза в год

  • 4 - ежеквартальное компаундирование

  • 6 - Двухмесячное компаундирование

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

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

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

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

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

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

свернуть все

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

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

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

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

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

Подробнее о

свернуть все

CDS Цена

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

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

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

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

Алгоритмы

Стойка премиум-класса вычисляется как продукт спреда- S и рискованного приведенного значения базисной точки (RPV01). The 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., D. Brigo, D. Schiemert, and G. Stoyle. Charting a Course Through the CDS Big Bang (неопр.) (недоступная ссылка). Fitch Solutions, Quantitative Research, Global Special Report. 7 апреля 2009 года.

[2] Халл, Дж., и А. Уайт. «Оценка кредитных дефолтных свопов I: Нет риска дефолта контрагента». Журнал производных. Том 8, стр. 29-40.

[3] O'Kane, D. and S. Turnbull. «Оценка кредитных дефолтных свопов». Lehman Brothers, исследование количественного кредита с фиксированным доходом, апрель 2003 года.

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