{"slug":"what-is-the-2s10s-spread","qid":"inversions","label":"2s10s inversion episodes: first close, last close, length, and depth","post_title":"What Is the 2s10s Spread? Yield Curve Data","post_url":"/blog/what-is-the-2s10s-spread#q-inversions","columns":["first_inverted_close","last_inverted_close","inverted_closes","deepest_bps"],"rows":[{"first_inverted_close":"1978-08-18","last_inverted_close":"1980-05-01","inverted_closes":423,"deepest_bps":-241},{"first_inverted_close":"1980-09-12","last_inverted_close":"1982-07-16","inverted_closes":400,"deepest_bps":-170},{"first_inverted_close":"1988-12-13","last_inverted_close":"1989-11-06","inverted_closes":174,"deepest_bps":-45},{"first_inverted_close":"1990-03-08","last_inverted_close":"1990-03-29","inverted_closes":16,"deepest_bps":-14},{"first_inverted_close":"1998-05-26","last_inverted_close":"1998-07-27","inverted_closes":27,"deepest_bps":-7},{"first_inverted_close":"2000-02-02","last_inverted_close":"2000-12-28","inverted_closes":227,"deepest_bps":-52},{"first_inverted_close":"2005-12-27","last_inverted_close":"2006-03-29","inverted_closes":35,"deepest_bps":-16},{"first_inverted_close":"2006-06-08","last_inverted_close":"2007-06-05","inverted_closes":203,"deepest_bps":-19},{"first_inverted_close":"2019-08-27","last_inverted_close":"2019-08-29","inverted_closes":3,"deepest_bps":-4},{"first_inverted_close":"2022-04-01","last_inverted_close":"2022-04-04","inverted_closes":2,"deepest_bps":-5},{"first_inverted_close":"2022-07-06","last_inverted_close":"2024-09-05","inverted_closes":539,"deepest_bps":-108}],"shape":"ranking","sql":"WITH inverted_closes AS\n(\n    SELECT\n        date,\n        round((yield_10_year - yield_2_year) * 100) AS spread_bps\n    FROM global_markets.treasury_yields\n    WHERE isNotNull(yield_10_year) AND isNotNull(yield_2_year)\n      AND yield_10_year < yield_2_year\n),\nflagged AS\n(\n    SELECT\n        date,\n        spread_bps,\n        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\n    FROM inverted_closes\n),\nepisodes AS\n(\n    SELECT\n        date,\n        spread_bps,\n        sum(starts_new_episode) OVER (ORDER BY date ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS episode_id\n    FROM flagged\n)\nSELECT\n    min(date) AS first_inverted_close,\n    max(date) AS last_inverted_close,\n    count() AS inverted_closes,\n    min(spread_bps) AS deepest_bps\nFROM episodes\nGROUP BY episode_id\nORDER BY first_inverted_close","computed_at":"2026-08-22T04:34:52.449425+00:00","elapsed":0.207667211}