mbsyield2speed

Implied PSA prepayment speeds given yield

Description

example

[ImpSpdOnPrc,ImpSpdOnDur,ImpSpdOnCnv] = mbsyield2speed(Yield,Settle,Maturity,IssueDate,GrossRate,PrepayMatrix) computes PSA prepayment speeds implied by pool yields and projected (user-defined) prepayment vectors. The calculated PSA speed produces the same yield, modified duration, or modified convexity, depending upon the output requested.

example

[ImpSpdOnPrc,ImpSpdOnDur,ImpSpdOnCnv] = mbsyield2speed(___,CouponRate,Delay) specifies options using one or more optional arguments in addition to the input arguments in the previous syntax.

Examples

collapse all

Calculate the equivalent PSA benchmark prepayment speeds for a security with these characteristics and prepayment matrix.

Yield        = 0.065;
Settle       = datenum('1-Jan-2000');
Maturity     = datenum('1-Jan-2030');
IssueDate    = datenum('1-Jan-2000');
GrossRate    = 0.08125;
PrepayMatrix = 0.005*ones(360,1);
CouponRate   = 0.075;
Delay        = 14;

[ImpSpdOnYld, ImpSpdOnDur, ImpSpdOnCnv] = ... 
mbsyield2speed(Yield, Settle, Maturity, IssueDate, GrossRate, ... 
PrepayMatrix, CouponRate, Delay)
ImpSpdOnYld = 117.7644
ImpSpdOnDur = 116.7436
ImpSpdOnCnv = 108.3309

Input Arguments

collapse all

Mortgage yield, compounded monthly, specified as an NMBS-by-1 vector in decimals.

Data Types: double

Settlement date, specified as an NMBS-by-1 vector using serial date numbers or a cell array of date character vectors. Settle must be earlier than Maturity.

Data Types: double | char | cell

Maturity date, specified as an NMBS-by-1 vector using serial date numbers or a cell array of date character vectors.

Data Types: double | char | cell

Issue date, specified as an NMBS-by-1 vector using serial date numbers or a cell array of date character vectors.

Data Types: double | char | cell

Gross coupon rate (including fees), specified as an NMBS-by-1 vector of decimal values.

Data Types: double

Customized prepayment vector, specified as 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.

Note

Use PrepayMatrix only when PrepaySpeed is unspecified.

Data Types: double

(Optional) Net coupon rate, specified as an NMBS-by-1 vector of decimal values.

Data Types: double

(Optional) Delay (in days) between payment from homeowner and receipt by bondholder, specified as an NMBS-by-1 vector.

Data Types: double

Output Arguments

collapse all

Equivalent PSA benchmark prepayment speed for the pass-through to carry the same price, returned as a NMBS-by-1 vector.

Equivalent PSA benchmark prepayment speed for the pass-through to carry the same modified duration, returned as a NMBS-by-1 vector.

Equivalent PSA benchmark prepayment speed for the pass-through to carry the same modified convexity, returned as a NMBS-by-1 vector.

References

[1] PSA Uniform Practices, SF-49

Introduced before R2006a