cdsoptprice

Ценовой плательщик и опции кредитного дефолтного свопа получателя

Синтаксис

[Payer,Receiver] = cdsoptprice(ZeroData,ProbData,Settle,OptionMaturity,CDSMaturity,Strike,SpreadVol)
[Payer,Receiver] = cdsoptprice(ZeroData,ProbData,Settle,OptionMaturity,CDSMaturity,Strike,SpreadVol,Name,Value)

Описание

[Payer,Receiver] = cdsoptprice(ZeroData,ProbData,Settle,OptionMaturity,CDSMaturity,Strike,SpreadVol) вычисляет цену плательщика и опций кредитного дефолтного свопа получателя.

[Payer,Receiver] = cdsoptprice(ZeroData,ProbData,Settle,OptionMaturity,CDSMaturity,Strike,SpreadVol,Name,Value) вычисляет цену плательщика и опций кредитного дефолтного свопа получателя с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value.

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

ZeroData

M-by-2 вектор дат и нулевых уровней или объекта IRDataCurve нулевых уровней. Для получения дополнительной информации об объекте IRDataCurve смотрите Создание Объекта IRDataCurve.

ProbData

P-by-2 массив дат и вероятностей по умолчанию.

Settle

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

OptionMaturity

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

CDSMaturity

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

Strike

N-by-1 вектор забастовок опции выражается в пунктах.

SpreadVol

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

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

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

Примечание

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

'AdjustedForwardSpread'

N-by-1 вектор настроенных прямых распространений (в пунктах), чтобы использоваться при оценке CDS индексирует опции.

Значение по умолчанию: неприспособленное прямое распространение обычно используется для опций CDS одно имени

'Basis'

N-by-1 вектор основания дневного количества контракта:

  •  0 = фактический/фактический

  •  1 = 30/360 (СИА)

  •  2 = Фактический/360

  •  3 = Фактический/365

  •  4 = 30/360 (BMA)

  •  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

Для получения дополнительной информации смотрите основание.

Значение по умолчанию: (фактический/360) 2

'BusDayConvention'

Соглашения рабочего дня, заданные вектором символов или N-by-1 массив ячеек из символьных векторов соглашений рабочего дня. Выбор для соглашения рабочего дня определяет, как обработаны нерабочие дни. Нерабочие дни заданы как выходные плюс любая другая дата, что компании не открыты (например, установленные законом праздники). Значения:

  • actual — Нерабочие дни эффективно проигнорированы. Потоки наличности, которые падают в нерабочие дни, приняты, чтобы быть распределенными в фактическую дату.

  • follow — Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в следующий рабочий день.

  • modifiedfollow — Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в следующий рабочий день. Однако, если следующий рабочий день находится в различном месяце, предыдущий рабочий день принят вместо этого.

  • previous — Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в предыдущий рабочий день.

  • modifiedprevious — Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в предыдущий рабочий день. Однако, если предыдущий рабочий день находится в различном месяце, следующий рабочий день принят вместо этого.

Значение по умолчанию: actual

'Knockout'

N-by-1 вектор булевых флагов. Если значением по умолчанию кредита swaptions является нокаут, флагом является True, в противном случае это - False.

По умолчанию: false

'PayAccruedPremium'

N-by-1 вектор булевых флагов. Если накопленные премии заплачены на значение по умолчанию, флагом является True, в противном случае это - False.

Значение по умолчанию: True

'Period'

N-by-1 вектор количества премий в год CDS. Позволенные значения равняются 1, 2, 3, 4, 6, и 12.

Значение по умолчанию: 4

'RecoveryRate'

N-by-1 вектор скоростей восстановления, выраженных как десятичное число от 0 до 1.

Значение по умолчанию: 0.4

'ZeroBasis'

Основание кривой нулевой ширины. Выбор идентичен Basis.

Значение по умолчанию: (фактический/фактический) 0

'ZeroCompounding'

Соединение частоты кривой нулевой ширины. Позволенные значения:

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

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

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

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

  • 6 — Выходящее дважды в месяц соединение

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

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

Примечание

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

Значение по умолчанию: 2 (Полугодовое соединение)

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

Payer

N-by-1 вектор цен для плательщика подкачивает опции в точках Basis.

Receiver

N-by-1 вектор цен на получатель подкачивает опции в точках Basis.

Примеры

свернуть все

Используйте cdsoptprice, чтобы сгенерировать Payer и значения Receiver для опции кредитного дефолтного свопа.

Settle = datenum('12-Jun-2012');
OptionMaturity = datenum('20-Sep-2012');
CDSMaturity = datenum('20-Sep-2017');
OptionStrike = 200;
SpreadVolatility = .4;

Zero_Time = [.5 1 2 3 4 5]';
Zero_Rate = [.5 .75 1.5 1.7 1.9 2.2]'/100;
Zero_Dates = daysadd(Settle,360*Zero_Time,1);
ZeroData = [Zero_Dates Zero_Rate];

Market_Time = [1 2 3 5 7 10]';
Market_Rate = [100 120 145 220 245 270]';
Market_Dates = daysadd(Settle,360*Market_Time,1);
MarketData = [Market_Dates Market_Rate];

ProbData = cdsbootstrap(ZeroData, MarketData, Settle);

[Payer,Receiver] = cdsoptprice(ZeroData, ProbData, Settle,...
OptionMaturity, CDSMaturity, OptionStrike, SpreadVolatility)
Payer = 223.5780
Receiver = 22.7460

Больше о

свернуть все

Опция кредитного дефолтного свопа

Опция кредитного дефолтного свопа (CDS) или значение по умолчанию кредита swaption, является контрактом, который предоставляет держателю опции право, но не обязательству, чтобы ввести в кредитный дефолтный своп в будущем.

Опции CDS могут или быть плательщиком swaptions или получателем swaptions. В плательщике swaption, держатель опции имеет право ввести в CDS, в котором они платят премии и в получателе swaption, держатель опции получает премии.

Алгоритмы

Плательщик и опции кредитного дефолтного свопа получателя вычисляются с помощью модели Черного цвета, как описано в О'Кэйне [1]:

VPay(Knockout)=RPV01(t,tE,T)(FΦ(d1)KΦ(d2))

VRec(Knockout)=RPV01(t,tE,T)(KΦ(d2)FΦ(d1))

d1=ln(FK)+12σ2(tEt)σtEt

d2=d1σtEt

VPay(NonKnockout)=VPay(Knockout)+FEP

VPay(NonKnockout)=VRec(Knockout)

где

RPV01 является опасной приведенной стоимостью пункта (см. cdsrpv01).

Φ является нормальной кумулятивной функцией распределения.

σ является энергозависимостью распространения.

t является датой оценки.

tE является датой окончания срока действия опции.

T является датой погашения CDS.

F является прямым распространением (от истечения опции до зрелости CDS).

K является распространением забастовки.

FEP является защитой фронтенда (от инициирования опции до истечения опции).

Ссылки

[1] О'Кэйн, D. Моделирование Кредитных деривативов Одно имени и Мультиимени. Вайли, 2008, стр 156–169.

Введенный в R2011a

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