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 - имя аргумента и 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 (SIA)

  • 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 = BUS/252

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

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

'BusDayConvention'

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

  • actual - Нерабочие дни фактически игнорируются. Денежные потоки, которые приходятся на нерабочие дни, считаются распределенными на фактическую дату.

  • follow - Денежные потоки, которые приходятся на нерабочий день, принимаются распределенными на следующий рабочий день.

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

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

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

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

'Knockout'

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

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

Алгоритмы

Опции дефолтного свопа плательщика и приемника вычисляются с помощью модели Black's, как описано в O'Kane [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] O'Kane, D. Modeling Одноименные и Многозначные кредитные производные. Уайли, 2008, с. 156-169.

Введенный в R2011a