{"slug":"what-happens-when-the-yield-curve-un-inverts","qid":"recent","label":"The 2s10s over the trailing six months, with the 2-year and 10-year moves that produced it","post_title":"What Happens When the Yield Curve Un-Inverts","post_url":"/blog/what-happens-when-the-yield-curve-un-inverts#q-recent","columns":["week","week_label","y2_yield","y10_yield","spread_2s10s","y2_move_bp","y10_move_bp","steepening_type"],"rows":[{"week":"2026-03-23","week_label":"Mar 23","y2_yield":3.88,"y10_yield":4.44,"spread_2s10s":0.56,"y2_move_bp":0,"y10_move_bp":0,"steepening_type":"no steepening over the window"},{"week":"2026-03-30","week_label":"Mar 30","y2_yield":3.84,"y10_yield":4.35,"spread_2s10s":0.51,"y2_move_bp":-4,"y10_move_bp":-9,"steepening_type":"no steepening over the window"},{"week":"2026-04-06","week_label":"Apr 6","y2_yield":3.81,"y10_yield":4.31,"spread_2s10s":0.5,"y2_move_bp":-7,"y10_move_bp":-13,"steepening_type":"no steepening over the window"},{"week":"2026-04-13","week_label":"Apr 13","y2_yield":3.71,"y10_yield":4.26,"spread_2s10s":0.55,"y2_move_bp":-17,"y10_move_bp":-18,"steepening_type":"no steepening over the window"},{"week":"2026-04-20","week_label":"Apr 20","y2_yield":3.78,"y10_yield":4.31,"spread_2s10s":0.53,"y2_move_bp":-10,"y10_move_bp":-13,"steepening_type":"no steepening over the window"},{"week":"2026-04-27","week_label":"Apr 27","y2_yield":3.88,"y10_yield":4.39,"spread_2s10s":0.51,"y2_move_bp":0,"y10_move_bp":-5,"steepening_type":"no steepening over the window"},{"week":"2026-05-04","week_label":"May 4","y2_yield":3.9,"y10_yield":4.38,"spread_2s10s":0.48,"y2_move_bp":2,"y10_move_bp":-6,"steepening_type":"no steepening over the window"},{"week":"2026-05-11","week_label":"May 11","y2_yield":4.09,"y10_yield":4.59,"spread_2s10s":0.5,"y2_move_bp":21,"y10_move_bp":15,"steepening_type":"no steepening over the window"},{"week":"2026-05-18","week_label":"May 18","y2_yield":4.13,"y10_yield":4.56,"spread_2s10s":0.43,"y2_move_bp":25,"y10_move_bp":12,"steepening_type":"no steepening over the window"},{"week":"2026-05-25","week_label":"May 25","y2_yield":3.98,"y10_yield":4.45,"spread_2s10s":0.47,"y2_move_bp":10,"y10_move_bp":1,"steepening_type":"no steepening over the window"},{"week":"2026-06-01","week_label":"Jun 1","y2_yield":4.17,"y10_yield":4.55,"spread_2s10s":0.38,"y2_move_bp":29,"y10_move_bp":11,"steepening_type":"no steepening over the window"},{"week":"2026-06-08","week_label":"Jun 8","y2_yield":4.09,"y10_yield":4.48,"spread_2s10s":0.39,"y2_move_bp":21,"y10_move_bp":4,"steepening_type":"no steepening over the window"},{"week":"2026-06-15","week_label":"Jun 15","y2_yield":4.19,"y10_yield":4.46,"spread_2s10s":0.27,"y2_move_bp":31,"y10_move_bp":2,"steepening_type":"no steepening over the window"},{"week":"2026-06-22","week_label":"Jun 22","y2_yield":4.07,"y10_yield":4.38,"spread_2s10s":0.31,"y2_move_bp":19,"y10_move_bp":-6,"steepening_type":"no steepening over the window"},{"week":"2026-06-29","week_label":"Jun 29","y2_yield":4.14,"y10_yield":4.49,"spread_2s10s":0.35,"y2_move_bp":26,"y10_move_bp":5,"steepening_type":"no steepening over the window"},{"week":"2026-07-06","week_label":"Jul 6","y2_yield":4.21,"y10_yield":4.56,"spread_2s10s":0.35,"y2_move_bp":33,"y10_move_bp":12,"steepening_type":"no steepening over the window"},{"week":"2026-07-13","week_label":"Jul 13","y2_yield":4.18,"y10_yield":4.55,"spread_2s10s":0.37,"y2_move_bp":30,"y10_move_bp":11,"steepening_type":"no steepening over the window"},{"week":"2026-07-20","week_label":"Jul 20","y2_yield":4.33,"y10_yield":4.69,"spread_2s10s":0.36,"y2_move_bp":45,"y10_move_bp":25,"steepening_type":"no steepening over the window"},{"week":"2026-07-27","week_label":"Jul 27","y2_yield":4.28,"y10_yield":4.75,"spread_2s10s":0.47,"y2_move_bp":40,"y10_move_bp":31,"steepening_type":"no steepening over the window"},{"week":"2026-08-03","week_label":"Aug 3","y2_yield":4.19,"y10_yield":4.65,"spread_2s10s":0.46,"y2_move_bp":31,"y10_move_bp":21,"steepening_type":"no steepening over the window"},{"week":"2026-08-10","week_label":"Aug 10","y2_yield":4.17,"y10_yield":4.68,"spread_2s10s":0.51,"y2_move_bp":29,"y10_move_bp":24,"steepening_type":"no steepening over the window"},{"week":"2026-08-17","week_label":"Aug 17","y2_yield":4.24,"y10_yield":4.74,"spread_2s10s":0.5,"y2_move_bp":36,"y10_move_bp":30,"steepening_type":"no steepening over the window"},{"week":"2026-08-24","week_label":"Aug 24","y2_yield":4.34,"y10_yield":4.73,"spread_2s10s":0.39,"y2_move_bp":46,"y10_move_bp":29,"steepening_type":"no steepening over the window"},{"week":"2026-08-31","week_label":"Aug 31","y2_yield":4.37,"y10_yield":4.78,"spread_2s10s":0.41,"y2_move_bp":49,"y10_move_bp":34,"steepening_type":"no steepening over the window"},{"week":"2026-09-07","week_label":"Sep 7","y2_yield":4.63,"y10_yield":4.96,"spread_2s10s":0.33,"y2_move_bp":75,"y10_move_bp":52,"steepening_type":"no steepening over the window"},{"week":"2026-09-14","week_label":"Sep 14","y2_yield":4.67,"y10_yield":4.94,"spread_2s10s":0.27,"y2_move_bp":79,"y10_move_bp":50,"steepening_type":"no steepening over the window"}],"shape":"series","sql":"SELECT\n    week,\n    week_label,\n    y2_yield,\n    y10_yield,\n    spread_2s10s,\n    y2_move_bp,\n    y10_move_bp,\n    multiIf(\n        (y10_move_bp - y2_move_bp) <= 0,                        'no steepening over the window',\n        y2_move_bp < 0 AND abs(y2_move_bp) >= abs(y10_move_bp), 'bull steepener (2-year fell most)',\n        'bear steepener (10-year rose most)'\n    ) AS steepening_type\nFROM\n(\n    SELECT\n        week,\n        week_label,\n        y2_yield,\n        y10_yield,\n        spread_2s10s,\n        round((y2_yield  - first_value(y2_yield)  OVER (ORDER BY week ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)) * 100) AS y2_move_bp,\n        round((y10_yield - first_value(y10_yield) OVER (ORDER BY week ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)) * 100) AS y10_move_bp\n    FROM\n    (\n        SELECT\n            toStartOfWeek(date, 1)                                                   AS week,\n            formatDateTime(week, '%b %e')                                            AS week_label,\n            round(argMax(ifNull(toFloat64(yield_2_year), 0.), date), 2)              AS y2_yield,\n            round(argMax(ifNull(toFloat64(yield_10_year), 0.), date), 2)             AS y10_yield,\n            round(argMax(ifNull(toFloat64(yield_10_year), 0.) - ifNull(toFloat64(yield_2_year), 0.), date), 2) AS spread_2s10s\n        FROM global_markets.treasury_yields\n        WHERE date >= today() - 182\n          AND yield_2_year > 0 AND yield_10_year > 0\n        GROUP BY week\n    )\n)\nORDER BY week","computed_at":"2026-09-19T15:13:13.127497+00:00","elapsed":0.061505159}