# mbswal

Weighted average life of mortgage pool

## Syntax

``WAL = mbswal(Settle,Maturity,IssueDate,GrossRate)``
``WAL = mbswal(___CouponRate,Delay,PrepaySpeed,PrepayMatrix)``

## Description

example

````WAL = mbswal(Settle,Maturity,IssueDate,GrossRate)` computes the weighted average life, in number of years, of a mortgage pool, as measured from the settlement date.```

example

````WAL = mbswal(___CouponRate,Delay,PrepaySpeed,PrepayMatrix)` specifies options using one or more optional arguments in addition to the input arguments in the previous syntax. ```

## Examples

collapse all

This example shows how to determine the weighted average life of a mortgage pool, given a pass-through security with the following characteristics.

```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 ```

## Input Arguments

collapse all

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`

(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`

(Optional) Speed relative to PSA standard, specified as an `NMBS`-by-`1` vector. The PSA standard is `100`.

Note

Set the `PrepaySpeed` to `[]` if you input a customized `PrepayMatrix`.

Data Types: `double`

(Optional) 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`

## Output Arguments

collapse all

Weighted Average Life (WAL) of MBS, in number of years, returned as a `NMBS`-by-`1` vector.

 PSA Uniform Practices, SF-49