Программное обеспечение Toolbox™ Financial Instruments поддерживает расчеты, связанные с базовыми ипотечными пулами с фиксированной ставкой и баллонными ипотечными кредитами. Базовые ипотечные пулы с фиксированной ставкой и закладные баллоны имеют сквозные сертификаты (PC), которые обычно имеют встроенные опции вызова в форме предоплаты. Предоплата является избыточным платежом, применяемым к основной компании ПК. Эти ускоренные платежи сокращают эффективный срок службы ПК.
Тулбокс поставляется со стандартной моделью предоплаты Bond Market Association (PSA) и может генерировать кратные стандартные скорости предоплаты. Ассоциация государственных ценных бумаг обеспечивает комплекс единообразных практик для расчета характеристик ипотечных ценных бумаг при наличии предполагаемой функции предоплаты.
Кроме того, помимо стандартной реализации PSA в этом тулбоксе, вы можете предоставить свои собственные проектируемые векторы предоплаты. Однако в настоящее время пользовательские функции предоплаты, включающие специфическую для пула информацию и прогнозы процентных ставок, недоступны в этом тулбоксе. Если вы планируете использовать в вычислениях пользовательские векторы предоплаты, вы, предположительно, уже владеете таким набором в MATLAB®.
Из-за типового, универсального характера функций pass-through тулбокса, можно точно настроить их, чтобы соответствовать конкретному ипотеке. Большинство функций требуют, по крайней мере, этого набора входов:
Ставка брутто-купона
Дата расчета
Дата выпуска (вступления в силу)
Дата погашения
Типичные дополнительные входы включают стандартную скорость предоплаты (или настраиваемый вектор), ставку чистого купона (если отличается от ставки брутто купона) и задержку платежа в количестве дней.
Все расчеты основаны на ожидаемых сроках оплаты и фактическом движении денежных средств к инвестору. Для примера, когда GrossRate
и CouponRate
различаются как входы mbsdurp
функция возвращает измененную длительность, основанную на CouponRate
. (Заметным исключением является mbspassthrough
, который возвращает процентные величины на основе GrossRate
.)
Можно быстро сгенерировать несколько векторов предоплаты PSA. Чтобы сгенерировать векторы предоплаты 100 и 200 PSA, введите
PSASpeed = [100, 200]; [CPR, SMM] = psaspeed2rate(PSASpeed);
Эта функция вычисляет два значения предоплаты: условную ставку предоплаты (CPR) и одну месячную смертность (SMM). CPR - процентная доля непогашенной основной суммы предоплаты за один год. СММ - это процент непогашенной основной предоплаты за один месяц. Другими словами, CPR является ежегодной версией SMM.
Поскольку весь массив 360 на 2 слишком длинный, чтобы показать в этом документе, наблюдайте графики SMM (100 и 200 PSA), разнесенные на один месяц.
Допущения о предоплате формируют базис, на которой основаны гораздо более комплексные расчеты MBS. В качестве иллюстрации наблюдайте следующий пример, который показывает использование функции mbscfamounts
для создания денежных потоков и сроков на основе набора стандартных предоплат.
Рассмотрим три ипотечных пула, которые были проданы в дату выпуска (которая начинается неамортизированной). Первые два бассейна «выпадают» за 60 месяцев, а третий регулярно амортизируется до конца. Скорости предоплаты приняты равными 100, 200 и 200 PSA, соответственно.
Settle = [datenum('1-Feb-2000'); datenum('1-Feb-2000'); datenum('1-Feb-2000')]; Maturity = [datenum('1-Feb-2030')]; IssueDate = datenum('1-Feb-2000'); GrossRate = 0.08125; CouponRate = 0.075; Delay = 14; PSASpeed = [100, 200]; [CPR, SMM] = psaspeed2rate(PSASpeed); PrepayMatrix = ones(360,3); PrepayMatrix(1:60,1:2) = SMM(1:60,1:2); PrepayMatrix(:,3) = SMM(:,2); [CFlowAmounts, CFlowDates, TFactors, Factors] = ... mbscfamounts(Settle, Maturity, IssueDate, GrossRate, ... CouponRate, Delay, [], PrepayMatrix);
Четвертый выходной аргумент, Factors
, указывает на долю остатка, остающуюся непогашенной в начале каждого месяца. Снимок этого аргумента в редакторе Переменного MATLAB иллюстрирует 60-месячный срок жизни первых двух ипотечных кредитов с выплатой баллонов и продолжением третьей ипотеки до конца (360 месяцев).
Вы можете легко увидеть это mbscfamounts
- базовый блок большинства денежных потоков с фиксированной ставкой и пула номеров позиций.
Предоплата выгодна владельцу прохода, когда ипотечный пул был приобретен со скидкой. Следующий пример сравнивает выражения ипотеки (сложная ежемесячная) с чистой ценой покупки с постоянной скоростью предоплаты. Пример показывает, что при приобретении пула со скидкой предоплата создает более высокое выражение при снижении закупочной цены.
Price = [85; 90; 95]; Settle = datenum('15-Apr-2002'); Maturity = datenum('1 Jan 2030'); IssueDate = datenum('1-Jan-2000'); GrossRate = 0.08125; CouponRate = 0.075; Delay = 14; Speed = 100;
Вычислите выражений ипотеки и эквивалентной облигации.
[MYield, BEMBSYield] = mbsyield(Price, Settle, Maturity, ... IssueDate, GrossRate, CouponRate, Delay, Speed)
MYield = 0.1018 0.0918 0.0828 BEMBSYield = 0.1040 0.0936 0.0842
Если для этого же пула ипотеки не было предоплаты (Speed = 0
), выражения снизятся до
MYield = 0.0926 0.0861 0.0802 BEMBSYield = 0.0944 0.0877 0.0815
Аналогично, если ставка предоплаты выросла вдвое (Speed = 200
), выражения увеличатся до
MYield = 0.1124 0.0984 0.0858 BEMBSYield = 0.1151 0.1004 0.0873
Для того же вектора предоплаты более глубокие пулы скидок зарабатывают более высокие выражения. Для получения дополнительной информации см. mbsprice
и mbsyield
.
Financial Instruments Toolbox предоставляет самые основные показатели риска портфеля пула:
Рассмотрим следующий пример, в котором вычисляется длительность Маколея и измененных сроков, учитывая цену ипотечного пула.
Price = [95; 100; 105]; Settle = datenum('15-Apr-2002'); Maturity = datenum('1-Jan-2030'); IssueDate = datenum('1-Jan-2000'); GrossRate = 0.08125; CouponRate = 0.075; Delay = 14; Speed = 100; [YearDuration, ModDuration] = mbsdurp(Price, Settle, ... Maturity, IssueDate, GrossRate, CouponRate, Delay, Speed)
YearDuration = 6.1341 6.3882 6.6339 ModDuration = 5.8863 6.1552 6.4159
Используя функции Financial Instruments Toolbox, можно получить измененные длительность и выпуклость из цены или выражения, пока вы задаете вектор предоплаты или предполагаемую скорость предоплаты. Функции измерения риска тулбокса (mbsdurp
, mbsdury
, mbsconvp
, mbsconvy
, и mbswal
) придерживаться руководящих принципов, перечисленных в руководстве PSA Uniform Practices.
Для точной оценки ипотечного пула необходимо сгенерировать пути процентной ставки и использовать их с характеристиками ипотечного пула, чтобы правильно оценить пул. Широко используемой методологией является скорректированный по вариантам спред (ОАГ). ОАГ измеряет спред выражения, который не связан непосредственно с характеристиками инвестиций с фиксированным доходом.
Предоплата изменяет денежные потоки регулярно амортизирующего ипотечного пула в противном случае. Комплексное вычисление спреда с поправкой на опцию обычно начинается с генерации набора путей спотовых ставок для предсказания предоплаты. Путь является набором i путей спот-курса с соответствующими j денежными потоками на каждом из этих путей.
Эффект OAS на ценообразование пула показан математически в следующем уравнении, где K - скорректированный по опциям спред.
Кроме того, если вы более заинтересованы в чувствительности ипотечного пула к изменению процентной ставки, используйте эффективную длительность, которая является более подходящей мерой. Эффективная длительность определяется математически следующим уравнением.
Тулбокс имеет все компоненты, необходимые для вычисления OAS и эффективной длительности, если вы поставляете векторы предоплаты или допущения. Для OAS, заданный вектор предоплаты, можно сгенерировать набор денежных потоков с mbscfamounts
. Дисконтирование этих денежных потоков с помощью референсной кривой, а затем добавление OAS создает рыночную цену. См. «Вычисление спреда с поправкой на опции» для обсуждения расчета спреда с поправкой на опции.
Эффективная длительность является более сложной проблемой. В то время как измененная длительность изменяет процесс дисконтирования (путем изменения выражения, используемой для дисконтирования денежных потоков), эффективная длительность должна учитывать изменение денежного потока из-за изменения выражения. Возможным решением является пересчет цен с помощью mbsprice
для небольшого изменения выражения, как в восходящем, так и в нисходящем направлениях. В этом случае необходимо пересчитать вход предоплаты. Внутренне это изменяет денежные потоки ипотечного пула. Принимая, что OAS остается постоянным во всех окружениях выражения, можно применить набор коэффициентов дисконтирования к денежным потокам в окружениях доходности вверх и вниз, чтобы найти эффективную длительность.
mbscfamounts
| mbsconvp
| mbsconvy
| mbsdurp
| mbsdury
| mbsnoprepay
| mbsoas2price
| mbsoas2yield
| mbspassthrough
| mbsprice
| mbsprice2oas
| mbsprice2speed
| mbswal
| mbsyield
| mbsyield2oas
| mbsyield2speed
| psaspeed2default
| psaspeed2rate