CDS
инструментальный объект
Создайте и оцените CDS
инструментальный объект для одного или нескольких инструментов CDS с помощью этого рабочего процесса:
Использование fininstrument
создать CDS
инструментальный объект для одного или нескольких инструментов CDS.
Используйте defprobcurve
чтобы задать вероятность по умолчанию изгибаются для CDS
инструментальный объект.
Использование finpricer
задавать Credit
метод ценообразования для одного или нескольких CDS
инструменты.
Для получения дополнительной информации об этом рабочем процессе смотрите Начало работы с Рабочими процессами Используя Основанную на объектах Среду для Оценки Финансовых инструментов.
Для получения дополнительной информации о доступных моделях и методах ценообразования для CDS
инструмент, смотрите, Выбирают Instruments, Models и Pricers.
создает CDSobj
= fininstrument(InstrumentType
,'Maturity
',maturity_date,'ContractSpread
',contractspread_value)CDS
объект для одного или нескольких инструментов CDS путем определения InstrumentType
и устанавливает свойства для необходимых аргументов пары "имя-значение" Maturity
и ContractSpread
.
устанавливает дополнительные свойства с помощью дополнительных пар "имя-значение" в дополнение к обязательным аргументам в предыдущем синтаксисе. Например, CDSobj
= fininstrument(___,Name,Value
)CDSobj = fininstrument("CDS",'Maturity',datetime(2019,1,30),'ContractSpread',200,'Period',4,'Basis',5,'BusinessDayConvention','follow','Name',"cds_instrument")
создает CDS
инструмент с распространением контракта 200. Можно задать несколько аргументов пары "имя-значение".
InstrumentType
— Инструментальный тип"CDS"
| массив строк со значениями "CDS"
| вектор символов со значением 'CDS'
| массив ячеек из символьных векторов со значениями 'CDS'
Инструментальный тип в виде строки со значением "CDS"
, вектор символов со значением 'CDS'
, NINST
- 1
массив строк со значениями "CDS"
, или NINST
- 1
массив ячеек из символьных векторов со значениями 'CDS'
.
Типы данных: char |
cell
| string
CDS
Аргументы в виде пар имя-значениеЗадайте требуемые и дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
CDSobj = fininstrument("CDS",'Maturity',datetime(2019,1,30),'ContractSpread',200,'Period',4,'Basis',5,'BusinessDayConvention',"follow",'Name',"cds_instrument")
CDS
Аргументы в виде пар имя-значениеMaturity
— Дата погашенияДата погашения в виде разделенной запятой пары, состоящей из 'Maturity'
и скалярный datetime, последовательный номер даты, вектор символов даты, строка даты или NINST
- 1
вектор из datetimes, последовательных чисел даты, массива ячеек векторов символов даты или массива строки даты.
Если вы используете вектор символов даты или строки даты, формат должен быть распознаваемым datetime
потому что Maturity
свойство хранится как datetime.
Типы данных: char |
cell
| double
| string
| datetime
ContractSpread
— Сократите распространения, описанные в пунктахСократите распространения, описанные в пунктах в виде разделенной запятой пары, состоящей из 'ContractSpread'
и числовой скаляр или NINST
- 1
числовой вектор.
Типы данных: double
CDS
Аргумент пары "имя-значение"Period
— Premium платежи в год
(значение по умолчанию) | скаляр, числовой со значением 1
, 2
, 3
, 4
, 6
, 12
| числовой вектор со значениями 1
, 2
, 3
, 4
, 6
, 12
Premium платежи в год в виде разделенной запятой пары, состоящей из 'Period'
и числовой скаляр или NINST
- 1
числовой вектор со значениями 1
, 2, 3
, 4
, 6
, или
12
.
Типы данных: double
Basis
— Дневной базис количества
(фактическое/фактическое) (значение по умолчанию) | скаляр положительных целых чисел набора [1...13]
| вектор из положительных целых чисел набора [1...13]
Дневной базис количества в виде разделенной запятой пары, состоящей из '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
BusinessDayConvention
— Соглашение рабочего дня для дат потока наличности"actual"
(значение по умолчанию) | представляет в виде строки | массив строк | вектор символов | массив ячеек из символьных векторовСоглашения рабочего дня для дат потока наличности в виде разделенной запятой пары, состоящей из 'BusDayConvention'
и скалярная строка или вектор символов или NINST
- 1
массив ячеек из символьных векторов или массив строк. Выбор для соглашения рабочего дня определяет, как обработаны нерабочие дни. Нерабочие дни заданы как выходные плюс любая другая дата, что компании не открыты (например, установленные законом праздники). Значения:
"actual"
— Нерабочие дни эффективно проигнорированы. Потоки наличности, которые падают в нерабочие дни, приняты, чтобы быть распределенными в фактическую дату.
"follow"
— Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в следующий рабочий день.
"modifiedfollow"
— Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в следующий рабочий день. Однако, если следующий рабочий день находится в различном месяце, предыдущий рабочий день принят вместо этого.
"previous"
— Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в предыдущий рабочий день.
"modifiedprevious"
— Потоки наличности, которые падают в нерабочий день, приняты, чтобы быть распределенными в предыдущий рабочий день. Однако, если предыдущий рабочий день находится в различном месяце, следующий рабочий день принят вместо этого.
Типы данных: char |
cell
| string
PayAccruedPremium
— Отметьте для накопленных премийtrue
(значение по умолчанию) | скалярное значение true
или false
| вектор со значениями true
или false
Отметьте для накопленных премий в виде разделенной запятой пары, состоящей из 'PayAccruedPremium'
и скалярный булев флаг или NINST
- 1
вектор из булевых флагов, которые являются true
если накопленные премии заплачены на значение по умолчанию и false
в противном случае.
Типы данных: логический
RecoveryRate
— Скорость восстановления
(значение по умолчанию) | скалярное десятичное число | вектор из десятичных чиселСкорость восстановления в виде разделенной запятой пары, состоящей из 'RecoveryRate'
и скалярное десятичное число или NINST
- 1
вектор из десятичных чисел от 0
к 1
.
Типы данных: double
Notional
— Сократите отвлеченное значение
(значение по умолчанию) | скалярное положительное целое число | вектор из положительных целых чиселСократите отвлеченное значение в виде разделенной запятой пары, состоящей из 'Notional'
и скалярное положительное целое число или NINST
- 1
вектор из положительных целых чисел.
Типы данных: double
Holidays
— Праздники используются в вычислении рабочих днейNaT
(значение по умолчанию) | datetimes | массив ячеек из символьных векторов | массив строки даты | последовательные числа датыПраздники, используемые в вычислении рабочих дней в виде разделенной запятой пары, состоящей из 'Holidays'
и даты с помощью NINST
- 1
вектор из datetimes, последовательных чисел даты, массива ячеек векторов символов даты или массива строки даты. Например:
H = holidays(datetime('today'),datetime(2025,12,15)); CDSobj = fininstrument("CDS",'Maturity',datetime(2025,12,15),'ContractSpread',200,'Holidays',H)
Типы данных: double |
cell
| datetime
| string
Name
— Пользовательское имя для инструмента" "
(значение по умолчанию) | представляет в виде строки | массив строк | вектор символов | массив ячеек из символьных векторовПользовательское имя для одного из большего количества инструментов в виде разделенной запятой пары, состоящей из 'Name'
и скалярная строка или вектор символов или NINST
- 1
массив ячеек из символьных векторов или массив строк.
Типы данных: char |
cell
| string
Maturity
— Дата погашенияДата погашения, возвращенная как скалярный datetime или NINST
- 1
вектор из datetimes.
Типы данных: datetime
ContractSpread
— Сократите распространения, описанные в пунктахСократите распространения, описанные в пунктах, возвращенных как числовой скаляр или NINST
- 1
числовой вектор.
Типы данных: double
Period
— Premium платежи в год
(значение по умолчанию) | скаляр, числовой со значением 1
, 2
, 3
, 4
, 6
или 12
| числовой вектор со значениями 1
, 2
, 3
, 4
, 6
или 12
Premium платежи в год, возвращенный как числовой скаляр или NINST
- 1
числовой вектор.
Типы данных: double
Basis
— Дневной базис количества
(фактическое/фактическое) (значение по умолчанию) | скалярные положительные целые числа набора [1...13]
| вектор из положительных целых чисел набора [1...13]
Дневной базис количества, возвращенный как скалярное положительное целое число или NINST
- 1
вектор из положительных целых чисел.
Типы данных: double
BusinessDayConvention
— Соглашение рабочего дня для дат потока наличности"actual"
(значение по умолчанию) | представляет в виде строки | массив строкСоглашения рабочего дня для дат потока наличности, возвращенных как скалярная строка или NINST
- 1
массив строк.
Типы данных: string
PayAccruedPremium
— Отметьте для накопленных премийtrue
(значение по умолчанию) | скалярное значение true
или false
| вектор из значений true
или false
Отметьте для накопленных премий, возвращенных как скалярный булев флаг или NINST
- 1
вектор из булевых флагов.
Типы данных: логический
RecoveryRate
— Скорость восстановления
(значение по умолчанию) | скалярное десятичное число | вектор из десятичных чиселСкорость восстановления, возвращенная как скалярное десятичное число или NINST
- 1
вектор из десятичных чисел.
Типы данных: double
Notional
— Сократите отвлеченное значение
(значение по умолчанию) | скалярное положительное целое число | вектор из положительных целых чиселСократите отвлеченное значение, возвращенное как скалярное положительное целое число или NINST
- 1
вектор из положительных целых чисел.
Типы данных: double
Holidays
— Праздники используются в вычислении рабочих днейNaT
(значение по умолчанию) | datetimesПраздники используются в вычислении рабочих дней, возвращенных как NINST
- 1
вектор из datetimes.
Типы данных: datetime
Name
— Пользовательское имя для инструмента" "
(значение по умолчанию) | представляет в виде строки | массив строкПользовательское имя для инструмента, возвращенного как строка или NINST
- 1
массив строк.
Типы данных: string
Этот пример показывает рабочий процесс, чтобы оценить CDS
инструмент, когда вы используете defprobcurve
модель и Credit
метод ценообразования.
Создайте CDS
Инструментальный объект
Используйте fininstrument
создать CDS
инструментальный объект.
CDS = fininstrument("CDS",'Maturity',datetime(2021,9,15),'ContractSpread',15,'Notional',20000,'Period',4,'Basis',3,'BusinessDayConvention',"follow",'Name',"CDS_instrument")
CDS = CDS with properties: ContractSpread: 15 Maturity: 15-Sep-2021 Period: 4 Basis: 3 RecoveryRate: 0.4000 BusinessDayConvention: "follow" Holidays: NaT PayAccruedPremium: 1 Notional: 20000 Name: "CDS_instrument"
Создайте defprobcurve
Объект
Создайте defprobcurve
объект с помощью defprobcurve
.
Settle = datetime(2020,9,20);
DefProbTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])];
DefaultProbabilities = [0.005 0.007 0.01 0.015 0.026 0.04 0.077 0.093 0.15 0.20]';
ProbDates = Settle + DefProbTimes;
DefaultProbCurve = defprobcurve(Settle,ProbDates,DefaultProbabilities,'Basis',5)
DefaultProbCurve = defprobcurve with properties: Settle: 20-Sep-2020 Basis: 5 Dates: [10x1 datetime] DefaultProbabilities: [10x1 double]
Создайте ratecurve
Объект
Создайте ratecurve
объект с помощью ratecurve
.
Settle = datetime(2020,9,15); Type = 'zero'; ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]'; ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]'; ZeroDates = Settle + ZeroTimes; myRC = ratecurve('zero',Settle,ZeroDates,ZeroRates)
myRC = ratecurve with properties: Type: "zero" Compounding: -1 Basis: 0 Dates: [10x1 datetime] Rates: [10x1 double] Settle: 15-Sep-2020 InterpMethod: "linear" ShortExtrapMethod: "next" LongExtrapMethod: "previous"
Создайте Credit
Объект калькулятора цен
Используйте finpricer
создать Credit
объект калькулятора цен и использование ratecurve
объект для 'DiscountCurve'
аргумент пары "имя-значение".
outPricer = finpricer("credit",'DefaultProbabilityCurve',DefaultProbCurve,'DiscountCurve',myRC)
outPricer = Credit with properties: DiscountCurve: [1x1 ratecurve] TimeStep: 10 DefaultProbabilityCurve: [1x1 defprobcurve]
Цена CDS
Инструмент
Используйте price
вычислить цену за CDS
инструмент.
Price = price(outPricer,CDS)
Price = 52.7426
Этот пример показывает рабочий процесс, чтобы оценить несколько CDS
инструменты, когда вы используете defprobcurve
модель и Credit
метод ценообразования.
Создайте CDS
Инструментальный объект
Используйте fininstrument
создать CDS
инструментальный объект для трех инструментов CDS.
CDS = fininstrument("CDS",'Maturity',datetime([2021,9,15 ; 2021,10,15 ; 2021,11,15]),'ContractSpread',15,'Notional',[20000 ; 30000 ; 40000],'Period',4,'Basis',3,'BusinessDayConvention',"follow",'Name',"CDS_instrument")
CDS=3×1 object
3x1 CDS array with properties:
ContractSpread
Maturity
Period
Basis
RecoveryRate
BusinessDayConvention
Holidays
PayAccruedPremium
Notional
Name
Создайте defprobcurve
Объект
Создайте defprobcurve
объект с помощью defprobcurve
.
Settle = datetime(2020,9,20);
DefProbTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])];
DefaultProbabilities = [0.005 0.007 0.01 0.015 0.026 0.04 0.077 0.093 0.15 0.20]';
ProbDates = Settle + DefProbTimes;
DefaultProbCurve = defprobcurve(Settle,ProbDates,DefaultProbabilities,'Basis',5)
DefaultProbCurve = defprobcurve with properties: Settle: 20-Sep-2020 Basis: 5 Dates: [10x1 datetime] DefaultProbabilities: [10x1 double]
Создайте ratecurve
Объект
Создайте ratecurve
объект с помощью ratecurve
.
Settle = datetime(2020,9,15); Type = 'zero'; ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]'; ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]'; ZeroDates = Settle + ZeroTimes; myRC = ratecurve('zero',Settle,ZeroDates,ZeroRates)
myRC = ratecurve with properties: Type: "zero" Compounding: -1 Basis: 0 Dates: [10x1 datetime] Rates: [10x1 double] Settle: 15-Sep-2020 InterpMethod: "linear" ShortExtrapMethod: "next" LongExtrapMethod: "previous"
Создайте Credit
Объект калькулятора цен
Используйте finpricer
создать Credit
объект калькулятора цен и использование ratecurve
объект для 'DiscountCurve'
аргумент пары "имя-значение".
outPricer = finpricer("credit",'DefaultProbabilityCurve',DefaultProbCurve,'DiscountCurve',myRC)
outPricer = Credit with properties: DiscountCurve: [1x1 ratecurve] TimeStep: 10 DefaultProbabilityCurve: [1x1 defprobcurve]
Цена CDS
Инструменты
Используйте price
вычислить цены на CDS
инструменты.
Price = price(outPricer,CDS)
Price = 3×1
52.7426
80.2945
108.0357
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.