Настроенный опцией распространяет данное выражение
задает опции с помощью одного или нескольких дополнительных аргументов в дополнение к входным параметрам в предыдущем синтаксисе. 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
— Задержка (в днях) между оплатой от домовладельца и получением держателя облигаций
(никакая задержка между оплатой и получением) (значение по умолчанию) | вектор(Необязательно) Задержка (в днях) между оплатой от домовладельца и получением держателя облигаций в виде NMBS
- 1
вектор.
Типы данных: double
Interpolation
— Метод интерполяции вычислить соответствующие точечные уровни для потока наличности связи
(линейное) (значение по умолчанию) | вектор(Необязательно) Метод интерполяции вычислить соответствующие точечные уровни для потока наличности связи в виде NMBS
- 1
вектор. Доступные методы (0
) самый близкий, (1
) линейный, и (2
) кубический сплайн. Для получения дополнительной информации о поддерживаемых методах интерполяции смотрите interp1
.
Типы данных: double
PrepaySpeed
— Скорость относительно стандарта PSA
(никакая предварительная оплата) (значение по умолчанию) | вектор(Необязательно) Скорость относительно стандарта PSA в виде NMBS
- 1
вектор. Стандартом PSA является 100
.
Примечание
Установите PrepaySpeed
к []
если вы вводите индивидуально настраиваемый PrepayMatrix
.
Типы данных: double
PrepayMatrix
— Индивидуально настраиваемый вектор предварительной оплаты(Необязательно) Индивидуально настраиваемый вектор предварительной оплаты в виде NaN
- заполненная матрица размера max(TermRemaining)
- NMBS
. Каждый столбец соответствует каждой ценной бумаге, обеспеченной закладной, и каждая строка соответствует каждый месяц после урегулирования.
Примечание
Используйте PrepayMatrix
только, когда PrepaySpeed
не задано.
Типы данных: double
OAS
— Нулевая энергозависимость OASНулевая энергозависимость OAS, в пункте (BP), возвратилась как NMBS
- 1
вектор.
[1] Универсальные методы PSA, SF-49
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.