Mortgage Spread: 30-Year Mortgage Rate Minus 10-Year Treasury Yield Weekly Since 1971

The Mortgage Spread is an Eco3min weekly composite that measures the premium of the 30-year fixed mortgage rate over the 10-year Treasury yield, isolating the credit, prepayment, and liquidity premium baked into US housing finance since 1971.

The Mortgage Spread is an Eco3min-defined weekly composite that measures the premium of the 30-year fixed mortgage rate over the 10-year Treasury yield. Calculated as MORTGAGE30US (Freddie Mac Primary Mortgage Market Survey) minus DGS10 (US Treasury constant-maturity yield) and converted to basis points, the Mortgage Spread isolates the credit, prepayment, and MBS market premium embedded in US housing finance. Historically anchored in a 150–200 bps range, it widened to over 300 bps in 2022–2023 — a level not seen since the early 1980s — as the Federal Reserve shifted from MBS buyer to net seller. Because the Freddie Mac component is provider-copyrighted, Eco3min publishes the full construction recipe rather than a mirrored file: the series is reproducible in a few lines of code from the two public FRED components below.

Indicator: Mortgage Spread — 30Y Mortgage vs 10Y Treasury (1971–present) · Eco3min composite


US 30-Year Mortgage Rate — nominal component of the spread
FRED chart — MORTGAGE30US

Source: Federal Reserve Bank of St. Louis (FRED). Chart generated and served by FRED.

The chart above shows the nominal mortgage-rate component, generated and served by FRED. The spread itself — MORTGAGE30US minus DGS10 — is computed in the Python and R examples further down this page.


Macro Takeaway

The Mortgage Spread measures something the 10-year Treasury yield alone cannot: the cost of borrowing for housing after intermediaries, MBS investors, and prepayment hedgers extract their compensation. Two equally moving forces — the Fed’s balance sheet composition and primary dealer balance-sheet capacity — determine whether the spread sits at its 150–200 bps long-run norm or expands into stress territory.

When the spread widens while the 10-year Treasury yield is stable, the marginal mortgage borrower faces a tighter financial condition than the Treasury curve alone would suggest. The 2022–2023 episode — during which the spread crossed 300 bps for the first time since 1981 — coincided with the Fed’s MBS runoff, the largest realignment of MBS demand in a generation.


Construction & Components

The Mortgage Spread isolates the premium baked into 30-year mortgage pricing once the risk-free Treasury yield is removed. By construction, it captures the residual: MBS investor compensation, prepayment optionality, primary-dealer profit, and credit/liquidity risk.

Formula:

Mortgage Spread (bps) = (MORTGAGE30US − DGS10) × 100

Components:

  • 30-Year Fixed Mortgage Rate — FRED ticker MORTGAGE30US — weekly, published Thursdays by Freddie Mac via the Primary Mortgage Market Survey (PMMS). Represents the conforming 30-year fixed-rate offer rate to qualified borrowers. © Freddie Mac (citation required).
  • 10-Year US Treasury Constant-Maturity Yield — FRED ticker DGS10 — daily, published by the US Treasury via H.15 Selected Interest Rates. Constant-maturity interpolation of the on-the-run Treasury curve. Public domain.

Frequency reconciliation: MORTGAGE30US is weekly Thursday; DGS10 is daily. The construction aligns to the MORTGAGE30US release calendar, pairing each weekly mortgage observation with the same-day (Thursday) DGS10 close — an inner join on the observation date, as implemented in the code below. No interpolation is applied to either component.

Coverage: 1971-04-02 to present, limited by the start of the Freddie Mac PMMS survey. The earliest decade (1971–1981) reflects pre-securitization mortgage pricing and is comparatively thin in observation density.


Dataset Overview

IndicatorMortgage Spread — 30Y Mortgage vs 10Y Treasury (1971–present)
GeographyUnited States
FrequencyWeekly
Period1971–present
Variablesobservation_date, MORTGAGE30US, DGS10, spread_bps
FormatReproducible from public FRED components (code below)
SourcesFreddie Mac (MORTGAGE30US) & US Treasury (DGS10), via FRED
Last updatedWeekly with each PMMS release — see FRED

Licensing note: the MORTGAGE30US component is © Freddie Mac and flagged “Copyrighted: Citation Required” on FRED, so Eco3min does not host a pre-merged file of the spread. Both components are freely downloadable from FRED, and the composite is a pure arithmetic transformation reproduced by the code below.


Dataset Variables

Running the code below produces a table with the following columns.

ColumnTypeDescription
observation_dateDate (YYYY-MM-DD)Weekly observation date (Thursday)
MORTGAGE30USFloat30-year fixed mortgage rate (%)
DGS10Float10-year Treasury yield, same-day close (%)
spread_bpsFloatMortgage spread in basis points

FRED Direct CSV Access — Source Components

The Mortgage Spread is constructed from two FRED series that can be downloaded individually:

https://fred.stlouisfed.org/graph/fredgraph.csv?id=MORTGAGE30US
https://fred.stlouisfed.org/graph/fredgraph.csv?id=DGS10

Both endpoints return the raw component data in CSV format — no download or API key required.


Reproducing the Spread in Python

import pandas as pd

base = "https://fred.stlouisfed.org/graph/fredgraph.csv?id="
m30 = pd.read_csv(base + "MORTGAGE30US", parse_dates=["observation_date"], na_values=".")
t10 = pd.read_csv(base + "DGS10",        parse_dates=["observation_date"], na_values=".")

# Inner join on the date: each Thursday PMMS release paired
# with the same-day DGS10 close (no interpolation)
df = m30.merge(t10, on="observation_date", how="inner").dropna()
df["spread_bps"] = (df["MORTGAGE30US"] - df["DGS10"]) * 100

print(df.tail())
print(df["spread_bps"].describe())

Reproducing the Spread in R

library(readr)
library(dplyr)

base <- "https://fred.stlouisfed.org/graph/fredgraph.csv?id="
m30 <- read_csv(paste0(base, "MORTGAGE30US"), na = ".")
t10 <- read_csv(paste0(base, "DGS10"),        na = ".")

df <- inner_join(m30, t10, by = "observation_date") |>
  filter(!is.na(MORTGAGE30US), !is.na(DGS10)) |>
  mutate(spread_bps = (MORTGAGE30US - DGS10) * 100)

summary(df$spread_bps)

Both examples pull the components directly from FRED and reproduce the full weekly spread series since 1971 in a few lines — no download or API key required.


Methodology

The Mortgage Spread pairs the latest Freddie Mac PMMS observation (MORTGAGE30US) with the matching Thursday DGS10 close, joins the two series on the date key, and computes (MORTGAGE30US − DGS10) × 100 to express the result in basis points. No smoothing, interpolation, or proprietary adjustment is applied to the underlying data — the composite is a pure arithmetic transformation of two public FRED series, which is why it is published here as a reproducible recipe rather than a hosted file.

Historical revisions to either component propagate automatically each time the recipe is re-run against the live FRED endpoints.


Data Quality & Provider Notes

The Mortgage Spread inherits the release timing of its slowest component. MORTGAGE30US is published weekly on Thursdays by Freddie Mac, so the composite cannot be fresher than a Thursday-of-the-week observation, even though DGS10 is updated daily. Users seeking intra-week dynamics should refer to the 10-year Treasury yield directly.

MORTGAGE30US is a survey-based offer rate (the rate lenders are quoting), not an executed transaction rate. Effective borrower cost can differ by 10–30 bps through points and fees, independently of the headline rate. DGS10 revisions are infrequent but can occur when the Treasury restates settlement-day data; such revisions propagate to the composite on the next re-run of the recipe.

No alternative public series replicates this exact construction. Bankrate, Optimal Blue, and the MBA Weekly Applications Survey offer adjacent mortgage rate measures but each defines the rate differently (Bankrate is daily, Optimal Blue is locked-rate, MBA is application-weighted), making direct substitution non-trivial.


What This Indicator Captures (And What It Doesn’t)

The Mortgage Spread is a useful diagnostic for the housing finance channel, but it conflates several distinct risk premia. Reading it as a single signal can be misleading. The cleaner read separates the layers in the mortgage-Treasury spread, decomposed component by component.

What it captures:

  • The aggregate premium MBS investors require above risk-free Treasuries to hold callable mortgage cashflows.
  • Prepayment optionality: the cost of the borrower’s right to refinance, which is highest when rate volatility is high.
  • Shifts in the marginal MBS buyer — particularly the Federal Reserve’s transition between net purchaser, holder, and net seller of agency MBS.
  • Primary dealer balance-sheet capacity to warehouse and securitize new originations.

What it does NOT capture (common misinterpretations):

  • Effective borrower cost. MORTGAGE30US excludes points, lender fees, and locked-vs-offered differentials. Two periods with identical headline spreads can differ by 20–40 bps in true borrower cost.
  • Credit risk on the underlying loans. Conforming mortgages eligible for agency securitization carry a US government implicit guarantee. The spread reflects MBS market dynamics, not borrower default risk.
  • Housing affordability. Affordability depends on the level of mortgage rates, home prices, and income jointly. A compressing spread can coexist with worsening affordability if the Treasury yield rises.
  • A timing signal for housing activity. The relationship between the spread and home sales operates with variable lags and is conditioned on inventory, demographics, and the regional concentration of refinanceable loans. Spreads have widened during both expansions and downturns.

Used in combination with the underlying 10-year Treasury yield and the 10Y–2Y spread, the Mortgage Spread helps decompose housing finance stress into its risk-free and risk-premium parts — without claiming to be a single-number summary of the housing cycle.


Historical Regimes

Five episodes define the Mortgage Spread distribution since 1971.

  • 1971–1981 — Pre-securitization baseline: the spread oscillated between 100 and 250 bps in a market where MBS issuance was nascent and depository institutions held the vast majority of mortgage credit. Volatility of the spread was lower than the volatility of either component.
  • 1981–1982 — Volcker shock peak: the spread briefly exceeded 300 bps as the Fed Funds rate spiked past 19% and Treasury volatility hit historical highs, making mortgage prepayment options nearly worthless and forcing extreme compensation for MBS holders.
  • 1990s–2007 — Securitization normalization: the Mortgage Spread stabilized in a 150–200 bps range as MBS markets deepened, prepayment models matured, and primary dealer intermediation became routine.
  • 2008–2021 — QE compression era: the Fed’s QE1, QE2, QE3, and pandemic-era MBS purchases drove the spread to durably low levels, frequently below 150 bps and at times below 130 bps. The Fed became the marginal MBS buyer.
  • 2022–2024 — Quantitative tightening repricing: the spread crossed 300 bps in October 2022 for the first time since 1981 and remained elevated through 2024 as the Fed shifted to MBS runoff, banks reduced duration exposure after the SVB episode, and primary dealer warehousing capacity tightened. Cross-referencing the 10-year Treasury yield over the same window shows that approximately half of the rise in mortgage rates came from the spread itself, not from the Treasury curve.

Related Macroeconomic Datasets

The Mortgage Spread sits within the US Treasury complex: it depends on the 10-year yield as a base, on the Fed Funds rate via duration positioning, and on the yield curve slope via prepayment dynamics. The datasets below cover the rate environment in which the spread operates.


Macroeconomic Dataset Hub

This dataset is part of the Eco3min macro-financial data repository.

Explore the Eco3min Dataset Hub


Sources

  • Freddie Mac — Primary Mortgage Market Survey, MORTGAGE30US series, weekly (Thursdays), via FRED
  • US Treasury — H.15 Selected Interest Rates, DGS10 constant-maturity yield, daily, via FRED
  • Eco3min Research — composite definition and reproducible construction recipe

Dataset Reference

Last updated — 4 August 2026

Disclaimer – Financial Information: The analyses, commentary, and content published on eco3min.fr are provided for informational and educational purposes only. They do not constitute investment advice or a solicitation to buy or sell financial instruments. Past performance is not indicative of future results. All investment decisions involve risk and are the sole responsibility of the reader.