Reader question: A normal bond has a known coupon schedule and maturity date. A mortgage-backed security does not: homeowners can refinance, sell their homes or repay principal early. If future cash flows change when interest rates change, how can an algorithm calculate a spread that is meaningfully comparable with other fixed-income securities?
The answer is option-adjusted spread (OAS). Instead of pretending the mortgage cash-flow schedule is fixed, the valuation engine simulates many possible interest-rate paths. For each path, it projects borrower prepayments, builds path-specific principal and interest cash flows, discounts those cash flows with the simulated benchmark rates plus a trial spread, averages the present values across paths, and changes the spread until the model price matches the observed market price.
That spread is the OAS under the chosen model.
This last phrase matters. OAS is not a directly observed physical constant. It depends on the interest-rate model, volatility assumptions, prepayment model, market-data inputs, cash-flow conventions and numerical solver.
What this page owns — and what it does not
This page owns:
mortgage pool state + simulated rate paths → path-dependent prepayments → monthly MBS cash flows → discounted path values → average model price → root-solved OAS.
It does not replace yield-curve construction, bond yield root-finding, or duration and convexity. Those are upstream or adjacent tools. Mortgage OAS specifically prices securities whose cash flows respond to borrower prepayment behaviour and interest-rate paths.
This is mathematical fixed-income education, not a recommendation to buy, sell or hedge any mortgage-backed security and not personalized financial advice.
Why an ordinary yield spread is not enough
For a bullet bond, future contractual cash flows are mostly fixed. A yield or spread can therefore be solved against one deterministic schedule.
For a mortgage pool, principal timing is uncertain.
When mortgage rates fall, refinancing can become attractive. Borrowers may repay old mortgages early and replace them with cheaper loans. The MBS investor gets principal back sooner, often precisely when reinvestment rates are lower.
When rates rise, refinancing slows. Principal remains outstanding longer and the security’s effective maturity can extend.
The cash flows therefore depend on the same interest-rate environment used to discount them.
The embedded option belongs to the borrower
A fixed-rate mortgage borrower generally has the ability to prepay principal.
Economically, that gives the borrower an option and leaves the MBS investor short that option.
The New York Fed describes agency MBS as subject to uncertainty in cash-flow timing from prepayment risk. Federal Reserve research also describes mortgages and MBS as exhibiting negative convexity because refinancing activity changes with rates.
The valuation problem is therefore not merely:
discount fixed cash flows.
It is:
simulate rates → infer borrower behaviour → generate cash flows → discount those cash flows.
Step 1: reconstruct the mortgage pool
An OAS engine needs a current pool state.
Inputs can include:
- current unpaid principal balance;
- original principal balance;
- pool factor;
- weighted-average coupon;
- pass-through coupon;
- weighted-average maturity;
- loan age;
- geographic mix;
- loan size distribution;
- borrower credit and loan-to-value characteristics where available;
- historical prepayment speeds;
- servicing and guaranty-fee structure.
Fannie Mae’s MBS program documentation makes an important distinction between the mortgage rate paid by borrowers and the pass-through rate received by MBS investors because servicing and guaranty fees sit between them.
Pool factor
A pool factor tracks how much original principal remains.
Conceptually:
Pool Factor = Current Principal Balance / Original Principal Balance.
If original principal was $100 million and $72 million remains:
Pool Factor = 0.72.
The factor evolves as scheduled amortisation and prepayments return principal.
Step 2: generate the scheduled mortgage cash flow
For each underlying amortising mortgage, the contractual monthly payment can be decomposed into interest and scheduled principal.
At pool level:
Total Principal Paid = Scheduled Principal + Unscheduled Prepayment.
Interest is calculated on the outstanding balance according to the underlying loan and pass-through conventions.
The crucial uncertainty lies in unscheduled principal.
Step 3: describe prepayment with SMM and CPR
Two common measures are:
- SMM — Single Monthly Mortality, the monthly fraction of eligible remaining principal that prepays;
- CPR — Conditional Prepayment Rate, the annualised prepayment measure.
The standard conversion is:
SMM = 1 − (1 − CPR)1/12.
Equivalently:
CPR = 1 − (1 − SMM)12.
FHFA regulations also use SMM and annualised CPR concepts in Enterprise MBS definitions.
From SMM to monthly prepayment
If beginning balance after scheduled principal is B and monthly SMM is s:
Unscheduled Prepayment = s × B.
That prepayment reduces the balance used for future interest.
The cash-flow engine therefore updates principal recursively month by month.
A simple monthly example
Suppose after scheduled principal the remaining balance is $99 million and SMM is 1%.
Unscheduled prepayment:
$99m × 1% = $0.99m.
New balance:
$99m − $0.99m = $98.01m.
Next month’s interest and principal calculations start from the lower balance.
PSA is a benchmark, not a behavioural truth
The PSA benchmark provides a simple seasoning schedule for prepayments. It is useful as a common reference speed.
But real prepayment behaviour depends on much more:
- refinancing incentive;
- loan age and seasoning;
- burnout;
- seasonality;
- housing turnover;
- borrower credit;
- loan size;
- geography;
- transaction costs;
- home-price and employment conditions.
An OAS engine that uses one fixed PSA speed on every interest-rate path has not really modelled the embedded option.
Refinancing incentive
A basic prepayment driver is the difference between the borrower’s existing mortgage rate and the rate available for a new mortgage.
Conceptually:
Refi Incentive = Existing Mortgage Rate − Current Refinance Rate.
When this difference becomes sufficiently positive to overcome transaction costs and borrower frictions, refinancing probability tends to rise.
San Francisco Fed research describes a refinancing threshold effect: prepayments rise as current yields decline relative to the existing mortgage coupon.
Burnout
Suppose rates fall and many highly refinance-sensitive borrowers leave the pool.
The borrowers who remain may be less responsive to future refinancing opportunities.
This is burnout.
A model that ignores burnout can repeatedly predict too much refinancing after earlier waves have already removed the most responsive loans.
Step 4: simulate interest-rate paths
The engine now needs possible future benchmark-rate scenarios.
A generic rate-path model can be represented as:
rt+1 = f(rt, curve, volatility, model parameters, random shock).
The exact model may be a short-rate model, an HJM-style framework, a lattice or another calibrated stochastic model.
The model should be calibrated so that the starting term structure is reproduced and relevant volatility information is represented consistently.
Why one deterministic rate forecast is not enough
Suppose the expected 10-year rate stays unchanged.
That does not mean mortgage optionality has zero value.
Two paths can have the same average endpoint:
- Path A: rates fall sharply first, triggering refinancing, then rise;
- Path B: rates rise first, suppressing refinancing, then fall.
The MBS cash flows can be very different because prepayment is path-dependent.
Step 5: run the prepayment model on every path
For path k and month t:
CPRk,t = g(rate path, refinance incentive, seasoning, burnout, seasonality, borrower characteristics).
Convert CPR to SMM, calculate unscheduled prepayment, update balance and continue.
This creates a different cash-flow schedule for every simulated path.
Path-dependent cash flows are the heart of OAS
For each path:
CFk,t = Interestk,t + ScheduledPrincipalk,t + Prepaymentk,t.
Because prepayment changes outstanding principal, it changes future interest and principal cash flows too.
Step 6: discount each path with a trial spread
Suppose the simulated benchmark discount rate for path k and time t is rk,t.
For trial OAS s, a stylised discrete discount factor is:
DFk,t(s) = 1 / (1 + rk,t + s)t
under the chosen teaching convention.
Then:
PVk(s) = Σ CFk,t × DFk,t(s).
Production implementations use precise curve, compounding and path-discounting conventions rather than this simplified annualised notation.
Step 7: average across paths
If there are K simulated paths:
Model Price(s) = (1/K) × Σ PVk(s).
With probability-weighted or lattice methods, the same principle appears as an expectation under the model’s pricing measure.
Step 8: solve for the OAS
The OAS is the spread s* satisfying:
Model Price(s*) = Observed Market Price.
Define:
F(s) = Model Price(s) − Market Price.
Then solve:
F(s*) = 0.
This is a root-finding problem, directly connecting mortgage OAS to the numerical techniques used in yield-to-maturity inversion.
Why bisection or Brent-style methods are attractive
Model price normally falls as the trial spread increases, making the OAS objective close to monotonic over sensible ranges.
A bracketed solver can therefore be robust:
- choose low and high spread guesses;
- verify market price is bracketed;
- evaluate model price;
- shrink the bracket;
- repeat until price error is below tolerance.
Newton methods can be faster but become fragile if numerical derivatives are noisy because Monte Carlo simulation introduces sampling noise.
Common random numbers reduce root-finding noise
If every trial spread uses a completely new set of random rate paths, the objective function itself jitters.
A cleaner implementation reuses the same simulated paths while solving for spread.
Then changes in model price are driven mainly by the spread rather than by fresh Monte Carlo randomness.
OAS versus Z-spread
A Z-spread discounts a fixed cash-flow schedule over a spot curve plus a constant spread.
Mortgage OAS allows cash flows to change across rate paths because the borrower option changes prepayment.
Therefore:
Z-spread includes embedded-option effects inside the apparent spread;
OAS attempts to remove the option effect through the cash-flow model.
The difference is model-dependent and should not be interpreted as a directly observable market price of the option in isolation.
Negative convexity emerges from borrower behaviour
A normal option-free bond often has positive convexity: as yields fall, price gains accelerate.
An MBS can behave differently.
When rates fall:
- refinancing accelerates;
- principal returns early;
- duration shortens;
- price upside is capped.
When rates rise:
- refinancing slows;
- principal stays outstanding;
- duration extends;
- price sensitivity can increase.
This asymmetric behaviour is negative convexity.
Federal Reserve research has documented this mechanism directly.
Effective duration from the OAS engine
Once an OAS model exists, interest-rate sensitivity can be measured by shocking the curve while keeping the calibrated spread fixed.
A common central-difference estimate is:
Effective Duration ≈ [P− − P+] / [2 × P0 × Δy].
where:
- P− is price after a downward rate shock;
- P+ is price after an upward rate shock;
- P0 is base price.
The prepayment model must be rerun under each shocked rate environment. Holding cash flows fixed would defeat the purpose.
Effective convexity
A central estimate is:
Effective Convexity ≈ [P− + P+ − 2P0] / [P0(Δy)2].
For a negatively convex MBS this value can become negative in refinance-sensitive regions.
OAS itself is model-dependent
Two firms can observe the same market price and calculate different OAS values because they use different:
- yield curves;
- volatility surfaces;
- rate models;
- prepayment models;
- pool-level data;
- servicing assumptions;
- Monte Carlo path counts;
- discounting conventions.
A quoted OAS without model metadata is therefore incomplete.
Inputs and outputs
A mortgage OAS engine can require:
- market price and settlement date;
- benchmark yield curve;
- interest-rate volatility inputs;
- rate-model calibration parameters;
- pool factor and current balance;
- pass-through coupon;
- mortgage coupon distribution;
- loan age and maturity;
- historical prepayment data;
- borrower/pool characteristics;
- prepayment-model coefficients;
- Monte Carlo path count and random seed;
- numerical solver bounds and tolerance.
Outputs can include:
- OAS;
- model price;
- expected weighted-average life;
- path distribution of principal timing;
- projected CPR/SMM;
- effective duration;
- effective convexity;
- option-cost diagnostics;
- scenario cash flows;
- model residuals and convergence statistics.
Evidence polarity: what supports confidence?
Evidence for confidence includes rate paths that reproduce the starting term structure, prepayment forecasts that are reasonably calibrated to realised behaviour, cash-flow totals that reconcile to pool balances, stable OAS under higher path counts, reproducible root-finding, realistic duration behaviour, and out-of-sample performance across refinancing and extension regimes.
Evidence against confidence includes OAS changing wildly with random seed, CPR insensitive to refinancing incentive, principal balances becoming negative, prepayments exceeding eligible principal, duration failing to shorten when rates fall in refinance-sensitive pools, or model price not converging monotonically as spread changes.
Failure mode: deterministic prepayment
Using one fixed CPR for every rate path removes the central rate-dependent option mechanism.
Diagnostic: shock rates materially up and down and confirm prepayment speeds respond in economically plausible directions.
Failure mode: no burnout
A model can repeatedly predict the same refinancing response after earlier waves should have removed the most responsive borrowers.
Diagnostic: compare seasoned refinance-heavy cohorts with fresh cohorts at the same current incentive.
Failure mode: curve/model inconsistency
The stochastic rate model can fail to reproduce the initial market yield curve.
Diagnostic: price benchmark zero-coupon cash flows under the simulation and compare with market discount factors.
Failure mode: volatility miscalibration
Embedded-option value is sensitive to the distribution of future rates.
Diagnostic: compare model-implied interest-rate option prices or volatilities with the calibration instruments.
Failure mode: Monte Carlo noise
A low path count can make OAS move several basis points simply because of random sampling.
Diagnostic: double path count repeatedly and track convergence bands.
Failure mode: fresh random paths inside the solver
The root function becomes noisy.
Diagnostic: fix random numbers across spread iterations.
Failure mode: impossible cash flows
Scheduled principal plus prepayment can exceed available balance.
Diagnostic: enforce cash-flow conservation each month.
Counterexample: a wider OAS is not automatically “better value”
A wide model OAS can arise because the model underestimates prepayments, misstates volatility, uses stale pool data or chooses a different benchmark curve.
Spread is evidence only inside a model.
Counterexample: two pools with the same coupon can have different OAS
Loan size, seasoning, geography, borrower characteristics and historical refinancing behaviour can create materially different prepayment profiles.
This is one reason specified pools can trade differently from generic TBA-deliverable pools.
Counterexample: falling rates do not guarantee a large MBS price gain
Falling rates can accelerate prepayments and shorten the asset just as discount rates become more favourable.
The embedded borrower option caps part of the upside.
Counterexample: agency guarantee does not eliminate market risk
Agency MBS can carry very low credit risk because of the guaranty structure while still carrying substantial interest-rate, prepayment, spread and convexity risk.
Credit protection does not fix cash-flow timing.
Diagnostics: how to test the engine
- cash-flow conservation: ending balance must equal beginning balance minus scheduled and prepaid principal.
- CPR/SMM identity: convert CPR to SMM and back and recover the original rate within tolerance.
- zero-prepayment test: set SMM = 0 and verify the engine collapses toward a deterministic amortising bond.
- full-prepayment test: force an extreme prepayment and verify principal never exceeds the available balance.
- rate-down test: refinance-sensitive pool should generally prepay faster when mortgage rates fall materially.
- rate-up test: prepayments should generally slow and duration extend when refinancing incentive disappears.
- curve-reproduction test: simulated discounting must reproduce initial benchmark prices.
- path-count test: OAS should stabilise as simulation paths increase.
- root-bracket test: model price at low/high spread guesses must bracket the market price.
- common-random-number test: repeated OAS solves with identical paths should be deterministic.
- out-of-sample test: compare projected prepayments with realised pool factors after several months.
What would falsify confidence?
Confidence should be withdrawn if the model cannot reproduce the starting yield curve; if prepayments do not respond to rate incentive; if cash flows violate principal conservation; if OAS materially changes with modest increases in path count; if solver convergence depends on random seeds; or if realised prepayments repeatedly fall outside the model’s plausible ranges without recalibration.
Alternatives and limits
OAS is useful but not unique.
Other views include:
- Z-spread under fixed cash flows;
- static prepayment scenario analysis;
- effective duration and convexity;
- weighted-average-life distributions;
- specified-pool pay-up analysis;
- empirical relative-value models;
- full loan-level valuation.
OAS becomes weakest when borrower behaviour changes structurally, market liquidity becomes discontinuous or model calibration instruments stop representing the risks embedded in the mortgage pool.
Verification and update triggers
Revalidate after:
- large mortgage-rate moves;
- major refinancing waves;
- changes in borrower refinancing costs;
- new pool-factor data;
- changes in servicing or guaranty structure;
- volatility-surface shifts;
- yield-curve methodology changes;
- persistent prepayment forecast errors;
- changes to prepayment model specification;
- material differences between specified-pool and TBA behaviour.
Primary and high-quality references
- Federal Reserve Bank of New York, MBS Market Dysfunctions in the Time of COVID-19, explaining agency MBS prepayment-risk heterogeneity and market structure.
- Federal Reserve Bank of San Francisco, Measuring Interest Rate Risk for Mortgage-Related Assets, explaining refinancing incentives, duration and negative convexity.
- Federal Reserve Board, Mortgage hedging, negative convexity and interest-rate dynamics research.
- Fannie Mae, General Information About Fannie Mae’s MBS Program, including scheduled principal/interest and servicing structure.
- Fannie Mae, Determining Eligibility for Loans Pooled into MBS, including pass-through and mortgage-rate relationships.
- 12 CFR §1248.1, FHFA definitions for Enterprise MBS, including SMM and annualised CPR concepts.
Educational boundary: This article explains public mortgage valuation mathematics and model diagnostics. It does not provide an investment recommendation, a live security valuation or personalized financial advice.

