Main Content

mbsyield2speed

Implied PSA prepayment speeds given yield

Description

[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.

example

Examples

collapse all

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

Yield        = 0.065;
Settle       = datetime(2000,1,1);
Maturity     = datetime(2030,1,1);
IssueDate    = datetime(2000,1,1);
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 a datetime array, string array, or date character vectors. Settle must be earlier than Maturity.

To support existing code, mbsyield2speed also accepts serial date numbers as inputs, but they are not recommended.

Maturity date, specified as an NMBS-by-1 vector using a datetime array, string array, or date character vectors.

To support existing code, mbsyield2speed also accepts serial date numbers as inputs, but they are not recommended.

Issue date, specified as an NMBS-by-1 vector using a datetime array, string array, or date character vectors.

To support existing code, mbsyield2speed also accepts serial date numbers as inputs, but they are not recommended.

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

Version History

Introduced before R2006a

expand all