mbsoas2yield

Доходность по скорректированному по опциям спреду

Описание

пример

[MYield,BEMBSYield] = mbsoas2yield(ZeroCurve,OAS,Settle,Maturity,IssueDate,GrossRate) вычисляет ипотечные и эквивалентные облигациям выражений сквозного обеспечения.

пример

[MYield,BEMBSYield] = mbsoas2yield(___,CouponRate,Delay,Interpolation,PrepaySpeed,PrepayMatrix) задает опции с использованием одного или нескольких необязательных аргументов в дополнение к входным параметрам в предыдущем синтаксисе.

Примеры

свернуть все

Учитывая скорректированный по опциону спред, спотовую кривую и предположение о предоплате, вычислите теоретическое выражение к погашению ипотечного пула. Во-первых, создайте матрицу облигаций:

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

Присвойте следующие параметры:

OAS           = [26.0502; 28.6348; 31.2222];
Maturity      = datenum('02-Jan-2030');
IssueDate     = datenum('02-Jan-2000');
GrossRate     = 0.08125;
CouponRate    = 0.075;
Delay         = 14;
Interpolation = 1;
PrepaySpeed   = [0 50 100];

Вычислите выражение ипотеки и эквивалентные выражения ипотеки.

[MYield BEMBSYield] = mbsoas2yield(ZeroCurve, OAS, Settle, ...
Maturity, IssueDate, GrossRate, CouponRate, Delay, ... 
Interpolation, PrepaySpeed)
MYield = 3×1

    0.0527
    0.0513
    0.0499

BEMBSYield = 3×1

    0.0533
    0.0518
    0.0504

Входные параметры

свернуть все

Нулевая кривая, заданная как трехколоночная матрица, где:

  • Столбец 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

Скорректированные по опциям спреды в базисных точках задаются как NMBS-by- 1 вектор.

Типы данных: double

Дата расчета, заданная как NMBS-by- 1 вектор с последовательными номерами дат или массив ячеек с векторами символов дат. Settle должно быть раньше Maturity.

Типы данных: double | char | cell

Дата зрелости, заданная как NMBS-by- 1 вектор с последовательными номерами дат или массив ячеек с векторами символов дат.

Типы данных: double | char | cell

Дата выпуска, заданная как NMBS-by- 1 вектор с последовательными номерами дат или массив ячеек с векторами символов дат.

Типы данных: double | char | cell

Ставка брутто-купона (включая комиссии), указанная в виде NMBS-by- 1 вектор десятичных значений.

Типы данных: double

(Необязательно) Ставка чистого купона, заданная как NMBS-by- 1 вектор десятичных значений.

Типы данных: double

(Необязательно) Задержка (в днях) между оплатой от домовладельца и получением держателем облигации в виде NMBS-by- 1 вектор.

Типы данных: double

(Необязательно) Метод интерполяции для вычисления соответствующих спот-ставок для денежного потока облигации, заданный как NMBS-by- 1 вектор. Доступными методами являются (0) ближайший, (1) линейный, и (2) кубический сплайн. Для получения дополнительной информации о поддерживаемых методах интерполяции см. interp1.

Типы данных: double

(Необязательно) Скорость относительно стандарта PSA, заданная как NMBS-by- 1 вектор. Стандарт PSA 100.

Примечание

Установите PrepaySpeed на [] если вы вводите настроенное PrepayMatrix.

Типы данных: double

(Необязательно) Настраиваемый вектор предоплаты, заданный как NaN-подставленная матрица размера max(TermRemaining)-by- NMBS. Каждый столбец соответствует каждому ипотечному обеспечению, и каждая строка соответствует каждому месяцу после расчета.

Примечание

Использование PrepayMatrix только когда PrepaySpeed не задан.

Типы данных: double

Выходные аргументы

свернуть все

Доходность к погашению обеспеченности, обеспеченной ипотекой, возвращенная в качестве NMBS-by- 1 вектор. Это выражение смешивается ежемесячно (12 раз в год).

Эквивалентное выражение облигаций обеспеченного ипотечным кредитом обеспечения, возвращенная в качестве NMBS-by- 1 вектор. Это выражение компаундируется в год (два раза в год).

Ссылки

[1] Унифицированные практики PSA, SF-49

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте