Fast Formulas #3 (Follow-up): The Derivation

Fast Formulas #3: Pool Average Life with CPR Prepayments presented Formula 3.1., a compact formula for the weighted average life of a homogeneous loan pool assuming a constant prepayment rate.  I wrote that the formula took a few pages and “a couple of tricks” to work out.

Fast Formulas #3: The Spreadsheet lets you test the shortcut formula against a standard cash flow projection.   However, the spreadsheet does not explain why the formula works, nor does it prove that the formula is valid.  This is why some readers have asked to see the derivation of Formula 3.1.

I have now written up the full derivation, which you can find here.  If wading through a lot of algebra is not your idea of fun, please keep reading for a quick summary.

The key insight behind Formula 3.1 was that the loan pool can be divided into classes based on when the loans are assumed to prepay.  All of the loans that prepay at the same time belong to the same class. Each class behaves like a single loan that amortizes on schedule, until a balloon prepayment pays off the balance on the prepayment date.

The average life for any class can be found with Formula 2.2 for an amortizing mortgage with a balloon payment:

W=D_{n} \left( m+\dfrac {1}{rD_{q}} \right)-\dfrac {1}{r}

The average life of the entire pool can be found by weighting each class’s average life by its share of the whole pool.  The share for the ith class is A_{i}, which is based on a prepayment factor raised to the power of i-1.

Adapting Formula 2.2, the average life for the entire pool is

W=\sum\limits_{i=1}^{n}A_{i} \left[ D_{n} \left( i+\dfrac{1}{rD_{n-i}} \right)- \dfrac {1}{r} \right].

I expect most readers are comfortable with \sum notation, but if not, don’t let it bother you.  \sum is the capital S* in the Greek alphabet.  If f(i) is some expression that depends on i, then  the Sum of its values for each i from 1 to n is \sum\limits_{i=1}^n f(i).

The problem with the previous formula for W is that it would require us to loop through 360 rounds of calculation for a 30-year mortgage.  Fortunately, all of these calculations are unnecessary because there is a good shortcut.

To find the shortcut, we begin by reworking the formula a little and then breaking it into three parts:

W=X-Y+Z

where

X=D_{n}\sum\limits_{i=1}^{n}iA_{i},

Y=\dfrac {D_{n}d^{n}} {r}\sum\limits_{i=1}^{n}\dfrac {A_{i}} {d^{i}},

and

Z=\dfrac {D_{n}-1} {r}.

Let’s look at Y first.  With a little work, we can shape it into a geometric series of the form \sum\limits_{i=1}^n q^i.  From there, we can find a compact form by using Formula 4.4 from Fast Formulas #4: Geometric Series (One of the Tricks).

Next, consider X.  It is almost a “quasi-geometric” series of the form \sum\limits_{i=1}^n iq^i, so we can apply the shortcut Formula 5.1 from Fast Formulas #5: Quasi-Geometric Series (The Other Trick).

We also rework Z a little.

Now we can plug compact forms of X, Y and Z into W=X-Y+Z.  The \sums are gone but the formula is not very elegant.  With enough algebra and caffeine, however, we can boil it down to Formula 3.1:

W=D_{n} \left( \dfrac {1-C^{n}} {c}+d\dfrac {d^{n}-C^{n}}{C-d} \right) .

*It’s annoying when “\sum” is used as an “E”, as in “MY BIG FAT GR\sum \sumK WEDDING.”  What is a “GRSSK WEDDING”?

Copyright 2013.  All Rights Reserved.

Revised July 2, 2013 with a correction to the second formula.

Advertisements
This entry was posted in Bonds, Fast Formulas, Math, Mortgage-Backed Securities and tagged , , , , . Bookmark the permalink.

2 Responses to Fast Formulas #3 (Follow-up): The Derivation

  1. Pingback: Fast Formulas #3: Pool Average Life with CPR Prepayments | The Well-Tempered Spreadsheet

  2. Pingback: Fast Formulas #4: Geometric Series (One of the Tricks) | The Well-Tempered Spreadsheet

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s