Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

mbspassthrough

Mortgage pool cash flows and balances with prepayment

Syntax

[Balance,Payment,Principal,Interest,Prepayment] = mbspassthrough(OriginalBalance,GrossRate,OriginalTerm,TermRemaining,PrepaySpeed,PrepayMatrix)

Arguments

OriginalBalance

Original balance value in dollars (balance at the beginning of each TermRemaining).

GrossRate

Gross coupon rate (including fees), in decimal.

OriginalTerm

Term of the mortgage in months.

TermRemaining

(Optional) Number of full months between settlement and maturity.

PrepaySpeed

(Optional) Relation of the conditional payment rate (CPR) to the benchmark model. Default = 0 (no prepayment). Set PrepaySpeed to [] if you input a customized prepayment matrix.

PrepayMatrix

(Optional) Used only when PrepaySpeed is unspecified. Customized prepayment vector. A NaN-padded matrix of size max(TermRemaining)-by-NMBS. Each column corresponds to each mortgage-backed security, and each row corresponds to each month after settlement.

All inputs (except PrepayMatrix) are number of mortgage-backed securities (NMBS) by 1 vectors.

Description

[Balance,Payment,Principal,Prepayment,Interest] = mbspassthrough(OriginalBalance,GrossRate,OriginalTerm,TermRemaining,PrepaySpeed,PrepayMatrix) calculates mortgage pool cash flows and balances with prepayments.

All outputs are TermRemaining-by-1 vectors of end-of-month values.

Balance is a matrix for the principal balance at end of month.

Payment is a matrix for the total monthly payment.

Principal is a matrix for the principal portion of the payment.

Interest is a matrix for the interest portion of the payment.

Prepayment is a matrix that indicates any unscheduled principal payment.

By default, the securities are seasoned. The applicable CPR depends upon TermRemaining based on a 30-year prepayment model (PSA or FHA). You may supply a different CPR vector of size TermRemaining-by-1.

Examples

collapse all

This example shows how to compute the cash flows and balances of a 3-month old mortgage pool with original term of 360 months, assuming a prepayment speed of 100.

OriginalBalance = 100000;
GrossRate = 0.08125;
OriginalTerm = 360;
TermRemaining = 357;
PrepaySpeed = 100;

[Balance, Payment, Principal, Interest, Prepayment] =... 
mbspassthrough(OriginalBalance, GrossRate, OriginalTerm,... 
TermRemaining, PrepaySpeed)
Balance = 

   1.0e+04 *

    9.9866
    9.9715
    9.9548
    9.9363
    9.9161
    9.8942
    9.8707
    9.8454
    9.8185
    9.7900

Payment = 

  743.9671
  743.4693
  742.8468
  742.0999
  741.2285
  740.2329
  739.1132
  737.8699
  736.5034
  735.0139

Principal = 

   66.8837
   67.2915
   67.6904
   68.0802
   68.4607
   68.8317
   69.1929
   69.5442
   69.8854
   70.2163

Interest = 

  677.0833
  676.1777
  675.1564
  674.0196
  672.7678
  671.4012
  669.9203
  668.3257
  666.6179
  664.7976

Prepayment = 

   66.8676
   83.5494
  100.2000
  116.8108
  133.3731
  149.8785
  166.3183
  182.6840
  198.9672
  215.1593

Introduced before R2006a

Was this topic helpful?