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, 12Premium платежи в год в виде разделенной запятой пары, состоящей из '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 или 12Premium платежи в год, возвращенный как числовой скаляр или 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.