В общем случае рабочий процесс CMO:
Вычислите базовые ипотечные потоки наличности.
Задайте части CMO
При использовании PAC или TAC CMO, вычислите основное расписание.
Вычислите потоки наличности для каждой части.
Анализируйте CMO вычислительной ценой, выражением, распространением потоков наличности CMO.
Базовые потоки наличности передачи ипотечного пула вычисляются существующей функцией mbspassthrough
. Функции потока наличности CMO требуют основных платежей (включая предварительные оплаты) вычисленный от существующих функций mbspassthrough
или mbscfamounts
.
principal = 10000000; coupon = 0.06; terms = 360; psa = 150; [principal_balance, monthly_payments, sched_principal_payments,... interest_payments, prepayments] = mbspassthrough(principal,... coupon, terms, terms, psa, []); principal_payments = sched_principal_payments.' + prepayments.';
После определения основных платежей за базовый ипотечный имущественный залог можно сгенерировать потоки наличности для последовательного CMO, с или без Z-связи, при помощи cmoseqcf
. Для PAC или TAC CMO, потоки наличности сгенерированы с помощью cmoschedcf
Задайте часть CMO; например, задайте CMO с двумя частями:
TranchePrincipals = [500000; 500000]; TrancheCoupons = [0.06; 0.06];
Вычислите основное расписание баланса PAC/TAC на основе полосы скоростей PSA. Для запланированного CMOS (PAC/TAC) функции потока наличности CMO дополнительно берут в основном расписании баланса, вычисленном функцией расписания CMO cmosched
.
terms = 360;
coupon = 0.06;
principal = 10000000;
speed = [100 300];
[balanceSchedule, initialBalance] = cmosched(principal, coupon,...
terms, terms, speed, TranchePrincipals(1));
Можно снова использовать выход от функций генерации потока наличности, чтобы далее разделить потоки наличности на части. Например, выход от cmoschedcf
поскольку часть PAC может быть разделена на последовательные части путем передачи основных потоков наличности части PAC в cmoschedcf
функция. Выходные параметры функций потока наличности CMO являются потоками наличности основной суммы и процентов и основным балансом.
[principal_balances, principal_cashflows, interest_cashflows] = cmoschedcf(principal_payments,...
TranchePrincipals, TrancheCoupons, balanceSchedule);
Выходные параметры от функций CMO (cmoseqcf
и cmoschedcf
) потоки наличности. Функции, используемые, чтобы анализировать CMO, основаны на этих потоках наличности. С этой целью можно использовать cfbyzero
, cfspread
, cfyield
, и cfprice
вычислить цены, выражение и распространения для потоков наличности CMO. Кроме того, с помощью следующего, можно вычислить средневзвешенную жизнь (WAL) для каждой части в CMO:
где:
P является общим принципалом.
Pi является основной выплатой купона i.
часть принципала, возмещенного в купоне i.
ti является временем в годах от запуска до купона i.
cmoseqcf
| cmosched
| cmoschedcf
| mbscfamounts
| mbspassthrough