wetin be 2s10s spread and how yield curve dey work
Di 2s10s spread na di gap between 10-year and 2-year Treasury yields. See how di yield curve dey work, wetin past inversions be like, and charts from real market data.
Di 2s10s spread na di gap between di 10-year US Treasury yield and di 2-year US Treasury yield: na di 10-year rate minus di 2-year rate. Wen di number positive, e mean sey longer-term borrowing dey pay pass shorter-term borrowing — na so e dey normally be. Wen e turn negative, di yield curve don invert, condition wey don show face before most modern US recessions and wey traders dey check every day.
Every figure for dis page na from stored query against real Treasury yield data — expand any panel below make you see di exact SQL behind am.
Wetin be yield curve?
Bond yield na di annualized return wey you lock in wen you buy am for today price and hold am reach maturity — di bond-market version of di income wey stocks dey share as cash dividends. US Treasury dey borrow for many maturities at once, from one month go reach 30 years, and each maturity dey trade for im own yield. Di yield curve na dat full menu for one point in time: yields wey dem plot from di shortest maturity for left go di longest for right.
Di two ends of di curve dey answer different questions. Short maturities dey near di Federal Reserve policy rate — 1-month bill mostly dey price where overnight money dey right now. Long maturities dey bundle ten years or more of expected short rates plus term premium, di extra yield wey investors dey demand for tying money up longer and living with bigger price swings along di way.
How to read di yield curve: normal, flat, and inverted
Three shapes cover most of wetin you go hear about:
- Normal (upward-sloping): each longer maturity dey yield small more pass di one before am.
- Flat: short and long yields dey nearly on top of each other.
- Inverted: short maturities dey out-yield long ones — di line dey slope downward.
Na here di actual curve dey, using di most recent published yield for each maturity:
The exact SQL behind every number
SELECT
m.1 AS maturity,
round(m.2, 2) AS yield_pct
FROM
(
SELECT arrayJoin([
('1 month', argMaxIf(yield_1_month, date, isNotNull(yield_1_month))),
('3 month', argMaxIf(yield_3_month, date, isNotNull(yield_3_month))),
('1 year', argMaxIf(yield_1_year, date, isNotNull(yield_1_year))),
('2 year', argMaxIf(yield_2_year, date, isNotNull(yield_2_year))),
('5 year', argMaxIf(yield_5_year, date, isNotNull(yield_5_year))),
('10 year', argMaxIf(yield_10_year, date, isNotNull(yield_10_year))),
('30 year', argMaxIf(yield_30_year, date, isNotNull(yield_30_year)))
]) AS m
FROM global_markets.treasury_yields
WHERE date >= today() - INTERVAL 30 DAY
)As of di latest data, di 1-month bill yield na 3.76% while di 30-year bond yield na 5.09% — upward slope from left to right, di "normal" shape.
How dem dey calculate di 2s10s spread?
Take di 10-year yield, comot di 2-year yield. Na im be di whole formula. Dem dey usually quote di result for basis points (bps) — one basis point na one one-hundredth of a percentage point, so spread of 0.50 percentage points na 50 bps.
Di word "spread" just mean gap between two rates or prices. Na di same idea as di bid-ask spread for stock, but dem apply am to two points on di Treasury curve instead of two quotes on one ticker.
Why dis two maturities? Di 2-year dey concentrate di market view of Fed policy over di next couple of years, while di 10-year na di benchmark long rate wey dey behind mortgage and corporate borrowing costs. Dia difference dey compress di slope of di whole curve into one number. For di macro backdrop wey dose rates dey price — inflation and di labor market — check where inflation and jobs data stand for mid-year.
Di yield curve still dey inverted? Di 2s10s today
The exact SQL behind every number
SELECT
date AS as_of,
round(yield_2_year, 2) AS two_year_pct,
round(yield_10_year, 2) AS ten_year_pct,
round(yield_10_year - yield_2_year, 2) AS spread_pct,
round((yield_10_year - yield_2_year) * 100) AS spread_bps
FROM global_markets.treasury_yields
WHERE isNotNull(yield_10_year) AND isNotNull(yield_2_year)
ORDER BY date DESC
LIMIT 1As of 2026-07-16, di 2-year Treasury yield na 4.16% and di 10-year yield na 4.57%, wey put di 2s10s spread at 0.41 percentage points, or 41 bps. Dat reading positive — for di latest close for dis data, di curve no dey inverted.
Twenty years of di 2s10s spread, month by month
Spread for one day na snapshot; di story dey inside di series. Di chart below dey average di daily 2s10s by month over di last 20 years. Di line wey matter pass na zero: every dip below am na inversion.
The exact SQL behind every number
SELECT
toStartOfMonth(date) AS month,
round(avg(yield_10_year - yield_2_year), 2) AS spread_pct
FROM global_markets.treasury_yields
WHERE date >= toStartOfMonth(now()) - INTERVAL 20 YEAR
AND date < toStartOfMonth(now())
AND isNotNull(yield_10_year)
AND isNotNull(yield_2_year)
GROUP BY month
ORDER BY monthDi window open small below zero, at -0.03 percentage points — di tail end of di mid-2000s inversion. Di long stretch under di zero line for di right side of di chart na di 2022–2024 episode, di one wey most readers go remember. Di most recent full month for di window average na 0.36 percentage points.
Every 2s10s inversion for di data: dates, depth, duration
Chart pages make you dey eyeball di crossings; query fit list dem precisely. Here, inverted close na any day di 10-year finish below di 2-year, and inverted closes wey separate by more than 60 calendar days dem dey treat as separate episodes.
The exact SQL behind every number
WITH inverted_closes AS
(
SELECT
date,
round((yield_10_year - yield_2_year) * 100) AS spread_bps
FROM global_markets.treasury_yields
WHERE isNotNull(yield_10_year) AND isNotNull(yield_2_year)
AND yield_10_year < yield_2_year
),
flagged AS
(
SELECT
date,
spread_bps,
if(dateDiff('day', lagInFrame(date, 1, date) OVER (ORDER BY date ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), date) > 60, 1, 0) AS starts_new_episode
FROM inverted_closes
),
episodes AS
(
SELECT
date,
spread_bps,
sum(starts_new_episode) OVER (ORDER BY date ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS episode_id
FROM flagged
)
SELECT
min(date) AS first_inverted_close,
max(date) AS last_inverted_close,
count() AS inverted_closes,
min(spread_bps) AS deepest_bps
FROM episodes
GROUP BY episode_id
ORDER BY first_inverted_closeDi table hold 11 episodes, back to di late 1970s. Di deepest come first: di 1978–1980 episode bottom at -241 bps. Di longest na di most recent: between 2022-07-06 and 2024-09-05, di 2s10s close inverted for 539 trading days, e reach deepest close of -108 bps. For di other extreme, di August 2019 episode last just 3 closes, and early-April 2022 dip only 2.
Inversions and recessions: wetin di record show
Di 2s10s na something wey dem dey track well-well as recession indicator, so e good make we dey precise about wetin di record show and wetin e no show. Recession start dates no be market data — dem come from di NBER business-cycle chronology, no be from query. Per dat chronology, US recessions start for January 1980, July 1981, July 1990, March 2001, December 2007, and February 2020. Each of dose start dates follow period for di table above wen di 2s10s close inverted.
Di record dey messy for di other direction. Di mid-1998 episode (27 inverted closes) follow by almost three more years of expansion before di 2001 recession start. Di 2022–2024 episode — di longest for di table — no get any declared US recession follow am through mid-2026. And di lead time between first inverted close and recession start don vary well-well: di mid-2000s inversions start on 2005-12-27, roughly two years before di recession wey dem date to December 2007.
Put am plain: for dis data, every modern US recession follow inversion, and no be every inversion follow by recession. Di spread na summary of bond-market pricing, no be countdown clock.
Steepening, flattening, and un-inversion
Three more terms complete di vocabulary:
- Flattening — di 2s10s dey narrow toward zero; short and long yields dey converge.
- Steepening — di 2s10s dey widen; di gap between long and short yields dey grow.
- Un-inversion — negative spread cross back above zero.
For dis data di curve un-invert after 2024-09-05, and di monthly averages don print above zero since — 0.36 percentage points for di latest full month. Steepening out of inversion fit happen two ways: short yields dey fall faster pass long yields (traders dey call dis one bull steepener), or long yields dey rise faster pass short yields (bear steepener). Di labels dey describe which leg of di trade move; di spread itself only dey record di size of di gap.
Wetin inverted yield curve mean for portfolio
Inversion dey change di arithmetic of holding cash versus holding long bonds: with short yields above long ones, T-bills and money-market funds dey out-yield long maturities without di same price swings. Dat na statement about yields wey dey on offer, no be recommendation — long bonds fit still outperform if yields fall from there, and cash dey re-price lower any time short rates come down.
Wetin inversion no dey do na to dictate di direction of stocks. Equities don rise through parts of past inversions and fall through others.
FAQ
How normal yield curve suppose be?
Upward-sloping: each longer maturity dey yield more pass di one before am. Di current curve above run from 3.76% at 1 month go up to 5.09% at 30 years, wey fit dat shape.
Di 2s10s spread positive or negative right now?
As of 2026-07-16, e measure 41 bps — positive, wey mean di 10-year out-yield di 2-year and di curve no dey inverted for dat close.
Inverted yield curve always mean recession dey come?
No. For dis data, every US recession since di late 1970s follow inversion, but di reverse no hold: di 1998 episode follow by three more years of expansion, and di 2022–2024 episode — 539 inverted closes deep — no get any declared recession after am through mid-2026.
Why 2-year Treasury go ever yield more pass 10-year?
Di 2-year dey follow where di Fed policy rate dey now and where di market dey expect am over di next couple of years. Wen di market price in much lower short rates further out, di average expected short rate over ten years fit sit below today 2-year yield — enough to pull di 10-year underneath am. Dat pricing na exactly wetin negative 2s10s dey record.
Wetin be di difference between di 2s10s and di 3-month/10-year spread?
Na only di short leg. Di 3-month/10-year version swap di 2-year for 3-month bill, wey dey hug di current policy rate even more tightly, and na di variant wey dem dey use for some academic recession models. Both na slices of di same curve wey show for di top of dis page.
Check di numbers yourself
Every panel above na stored query result — di chart, di table, and di SQL na di same object, and nobody type any of am by hand. To rerun any of dis against di full Treasury history, or change maturity and build your own spread, you fit paste di SQL straight into di Strasmore terminal.