| Fixed-Income Toolbox™ | ![]() |
[CFlowAmounts, CFlowDates, TFactors, Factors] = mbscfamounts(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 | Net coupon rate, in decimal. Default = GrossRate. |
Delay | Delay in days. |
| PrepaySpeed | (Optional) Relation of the conditional payment rate (CPR) to the benchmark model. Default = 0. If you input a customized prepayment matrix, set PrepaySpeed to []. |
| PrepayMatrix | (Optional) Used only when PrepaySpeed is unspecified. Customized prepayment vector. A NaN-padded matrix of size |
All inputs (except PrepayMatrix) are number of mortgage-backed securities (NMBS)-by-1 vectors.
[CFlowAmounts, CFLowDates, TFactors, Factors] = mbscfamounts(Settle, Maturity, IssueDate, GrossRate, CouponRate, Delay, PrepaySpeed, PrepayMatrix) computes cash flows between settle and maturity dates, the corresponding time factors in months from settle, and the mortgage factor (the fraction of loan principal outstanding).
CFlowAmounts is a vector of cash flows starting from Settle through end of the last month (Maturity).
CFlowDates indicates when cash flows occur, including at Settle. A negative number at Settle indicates accrued interest is due.
TFactors is a vector of times in months from Settle, corresponding to each cash flow.
Factors is a vector of mortgage factors (the fraction of the balance still outstanding at the end of each month).
Example 1. Given a mortgage with the following characteristics, compute the cash flow amounts and dates, the time factors, and the mortgage factors.
Settle = datenum('17-April-2002');
Maturity = datenum('1-Jan-2030');
IssueDate = datenum('1-Jan-2000');
GrossRate = 0.08125;
CouponRate = 0.075;
Delay = 14;
PrepaySpeed = 100;
[CFlowAmounts, CFLowDates, TFactors, Factors] = ...
mbscfamounts(Settle, Maturity, IssueDate, GrossRate, ...
CouponRate, Delay, PrepaySpeed)
The result is contained in four 334-element row vectors.
Example 2. Given a portfolio of mortgage-backed securities, use mbscfamounts to compute the cash flows and other factors from the portfolio.
Settle = datenum(['13-Jan-2000';'17-Apr-2002';'17-May-2002']);
Maturity = datenum('1-Jan-2030');
IssueDate = datenum('1-Jan-2000');
GrossRate = 0.08125;
CouponRate = [0.075; 0.07875; 0.0775];
Delay = 14;
PrepaySpeed = 100;
[CFlowAmounts, CFlowDates, TFactors, Factors] = ...
mbscfamounts(Settle, Maturity, IssueDate, GrossRate, ...
CouponRate, Delay, PrepaySpeed)
Each output is a 3-by-361 element matrix padded with NaNs wherever elements are missing.
[1] PSA Uniform Practices, SF-4
![]() | liborprice | mbsconvp | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |