Pools with Different Numbers of Coupons Remaining
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.
Summary of Prepayment Data Vector Representation
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.
See Also
mbscfamounts
| mbsconvp
| mbsconvy
| mbsdurp
| mbsdury
| mbsnoprepay
| mbspassthrough
| mbsprice
| mbswal
| mbsyield
| mbsprice2speed
| mbsyield2speed
| psaspeed2default
| psaspeed2rate
| mbsoas2price
| mbsoas2yield
| mbsprice2oas
| mbsyield2oas
Related Examples
- Fixed-Rate Mortgage Pool
- Prepayment Modeling with a Two Factor Hull White Model and a LIBOR Market Model
- Computing Option-Adjusted Spread
- Pricing Mortgage Backed Securities Using Black-Derman-Toy Model
- Using Collateralized Mortgage Obligations (CMOs)