| Fixed-Income Toolbox™ | ![]() |
PSA
WAL = mbswal(Settle, Maturity, IssueDate, GrossRate, CouponRate, Delay, PrepaySpeed, PrepayMatrix)
| Settle | Settlement date. A serial date number or date string. Settle must be earlier than or equal to Maturity. |
| Maturity | Maturity date. A serial date number or date string. |
| IssueDate | Issue date. A serial date number or date string. |
| GrossRate | Gross coupon rate (including fees), in decimal. |
CouponRate | (Optional) Net coupon rate, in decimal. Default = GrossRate. |
| Delay | (Optional) Delay (in days) between payment from homeowner and receipt by bondholder. Default = 0 (no delay between payment and receipt). |
| PrepaySpeed | (Optional) Relation of the conditional payment rate (CPR) to the benchmark model. Default = end of month's CPR. Set PrepaySpeed to [] if you input a customized prepayment matrix. |
| PrepayMatrix | (Optional) Customized prepayment matrix. A matrix of size max(TermRemaining)-by-NMBS. Missing values are padded with NaNs. Each column corresponds to a 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.
WAL = mbswal(Settle, Maturity, IssueDate, GrossRate, CouponRate, Delay, PrepaySpeed, PrepayMatrix) computes the weighted average life, in number of years, of a mortgage pool, as measured from the settlement date.
Given a pass-through security with the following characteristics, compute the weighted average life of the security.
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;
WAL = mbswal(Settle, Maturity, IssueDate, GrossRate, ...
CouponRate, Delay, Speed)
WAL =
10.5477
[1] PSA Uniform Practices, SF-49
![]() | mbsprice2speed | mbsyield | ![]() |
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |