Скорректированный на опцион спред данный выход
указывает параметры, использующие один или несколько необязательных аргументов в дополнение к входным аргументам в предыдущем синтаксисе. OAS = mbsyield2oas(___,CouponRate,Delay,Interpolation,PrepaySpeed,PrepayMatrix)
Рассчитайте скорректированный на опцион спред 30-летнего ипотечного пула с фиксированной ставкой с оставшимся около 28-летним средневзвешенным сроком погашения, учитывая допущения в 0, 50 и 100 предоплат PSA. Сначала создайте матрицу облигаций:
Bonds = [datenum('11/21/2002') 0 100 0 2 1; datenum('02/20/2003') 0 100 0 2 1; datenum('07/31/2004') 0.03 100 2 3 1; datenum('08/15/2007') 0.035 100 2 3 1; datenum('08/15/2012') 0.04875 100 2 3 1; datenum('02/15/2031') 0.05375 100 2 3 1];
Выберите дату расчета.
Settle = datenum('20-Aug-2002');Предположим следующие чистые цены на облигации:
Prices = [ 98.97467;
98.58044;
100.10534;
98.18054;
101.38136;
99.25411];Используйте следующую формулу для вычисления спотового компаундирования для облигаций:
SpotCompounding = 2*ones(size(Prices));
Вычислите нулевую кривую.
[ZeroRatesP, CurveDatesP] = zbtprice(Bonds, Prices, Settle); ZeroCurve = [CurveDatesP, ZeroRatesP, SpotCompounding]
ZeroCurve = 6×3
105 ×
7.3154 0.0000 0.0000
7.3163 0.0000 0.0000
7.3216 0.0000 0.0000
7.3327 0.0000 0.0000
7.3510 0.0000 0.0000
7.4185 0.0000 0.0000
Присвойте следующие параметры:
Price = 95; Maturity = datenum('02-Jan-2030'); IssueDate = datenum('02-Jan-2000'); GrossRate = 0.08125; CouponRate = 0.075; Delay = 14; Interpolation = 1; PrepaySpeed = [0 50 100];
Вычислите выход и на основе выхода вычислите скорректированный опцией разброс.
[mbsyld, beyld] = mbsyield(Price, Settle, ... Maturity, IssueDate, GrossRate, CouponRate, Delay, PrepaySpeed); OAS = mbsyield2oas(ZeroCurve, mbsyld, Settle, ... Maturity, IssueDate, GrossRate, CouponRate, Delay, ... Interpolation, PrepaySpeed)
OAS = 3×1
26.0508
28.6355
31.2232
ZeroCurve - Нулевая криваяНулевая кривая, заданная как матрица из трех столбцов, где:
Столбец 1 - порядковые номера.
Столбец 2 представляет собой спотовые ставки со сроками погашения, соответствующими датам в столбце 1, в десятичном выражении (например, 0,075).
Столбец 3 представляет собой суммарное значение ставок в столбце 2. (Это спотовый курс агентства на дату расчета.) Допустимые значения компаундирования: 1 (ежегодно), 2 (полугодовой, 3 (три раза в год), 4 (ежеквартально), 6 (раз в два месяца), 12 (ежемесячно), и -1 (непрерывный).
Например:
[datenum('1-Jan-2003') 0.0154 12;
datenum('1-Jan-2004') 0.0250 12;
......
datenum('1-Jan-2020') 0.0675 2];
Типы данных: double | char | cell
Yield - Доходность по ипотеке, совокупная ежемесячноДоходность по ипотеке, смешанная ежемесячно, указанная как NMBSоколо-1 вектор в десятичных разрядах.
Типы данных: double
Settle - Дата расчетаДата расчета, указанная как NMBSоколо-1 вектор с использованием серийных номеров дат или массива ячеек векторов символов даты. Settle должно быть раньше, чем Maturity.
Типы данных: double | char | cell
Maturity - Дата погашенияДата погашения, указанная как NMBSоколо-1 вектор с использованием серийных номеров дат или массива ячеек векторов символов даты.
Типы данных: double | char | cell
IssueDate - Дата выпускаДата выпуска, указанная как NMBSоколо-1 вектор с использованием серийных номеров дат или массива ячеек векторов символов даты.
Типы данных: double | char | cell
GrossRate - Валовая купонная ставка (включая комиссионные сборы)Валовая купонная ставка (включая комиссии), указанная как NMBSоколо-1 вектор десятичных значений.
Типы данных: double
CouponRate - Чистая купонная ставкаGrossRate (по умолчанию) | вектор десятичных значений(Необязательно) Чистая купонная ставка, указанная как NMBSоколо-1 вектор десятичных значений.
Типы данных: double
Delay - Задержка (в днях) между оплатой от домовладельца и получением держателем облигаций0 (без задержки между платежом и получением) (по умолчанию) | вектор(Необязательно) Задержка (в днях) между оплатой от домовладельца и получением держателем облигаций, указанная как NMBSоколо-1 вектор.
Типы данных: double
Interpolation - Метод интерполяции для вычисления соответствующих спотовых ставок для денежного потока облигации1 (линейный) (по умолчанию) | вектор(Необязательно) Метод интерполяции для вычисления соответствующих спотовых курсов для денежного потока облигации, указанный как NMBSоколо-1 вектор. Доступные методы: (0) ближайший, (1) линейный, и (2) кубический сплайн. Дополнительные сведения о поддерживаемых методах интерполяции см. в разделе interp1.
Типы данных: double
PrepaySpeed - Скорость относительно стандарта ВАБ0 (без предоплаты) (по умолчанию) | вектор(Необязательно) Скорость относительно стандарта PSA, указанная как NMBSоколо-1 вектор. Стандарт PSA: 100.
Примечание
Установите PrepaySpeed кому [] при вводе настраиваемого PrepayMatrix.
Типы данных: double
PrepayMatrix - Настраиваемый вектор предоплаты(Необязательно) Настраиваемый вектор предоплаты, указанный как NaN-добавленная матрица размера max(TermRemaining)около-NMBS. Каждый столбец соответствует каждому залоговому обеспечению, а каждая строка соответствует каждому месяцу после расчета.
Примечание
Использовать PrepayMatrix только когда PrepaySpeed не указан.
Типы данных: double
OAS - Нулевая волатильность ОАГНулевая волатильность OAS в базисной точке (bp), возвращенная как NMBSоколо-1 вектор.
[1] Единообразная практика PSA, SF-49
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.