Reader question: A fixed-rate mortgage has a scheduled payment. So why is a mortgage-backed security difficult to project?
Because the borrower can usually return principal earlier than the contractual amortisation schedule. When thousands of mortgages are pooled, the security’s monthly cash flow becomes the sum of scheduled interest, scheduled principal and unscheduled principal prepayments, adjusted for servicing and guaranty mechanics. The amount of principal still outstanding then changes the next month’s interest and scheduled principal.
A mortgage-backed-security cash-flow engine is therefore a recursive algorithm. It begins with a pool balance and loan characteristics, applies scheduled amortisation, converts a prepayment assumption such as CPR into a monthly mortality rate, reduces the remaining balance, and repeats until the pool is paid down.
What this page owns — and what it does not
This page owns the public computational layer:
mortgage-pool balance + amortisation + prepayment assumption → projected monthly MBS principal and interest cash flows.
It does not replace mortgage-servicing-right valuation, which values servicing economics; callable-bond OAS, which owns interest-rate-tree option-adjusted valuation; or bond accrued-interest algorithms.
This is mathematical fixed-income education. It is not a recommendation to buy or sell any mortgage-backed security.
The three principal cash-flow pieces
A simplified pass-through pool distributes cash from three major sources:
- scheduled interest on the surviving principal balance;
- scheduled principal from contractual mortgage amortisation;
- unscheduled principal from prepayment, refinancing, home sale, curtailment or other payoff events.
Fannie Mae’s public MBS program documentation states that scheduled principal and interest on pooled mortgages are remitted under its scheduled/scheduled framework. Public investor material commonly describes pass-through cash flow as scheduled principal, scheduled interest and prepaid principal.
Step 1: calculate the scheduled mortgage payment
For a level-payment fixed-rate mortgage with original balance B0, monthly mortgage rate r and remaining number of payments n, the contractual monthly payment is:
PMT = B0 r / [1 − (1+r)−n].
Each month:
Scheduled interest = beginning balance × r.
Scheduled principal = PMT − scheduled interest.
The balance after scheduled amortisation but before voluntary prepayment is:
Bsched = Bbegin − scheduled principal.
Why pool-level cash flows are not simply one mortgage multiplied by a count
A real pool contains loans with different:
- balances;
- note rates;
- remaining terms;
- ages;
- loan-to-value ratios;
- geographies;
- borrower characteristics;
- refinancing incentives.
Pool-level models therefore use weighted averages, loan-level projection or segmented cohorts. A single “representative mortgage” can be useful for education, but it can hide the dispersion that drives prepayment behaviour.
Step 2: represent annual prepayment speed with CPR
Conditional Prepayment Rate (CPR) is an annualised rate describing the fraction of the surviving mortgage principal expected to prepay over a year under the chosen convention.
But the cash-flow engine works monthly. It therefore converts CPR into Single Monthly Mortality (SMM):
SMM = 1 − (1 − CPR)1/12.
Rearranging:
CPR = 1 − (1 − SMM)12.
This conversion matters because dividing CPR by 12 is only an approximation and becomes increasingly inaccurate at higher prepayment speeds.
A 6% CPR example
If CPR is 6%:
SMM = 1 − 0.941/12 ≈ 0.514%.
So roughly 0.514% of the eligible surviving balance is assumed to prepay in each month under a constant-CPR approximation.
The prepayment amount is typically applied after scheduled principal:
Prepayment = SMM × Bsched.
Then:
Bend = Bsched − Prepayment.
Why SMM applies to the post-scheduled balance
If a borrower was already scheduled to repay some principal during the month, that principal is no longer available to prepay. Applying SMM to the beginning balance would double-count part of the principal reduction.
This ordering is an important invariant:
beginning balance → scheduled amortisation → unscheduled prepayment → ending balance.
Step 3: project pass-through interest
The mortgage note rate is not necessarily the same as the security’s pass-through coupon.
Fannie Mae publicly describes servicing compensation as related to the difference between the mortgage interest rate and the rate passed through, with guaranty-fee economics also present in the MBS program.
A stylised security interest amount can therefore be expressed as:
Investor interest ≈ beginning security principal × pass-through rate / 12,
subject to the actual security’s remittance and payment conventions.
The cash-flow engine should distinguish:
- borrower note rate;
- weighted-average coupon of the collateral;
- servicing fee;
- guaranty or other fee treatment;
- security pass-through coupon.
Pool factor: a compact state variable
A pool factor expresses current principal relative to original principal:
Pool factor = current pool principal / original pool principal.
If an original pool was 100 million and the current factor is 0.72, the current principal is approximately 72 million under the factor convention.
The factor declines over time because of scheduled amortisation and prepayment. It is therefore a compact state variable connecting historical paydown with future cash-flow projection.
A factor must not increase in an ordinary amortising pool
For a conventional pass-through with no unusual correction or pool restructuring:
Factort+1 ≤ Factort.
An increasing factor is a high-value diagnostic for data restatement, identifier mismatch, unit error or incorrect balance loading.
PSA: a benchmark prepayment curve
The Public Securities Association benchmark, commonly called PSA, is a standardized prepayment-speed convention.
Under the commonly cited 100% PSA schedule:
- CPR begins at 0.2% in month 1;
- rises by 0.2 percentage points per month;
- reaches 6% CPR in month 30;
- remains at 6% thereafter.
Oracle’s current financial-services documentation publishes this standard form. A 200% PSA scenario doubles the prescribed CPR at each seasoning point.
PSA is useful as a benchmark curve, not as proof that a particular pool will actually prepay at that speed.
Seasoning: young pools behave differently
New mortgages often have lower immediate refinancing and turnover activity because borrowers have only recently completed the purchase or refinance process.
The PSA ramp captures a stylised seasoning effect by allowing prepayment speed to rise during the first 30 months.
Real pools can season differently. Loan purpose, interest-rate environment, borrower incentives and housing turnover all matter.
Refinancing incentive
A major prepayment driver is the relationship between a borrower’s existing mortgage rate and the rate available on a new mortgage.
When market mortgage rates fall sufficiently below the borrower’s note rate, refinancing can reduce monthly payment or borrowing cost, increasing prepayment incentive. The SEC’s MBS market report identifies refinancing and moving as major sources of prepayment and notes the importance of interest-rate conditions.
The response is not perfectly deterministic because refinancing has costs and borrower-specific frictions.
Burnout: the pool population changes after refinancing waves
Suppose rates fall and the borrowers most willing and able to refinance exit the pool quickly. The borrowers left behind may be less responsive to another similar rate incentive.
This is burnout: historical prepayment changes the composition of survivors.
A model that uses only current refinancing incentive and ignores prior refinancing waves can repeatedly overpredict prepayment.
Turnover prepayments do not disappear when refinancing is unattractive
Borrowers also prepay because homes are sold, loans are refinanced for cash-out reasons, properties are transferred or balances are otherwise paid off.
Therefore high mortgage rates can slow refinance-driven prepayment without reducing CPR to zero.
A strong model separates or at least recognises refinance, housing-turnover and other components.
Contraction risk
When rates fall, prepayments can accelerate. Principal returns sooner than expected, shortening average life.
This is contraction risk.
Economically, the investor receives more principal precisely when comparable new fixed-income yields may be lower. The projected duration can therefore fall as rates fall.
Extension risk
When rates rise, refinancing incentives weaken. Prepayments can slow, principal remains outstanding longer, and the security’s effective life extends.
The SEC describes this as extension risk: rising rates can lengthen mortgage-backed-security duration because principal arrives later than expected.
This behaviour is one reason mortgage-backed securities can become more rate-sensitive when rates rise.
Negative convexity
A plain non-callable bond often has positive price convexity: duration tends to decline as yields rise and increase as yields fall in a favourable curvature pattern.
An MBS embeds borrower prepayment rights. Falling rates can accelerate prepayments and cap upside by returning principal early; rising rates can slow prepayments and extend duration.
This can produce negative convexity over important regions.
The cash-flow engine is therefore upstream of option-adjusted valuation: rate scenarios change prepayment, prepayment changes cash flows, and cash flows change value.
Recursive monthly cash-flow algorithm
A stylised pool engine can execute:
- read beginning balance;
- calculate scheduled interest;
- calculate scheduled payment and scheduled principal;
- derive CPR for the month from the prepayment model;
- convert CPR to SMM;
- apply SMM to the post-scheduled balance;
- calculate unscheduled principal;
- calculate ending balance;
- calculate investor pass-through interest and principal;
- advance pool age and repeat.
The ending balance from month t becomes the beginning balance for month t+1. This makes prepayment path-dependent even before sophisticated borrower behaviour is added.
A simplified monthly example
Assume:
- beginning pool balance = 10,000,000;
- scheduled principal = 8,000;
- CPR = 6%;
- SMM ≈ 0.514%.
Post-scheduled balance:
9,992,000.
Estimated prepayment:
9,992,000 × 0.00514 ≈ 51,350.
Ending balance:
9,940,650.
Total principal for the month is scheduled principal plus prepayment:
8,000 + 51,350 = 59,350.
The next month’s interest is calculated on the lower surviving balance.
Weighted-average statistics are summaries, not full state
Pool disclosures often contain quantities such as:
- weighted-average coupon;
- weighted-average maturity;
- weighted-average loan age;
- weighted-average loan rate;
- geographic concentration;
- loan purpose and occupancy mixes.
Two pools can share the same averages but have very different underlying distributions. A pool with half very-high-coupon and half low-coupon loans can respond differently to a rate shock from a pool where every loan sits near the average.
This is an information-loss boundary for aggregate models.
Loan-level versus cohort versus pool-level models
Loan-level models project each mortgage separately using borrower and loan attributes, then aggregate.
Cohort models group similar loans and project groups.
Pool-level models work from aggregate attributes and historical pool behaviour.
Loan-level modelling can capture heterogeneity but requires more data and computational work. Pool-level models are transparent and fast but can miss distributional effects.
Defaults and liquidations are not identical to voluntary prepayment
A mortgage can leave a pool because of voluntary payoff, delinquency resolution, repurchase, liquidation or other servicing action.
A cash-flow engine should not simply label every principal disappearance “refinancing.”
Agency guarantee and remittance mechanics can also alter timing relative to borrower cash collection. The exact treatment belongs to the security’s program documentation.
Inputs and outputs
A robust MBS cash-flow engine can require:
- original and current principal balance;
- pool factor;
- loan or pool coupon data;
- pass-through coupon;
- remaining term;
- pool age;
- scheduled amortisation rules;
- servicing and guaranty-fee treatment;
- prepayment model and parameters;
- mortgage-rate/refinancing inputs;
- housing-turnover assumptions;
- delinquency, buyout or liquidation assumptions where relevant;
- payment-delay/remittance conventions.
Outputs can include monthly scheduled interest, scheduled principal, prepayments, total principal, ending balance, pool factor, average life, cash-flow timing and scenario sensitivities.
Evidence polarity: what supports confidence?
Evidence for a cash-flow projection includes exact reconciliation to reported historical factors, correct scheduled amortisation, CPR/SMM conversions that round-trip, realistic seasoning and refinancing response, stable pool identifiers, cash flows that sum to principal conservation, and out-of-sample prepayment speeds close to observed behaviour across several rate regimes.
Evidence against confidence includes a factor that rises unexpectedly, projected principal exceeding remaining balance, prepayment applied before scheduled amortisation without justification, constant CPR across radically different rate environments, repeated overprediction after prior refinancing waves, or projected average life that barely changes under large refinancing shocks.
Principal-conservation invariant
Ignoring accounting timing adjustments, the projected principal must satisfy:
Beginning balance = ending balance + scheduled principal + unscheduled principal.
Over the entire life:
Σ principal returned = original modeled principal.
If the model returns 100.4% of original principal, the problem is not “forecast uncertainty.” It is arithmetic or state-transition failure.
Counterexample: CPR is not the fraction prepaid that month
A 12% CPR does not mean 12% of the pool prepays every month.
It is annualised. The corresponding SMM is:
1 − 0.881/12,
which is much smaller than 12%.
Confusing CPR with SMM destroys the projected pool life.
Counterexample: CPR/12 is not exact SMM
At low rates the approximation can look harmless. At high CPR the difference compounds across many months.
The exact conversion preserves the survival relationship:
(1 − SMM)12 = 1 − CPR.
Counterexample: falling rates do not guarantee every borrower refinances
A borrower may face refinancing costs, fail underwriting, have a small remaining balance, plan to move soon, or simply choose not to refinance.
A deterministic trigger such as “rate incentive > 50 bps means immediate payoff” creates unrealistic cliff behaviour unless the specific model intentionally uses such a rule.
Counterexample: the same CPR path can have different economic value under different rate paths
Cash-flow timing and discount rates interact. A 10% CPR path in a low-rate environment does not necessarily have the same price implication as the same principal timing discounted under high rates.
Cash-flow projection and valuation must therefore remain distinct modules even though they are linked.
Weak links in implementation
Factor/date mismatch. A factor from one month is paired with another month’s balance.
CPR/SMM confusion. Annual and monthly speeds are mixed.
Amortisation ordering. Prepayment is applied to the wrong balance.
Fee-rate confusion. Note rate, WAC and pass-through coupon are treated as identical.
Pool aggregation loss. Average coupon hides a bimodal refinancing population.
Burnout omission. Surviving borrowers are assumed to behave like the original pool.
Rate-input mismatch. Refinancing incentives use a market rate from the wrong date or mortgage product.
Static prepayment under rate scenarios. Rates move but CPR is held fixed even though the use case requires dynamic behaviour.
Rounding drift. Monthly balance rounding accumulates into material principal error.
Diagnostics: how to test the engine
- zero-prepayment test: CPR = 0 should reduce to pure scheduled mortgage amortisation.
- full-payoff test: an extreme valid prepayment scenario should never return more than remaining principal.
- CPR/SMM round-trip: convert CPR→SMM→CPR and recover the input within numerical tolerance.
- principal-conservation test: scheduled plus unscheduled principal plus ending balance equals beginning balance every month.
- factor-replay test: recreate historical published factors from known cash-flow history where data permit.
- PSA ladder test: verify 100% PSA rises 0.2 percentage points per month to 6% in month 30.
- rate-shock test: falling mortgage rates should generally increase refinance-driven prepayment in the model; rising rates should generally slow it, subject to model structure.
- burnout test: two pools with identical current coupon but different prior refinance histories should not necessarily receive identical prepayment forecasts.
- aggregation test: compare loan-level and weighted-average projections on a deliberately heterogeneous pool.
- average-life test: faster prepayment should shorten projected average life.
What would falsify confidence?
Confidence should be withdrawn if projected balances do not reconcile; CPR/SMM conversions fail; historical factors cannot be reproduced; the model shows no meaningful prepayment response to large refinancing-incentive changes when it claims to model that mechanism; rate shocks produce the wrong direction of contraction/extension behaviour without an explained reason; or loan-level and pool-level projections diverge materially in cases where heterogeneity is known to matter.
Alternatives
Constant-CPR and PSA curves are transparent scenario tools. Logistic or hazard models can estimate borrower-level payoff probability from loan and macro variables. Competing-risk models can separate refinancing, home sale and default. Machine-learning models can capture nonlinear interactions but require strong controls against drift and leakage. Full option-adjusted valuation can simulate rates and conditional prepayments together.
No prepayment model is “the mortgage truth.” It is a conditional behavioural forecast that should be challenged across rate regimes and borrower populations.
How this connects to the surrounding knowledge estate
Monthly amortisation relies on exact money arithmetic and interest-accrual conventions. Payment timing uses the financial date engine. Prepayment assumptions feed the mortgage-servicing-right valuation because servicing cash flows disappear when loans prepay. The same borrower option creates the negative-convexity problem addressed by option-adjusted valuation.
Verification and update triggers
Preserve pool identifiers, factor history, prepayment-model version, mortgage-rate source, loan attributes, servicing/guaranty assumptions, amortisation conventions and payment-delay rules. Revalidate after major refinancing waves, housing-turnover shifts, underwriting changes, new disclosure fields, servicing-policy changes, material model drift or recurring factor/cash-flow reconciliation breaks.
Primary and high-quality references
- Fannie Mae, General Information About Fannie Mae’s MBS Program, including scheduled principal/interest remittance and servicing/guaranty-fee structure.
- Fannie Mae, Servicing Fees for Portfolio and MBS Mortgage Loans.
- U.S. Securities and Exchange Commission, Staff Report: Enhancing Disclosure in the Mortgage-Backed Securities Markets, including prepayment-risk discussion.
- Oracle Financial Services documentation, PSA Method, documenting the standard 100% PSA ramp.
- Fannie Mae Capital Markets, Mortgage-Backed Securities resources, for current program and disclosure materials.
Educational boundary: This article explains mortgage-pool cash-flow mathematics and prepayment modelling. It is not a security recommendation or personalized financial advice.
