exponenta event banner

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около-2 вектор дат и нулевых ставок или IRDataCurve объект нулевых ставок. Для получения дополнительной информации о IRDataCurve см. раздел Создание объекта IRDataCurve.

ProbData

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

Settle

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

OptionMaturity

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

CDSMaturity

Nоколо-1 вектор серийных номеров дат или векторы символов дат, содержащие даты сроков CDS.

Strike

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

SpreadVol

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

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

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

Примечание

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

'AdjustedForwardSpread'

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

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

'Basis'

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

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

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

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

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

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

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

'Knockout'

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

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

'PayAccruedPremium'

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

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

'Period'

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

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

'RecoveryRate'

Nоколо-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около-1 вектор цен на опционы свопа плательщика в Basis точки.

Receiver

Nоколо-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, в котором он платит премии, а в свопционе получателя держатель опциона получает премии.

Алгоритмы

Опционы кредитного свопа плательщика и получателя вычисляются с использованием модели Блэка, как описано в O'Kane [1]:

VPay (Knockout) = RPV01 (t, tE, T) (ФФ (d1) − КФ (d2))

VRec (Knockout) = RPV01 (t, tE, T) (КФ (d2) − ФФ (− d1))

d1 = ln (FK) + 12

d2 = d1 starttE − t

VPay (Non нокаут) = VPay (нокаут) + FEP

VPay (Non нокаут) = VRec (нокаут)

где

RPV01 - рискованное текущее значение базисной точки (см. cdsrpv01).

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

λ - распределенная волатильность.

t - дата оценки.

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

T - дата погашения CDS.

F - форвардный спред (от истечения опциона до срока CDS).

K - распространение удара.

FEP - это внешняя защита (от инициирования опции до истечения срока действия опции).

Ссылки

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

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