Suppose that one pool has two remaining coupons, and the other has three. MATLAB® expects the prepayment matrix to be in the following format:
V11 V21 V12 V22 NaN V23
V
ij
denotes
the single monthly mortality (SMM) rate for pool i
during
the j
th coupon period since Settle
.
The use of NaN
to pad the prepayment matrix
is necessary because MATLAB cannot concatenate vectors of different
lengths into a matrix. Also, it can serve as an error check against
any unintended operation (any MATLAB operation that would return NaN
).
For example, assume that the 2-month pool has a constant SMM of 0.5% and the 3-month pool has a constant SMM of 1% in every period. The prepayment matrix you would create is depicted below.
Create this input in whatever manner is best for you.
When you specify a PSA prepayment speed, MATLAB "seasons" the pool according to its age.
When you specify your own prepayment matrix, identify
the maximum number of coupons remaining using cpncount
.
Then supply the matrix elements up to the point when cash flow ceases
to exist.
When different length pools must exist in the same
matrix, pad the shorter one(s) with NaN
. Each column
of the prepayment matrix corresponds to a specific pool.
mbscfamounts
| mbsconvp
| mbsconvy
| mbsdurp
| mbsdury
| mbsnoprepay
| mbsoas2price
| mbsoas2yield
| mbspassthrough
| mbsprice
| mbsprice2oas
| mbsprice2speed
| mbswal
| mbsyield
| mbsyield2oas
| mbsyield2speed
| psaspeed2default
| psaspeed2rate