Ценовые связи со встроенными опциями деревом процентной ставки Кокса-Инджерсолла-Росса
[Price,PriceTree]
= optembndbycir(CIRTree,CouponRate,Settle,Maturity,OptSpec,Strike,ExerciseDates)[Price,PriceTree]
= optembndbycir(___,Name,Value)[ вычисляет цену за связи со встроенными опциями от Кокса-Инджерсолла-Росса (CIR) дерево процентной ставки.Price,PriceTree]
= optembndbycir(CIRTree,CouponRate,Settle,Maturity,OptSpec,Strike,ExerciseDates)
optembndbycir вычисляет цены связей ванили со встроенными опциями, продвинулся облигации на предъявителя со встроенными опциями и связи с условиями опции амортизационного фонда с помощью модели CIR ++ с подходом Навалька-Беляевой (NB). Для получения дополнительной информации см. Определения.
[ добавляют дополнительные аргументы пары "имя-значение".Price,PriceTree]
= optembndbycir(___,Name,Value)
Создайте RateSpec с помощью функции intenvset.
Rates = [0.025; 0.032; 0.037; 0.042];
Dates = {'Jan-1-2017'; 'Jan-1-2018'; 'Jan-1-2019'; 'Jan-1-2020'; 'Jan-1-2021'};
ValuationDate = 'Jan-1-2017';
EndDates = Dates(2:end)';
Compounding = 1;
RateSpec = intenvset('ValuationDate', ValuationDate, 'StartDates', ValuationDate, 'EndDates',EndDates,'Rates', Rates, 'Compounding', Compounding); Создайте дерево CIR.
NumPeriods = length(EndDates);
Alpha = 0.03;
Theta = 0.02;
Sigma = 0.1;
Maturity = '01-Jan-2018';
CIRTimeSpec = cirtimespec(ValuationDate, Maturity, NumPeriods);
CIRVolSpec = cirvolspec(Sigma, Alpha, Theta);
CIRT = cirtree(CIRVolSpec, RateSpec, CIRTimeSpec)CIRT = struct with fields:
FinObj: 'CIRFwdTree'
VolSpec: [1x1 struct]
TimeSpec: [1x1 struct]
RateSpec: [1x1 struct]
tObs: [0 0.2500 0.5000 0.7500]
dObs: [736696 736787 736878 736969]
FwdTree: {[1.0062] [1.0090 1.0062 1.0039] [1x5 double] [1x7 double]}
Connect: {[3x1 double] [3x3 double] [3x5 double]}
Probs: {[3x1 double] [3x3 double] [3x5 double]}
Задайте связь со встроенным инструментом опции.
BondSettlement = 'Jan-1-2017'; BondMaturity = 'Jan-1-2020'; CouponRate = 0.035; Period = 1; OptSpec = 'put'; Strike = 100; ExerciseDates = {'Jan-1-2018' '01-Jan-2019'};
Оцените связь.
[Price,PriceTree] = optembndbycir(CIRT,CouponRate,BondSettlement,BondMaturity,OptSpec,... Strike,ExerciseDates,'AmericanOpt',1,'Period',1)
Price = 103.3099
PriceTree = struct with fields:
FinObj: 'CIRPriceTree'
tObs: [0 0.2500 0.5000 0.7500 1]
PTree: {1x5 cell}
Connect: {[3x1 double] [3x3 double] [3x5 double]}
CIRTree — Древовидная структура процентной ставкиДревовидная структура процентной ставки, заданная при помощи cirtree.
Типы данных: struct
CouponRate — Уровень облигационного купона Уровень облигационного купона, заданный как NINST-by-1 десятичный годовой показатель или NINST-by-1 массив ячеек, где каждым элементом является NumDates-by-2 массив ячеек. Первый столбец NumDates-by-2 массив ячеек является датами, и второй столбец является сопоставленными уровнями. Дата указывает в последний день, что купонная ставка допустима.
Типы данных: double | cell
Settle — Расчетный деньРасчетный день для опции связи, заданной как NINST-by-1 вектор последовательных чисел даты, векторов символов даты, строковых массивов или массивов datetime.
Дата Settle каждой связи назначена к ValuationDate дерева CIR. Аргумент Settle связи проигнорирован.
Типы данных: double | char | string | datetime
Maturity — Дата погашенияДата погашения, заданная как NINST-by-1 вектор последовательных чисел даты, векторов символов даты, строковых массивов или массивов datetime.
Типы данных: double | char | string | datetime
OptSpec — Определение опции 'call' или 'put' | массив ячеек из символьных векторов со значениями 'call' или 'put' | массив строк со значением "call" или "put"Определение опции, заданной как NINST-by-1 массив ячеек из символьных векторов или строковые массивы со значением 'call' или 'put'.
Типы данных: char | cell | string
Strike — Значения цены исполнения опциона опцииЗначение цены исполнения опциона опции, заданное как NINST-by-1 или NINST-by-NSTRIKES в зависимости от типа опции:
Европейская опция — NINST-by-1 вектор значений цены исполнения опциона.
Опция Бермуд — NINST количеством забастовок (NSTRIKES) матрица значений цены исполнения опциона. Каждая строка является расписанием для одной опции. Если опция имеет меньше, чем возможности осуществления NSTRIKES, конец строки дополнен NaN s.
Американская опция — NINST-by-1 вектор значений цены исполнения опциона для каждой опции.
Типы данных: double
ExerciseDates — Даты осуществления опцииДаты осуществления опции, заданные как NINST-by-1, NINST-by-2 или NINST-by-NSTRIKES последовательные числа даты, векторы символов даты, строковые массивы или массивы datetime в зависимости от типа опции:
Для европейской опции используйте NINST-by-1 вектор дат. Для европейской опции на дате окончания срока действия опции существует только один ExerciseDates.
Для опции Бермуд используйте NINST-by-NSTRIKES вектор дат.
Для американской опции используйте NINST-by-2 вектор контуров даты осуществления. Опция может быть осуществлена в любую дату между или включая пару дат на той строке. Если только одна non-NaN дата перечислена, или если ExerciseDates является NINST-by-1 вектор, опция может быть осуществлена между ValuationDate дерева запаса и одним перечисленным ExerciseDates.
Типы данных: double | char | string | datetime
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
[Price,PriceTree] = optembndbycir(BDTTree,CouponRate,Settle,Maturity,OptSpec,Strike,ExerciseDates,'Period',1,'AmericanOpt',1)'AmericanOpt' — Тип опции0 (значение по умолчанию) | целое число со значениями 0 или 1Тип опции, заданный как пара, разделенная запятой, состоящая из 'AmericanOpt' и NINST-by-1 положительное целое число, отмечает с помощью значений:
0 — Европеец/Бермуды
1 — Американец
Типы данных: double
'Period' — Купоны в год2 в год (значение по умолчанию) | векторКупоны в год, заданный как пара, разделенная запятой, состоящая из 'Period' и NINST-by-1 вектор.
Типы данных: double
'Basis' — Основание дневного количества0 (фактическое/фактическое) (значение по умолчанию) | целое число от 0 до 13Основание дневного количества, заданное как пара, разделенная запятой, состоящая из 'Basis' и NINST-by-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
'EndMonthRule' — Флаг правила конца месяца1 (в действительности) (значение по умолчанию) | неотрицательное целое число со значениями 0 или 1Флаг правила конца месяца, заданный как пара, разделенная запятой, состоящая из 'EndMonthRule' и неотрицательного целого числа с помощью NINST-by-1 вектор. Это правило применяется только, когда Maturity является датой конца месяца в течение месяца, имея 30 или меньше дней.
0 = Игнорирует правило, означая, что платежный день облигационного купона всегда является тем же числовым днем месяца.
1 = Установленное правило о, означая, что платежный день облигационного купона всегда является прошлым фактическим днем месяца.
Типы данных: double
'IssueDate' — Дата выпуска облигацийДата выпуска облигаций, заданная как пара, разделенная запятой, состоящая из 'IssueDate' и NINST-by-1 вектор с помощью последовательных чисел даты, векторов символов даты, строковых массивов или массивов datetime.
Типы данных: double | char | string | datetime
'FirstCouponDate' — Неправильная первая дата купонаНеправильная первая дата купона, заданная как пара, разделенная запятой, состоящая из 'FirstCouponDate' и NINST-by-1 вектор с помощью последовательных чисел даты, векторов символов даты, строковых массивов или массивов datetime.
Когда FirstCouponDate и LastCouponDate оба заданы, FirstCouponDate более приоритетен в определении структуры купонного платежа. Если вы не задаете FirstCouponDate, платежные дни потока наличности определяются от других входных параметров.
Типы данных: double | char | string | datetime
'LastCouponDate' — Неправильная последняя дата купонаНеправильная последняя дата купона, заданная как пара, разделенная запятой, состоящая из 'LastCouponDate' и NINST-by-1 вектор с помощью последовательных чисел даты, векторов символов даты, строковых массивов или массивов datetime.
В отсутствие заданного FirstCouponDate заданный LastCouponDate определяет структуру купона связи. Структура купона связи является усеченной в LastCouponDate, независимо от того, где это падает и сопровождается только датой потока наличности зрелости связи. Если вы не задаете LastCouponDate, платежные дни потока наличности определяются от других входных параметров.
Типы данных: char | double | string | datetime
'StartDate' — Передайте срок начала работы платежейПередайте срок начала работы платежей (дата, с которой поток наличности связи рассматривается), заданный как пара, разделенная запятой, состоящая из 'StartDate' и NINST-by-1 вектор с помощью последовательных чисел даты, векторов символов даты, строковых массивов или массивов datetime.
Если вы не задаете StartDate, эффективная дата начала является датой Settle.
Типы данных: char | double | string | datetime
'Face' — Номинальная стоимость100
(значение по умолчанию) | неотрицательное значение | массив ячеек неотрицательных значенийПоверхность или номинальная стоимость, заданная как пара, разделенная запятой, состоящая из 'Face' и NINST-by-1 вектор.
Типы данных: double
Price — Ожидаемые цены встроенной опции во время 0Ожидаемая цена встроенной опции во время 0, возвращенный как NINST-by-1 матрица.
PriceTree — Структура, содержащая деревья векторов цен на инструменты и начисленных процентов для каждого узлаСтруктура, содержащая деревья векторов цен на инструменты и начисленных процентов, и вектора времен наблюдения для каждого узла. Значения:
PriceTree.tObs содержит времена наблюдения.
PriceTree.PTree содержит чистые цены.
PriceTree.Connect содержит векторы возможности соединения. Каждый элемент в массиве ячеек описывает, как узлы на том уровне соединяются со следующим. Для данного древовидного уровня в векторе существуют элементы NumNodes, и они содержат индекс узла на следующем уровне, с которым соединяется среднее ответвление. Вычитание 1 от того значения указывает, где подключения-ответвления к, и добавление 1 указали, где вниз переходят подключения к.
Облигация на предъявителя ванили является безопасностью, представляющей обязательство возместить одолженную сумму в назначенное время и сделать периодические выплаты процентов до того времени.
Выпускающий связи делает периодические выплаты процентов, пока связь не назревает. В зрелости выпускающий выплачивает держателю связи основную сумму, бывшую должную (номинальную стоимость) и последнюю выплату процентов. Связь ванили со встроенной опцией - то, где опционный контракт имеет базовый актив связи ванили.
Связь повышения и понижения является долговой безопасностью с предопределенной структурой купона в зависимости от времени.
С этими инструментами увеличение купонов (подходит) или уменьшается (уходят) в конкретные моменты времени во время жизни связи. Ступенчатые облигации на предъявителя могут иметь функции опций (вызывает и помещает).
Связь амортизационного фонда является облигацией на предъявителя с условием амортизационного фонда.
Это условие обязывает выпускающего амортизировать фрагменты принципала до зрелости, влияя на цены облигаций со времени основных изменений выплаты. Это означает, что инвесторы получают купон и фрагмент принципала, платившегося в зависимости от времени. Эти типы связей уменьшают кредитный риск, поскольку он понижает вероятность инвесторов, не получающих их основную оплату в зрелости.
Связь может иметь условие опции амортизационного фонда, разрешающее выпускающему ликвидировать обязательство амортизационного фонда или путем покупки связей, которые будут искуплены с рынка или путем вызова связи через вызов амортизационного фонда, какой бы ни является более дешевым. Если процентные ставки высоки, то выпускающий выкупает количество требования связей с рынка, поскольку связи являются дешевыми, но если процентные ставки являются низкими (цены облигаций высоки), то, скорее всего, выпускающий покупает облигации по досрочной цене. В отличие от функции вызова, однако, если связь имеет условие опции амортизационного фонда, это - обязательство, не опция, для выпускающего, чтобы выкупить шаг проблемы, как утверждено. Из-за этого связь амортизационного фонда торгует по более низкой цене, чем связь неамортизационного фонда.
[1] Cox, J., Ингерсолл, J. и С. Росс. "Теория термина структура процентных ставок". Econometrica. Издание 53, 1985.
[2] Brigo, D. и Ф. Меркурио. Модели процентной ставки - теория и практика. Финансы Спрингера, 2006.
[3] Hirsa, A. Вычислительные методы в финансах. Нажатие CRC, 2012.
[4] Nawalka, S., Soto, G. и Н. Беляева. Динамическое моделирование структуры термина. Вайли, 2007.
[5] Нельсон, D. и К. Рамасвами. "Простые Биномиальные Процессы как Приближения Диффузии в Финансовых Моделях". Анализ Финансовых Исследований. Vol 3. 1990, стр 393–430.
bondbycir | capbycir | cfbycir | fixedbycir | floatbycir | floorbycir | instoptembnd | oasbycir | optbndbycir | optemfloatbycir | optfloatbycir | rangefloatbycir | swapbycir | swaptionbycir
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.