mbsyield2oas

Настроенный опцией распространяет данный урожай

Описание

пример

OAS = mbsyield2oas(ZeroCurve,Yield,Settle,Maturity,IssueDate,GrossRate) вычисляет настроенное опцией распространение в пунктах.

пример

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

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

свернуть все

Кривая нулевой ширины, заданная как матрица с тремя столбцами, где:

  • Столбец 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- 1 вектор в десятичных числах.

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

Расчетный день, заданный как NMBS- 1 вектор с помощью последовательных чисел даты или массива ячеек векторов символов даты. Settle должен быть ранее, чем Maturity.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

Установите PrepaySpeed к [] если вы вводите индивидуально настраиваемый PrepayMatrix.

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

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

Примечание

Используйте PrepayMatrix только, когда PrepaySpeed не задано.

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

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

свернуть все

Нулевая энергозависимость OAS, в пункте (BP), возвратилась как NMBS- 1 вектор.

Ссылки

[1] Универсальные методы PSA, SF-49

Представлено до R2006a

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