STRASMORE/EXPLORE 3,293 QUERIES

The 2s10s over the trailing six months, with the 2-year and 10-year moves that produced it

Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-11-01, from What Happens When the Yield Curve Un-Inverts.

as of series 26×8read in context →
The 2s10s over the trailing six months, with the 2-year and 10-year moves that produced it — 26 rows by 8 columns, computed from US exchange, SIP and OPRA data.
weekweek_labely2_yieldy10_yieldspread_2s10sy2_move_bpy10_move_bpsteepening_type
2026-05-04May 43.94.380.4800no steepening over the window
2026-05-11May 114.094.590.51921bear steepener (10-year rose most)
2026-05-18May 184.134.560.432318no steepening over the window
2026-05-25May 253.984.450.4787no steepening over the window
2026-06-01Jun 14.174.550.382717no steepening over the window
2026-06-08Jun 84.094.480.391910no steepening over the window
2026-06-15Jun 154.194.460.27298no steepening over the window
2026-06-22Jun 224.074.380.31170no steepening over the window
2026-06-29Jun 294.144.490.352411no steepening over the window
2026-07-06Jul 64.214.560.353118no steepening over the window
2026-07-13Jul 134.184.550.372817no steepening over the window
2026-07-20Jul 204.334.690.364331no steepening over the window
2026-07-27Jul 274.284.750.473837no steepening over the window
2026-08-03Aug 34.194.650.462927no steepening over the window
2026-08-10Aug 104.174.680.512730bear steepener (10-year rose most)
2026-08-17Aug 174.244.740.53436bear steepener (10-year rose most)
2026-08-24Aug 244.344.730.394435no steepening over the window
2026-08-31Aug 314.374.780.414740no steepening over the window
2026-09-07Sep 74.634.960.337358no steepening over the window
2026-09-14Sep 144.765.010.258663no steepening over the window
2026-09-21Sep 214.815.170.369179no steepening over the window
2026-09-28Sep 284.835.280.459390no steepening over the window
2026-10-05Oct 54.85.240.449086no steepening over the window
2026-10-12Oct 124.745.090.358471no steepening over the window
2026-10-19Oct 194.6950.317962no steepening over the window
2026-10-26Oct 264.614.980.377160no steepening over the window
Rows × columns
26 × 8
Period covered
to
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for The 2s10s over the trailing six months, with the 2-year and 10-year moves that produced it, derived from the stored result.
ColumnTypeRangeNotes
week date 2026-05-04 to 2026-10-26
week_label text 26 distinct values (Aug 10, Aug 17, Aug 24…)
y2_yield number 3.9 to 4.83 ratio or rate
y10_yield number 4.38 to 5.28 ratio or rate
spread_2s10s number 0.25 to 0.51
y2_move_bp number 0 to 93
y10_move_bp number 0 to 90
steepening_type text 2 distinct values

Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.

Run it yourself

This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.

SELECT
    week,
    week_label,
    y2_yield,
    y10_yield,
    spread_2s10s,
    y2_move_bp,
    y10_move_bp,
    multiIf(
        (y10_move_bp - y2_move_bp) <= 0,                        'no steepening over the window',
        y2_move_bp < 0 AND abs(y2_move_bp) >= abs(y10_move_bp), 'bull steepener (2-year fell most)',
        'bear steepener (10-year rose most)'
    ) AS steepening_type
FROM
(
    SELECT
        week,
        week_label,
        y2_yield,
        y10_yield,
        spread_2s10s,
        round((y2_yield  - first_value(y2_yield)  OVER (ORDER BY week ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)) * 100) AS y2_move_bp,
        round((y10_yield - first_value(y10_yield) OVER (ORDER BY week ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)) * 100) AS y10_move_bp
    FROM
    (
        SELECT
            toStartOfWeek(date, 1)                                                   AS week,
            formatDateTime(week, '%b %e')                                            AS week_label,
            round(argMax(ifNull(toFloat64(yield_2_year), 0.), date), 2)              AS y2_yield,
            round(argMax(ifNull(toFloat64(yield_10_year), 0.), date), 2)             AS y10_yield,
            round(argMax(ifNull(toFloat64(yield_10_year), 0.) - ifNull(toFloat64(yield_2_year), 0.), date), 2) AS spread_2s10s
        FROM global_markets.treasury_yields
        WHERE date >= today() - 182
          AND yield_2_year > 0 AND yield_10_year > 0
        GROUP BY week
    )
)
ORDER BY week
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.

More from this analysisWhat Happens When the Yield Curve Un-Inverts
The 2s10s spread by month, full history series 605×5 → Which leg did the work: 2-year and 10-year moves over the 91 days before each crossing table 7×9 → Every 2s10s un-inversion: the crossing and the spread 3, 6 and 12 months later table 7×8 → SPY's change from the crossing-day close, 3, 6 and 12 months after each un-inversion table 2×5 → 3m10y and 2s10s spreads, monthly averages over twenty years series 240×4 → 3-month and 10-year yields with both spreads, last 90 days series 62×6 → See all 3,293 queries →