Ипотечный пул с фиксированной ставкой

Введение

Программное обеспечение 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), разнесенные на один месяц.

Plot for 100 and 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 месяцев).

Variable editor

Вы можете легко увидеть это 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 - скорректированный по опциям спред.

PoolPrice=1NumberofPaths×iNumberofPathsjCFijCFij(1+zeroratesij+K)Tij

Вычисление эффективной длительности

Кроме того, если вы более заинтересованы в чувствительности ипотечного пула к изменению процентной ставки, используйте эффективную длительность, которая является более подходящей мерой. Эффективная длительность определяется математически следующим уравнением.

EffectiveDuration=P(y+Δy)P(yΔy)2P(y)Δy

Расчет рыночной цены

Тулбокс имеет все компоненты, необходимые для вычисления OAS и эффективной длительности, если вы поставляете векторы предоплаты или допущения. Для OAS, заданный вектор предоплаты, можно сгенерировать набор денежных потоков с mbscfamounts. Дисконтирование этих денежных потоков с помощью референсной кривой, а затем добавление OAS создает рыночную цену. См. «Вычисление спреда с поправкой на опции» для обсуждения расчета спреда с поправкой на опции.

Эффективная длительность является более сложной проблемой. В то время как измененная длительность изменяет процесс дисконтирования (путем изменения выражения, используемой для дисконтирования денежных потоков), эффективная длительность должна учитывать изменение денежного потока из-за изменения выражения. Возможным решением является пересчет цен с помощью mbsprice для небольшого изменения выражения, как в восходящем, так и в нисходящем направлениях. В этом случае необходимо пересчитать вход предоплаты. Внутренне это изменяет денежные потоки ипотечного пула. Принимая, что OAS остается постоянным во всех окружениях выражения, можно применить набор коэффициентов дисконтирования к денежным потокам в окружениях доходности вверх и вниз, чтобы найти эффективную длительность.

См. также

| | | | | | | | | | | | | | | | |

Похожие примеры

Подробнее о