Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor · · Updated 2026-07-23

Courbe des taux US S1 2026 : twist et analyse

Analyse de la courbe des taux US au S1 2026. Un twist a soutenu le milieu de la courbe sans inversion du spread 2s10s, malgré un pic du 30 ans à 5 %.

La courbe des taux du Trésor a subi un twist plutôt qu'un shift au premier semestre 2026. Entre la première publication de janvier et la dernière de juin, le rendement du 2 ans a augmenté de 67 points de base, tandis que le billet à 1 mois a évolué de -2 et le bond à 30 ans de seulement 5 — le milieu de la courbe a progressé alors que les deux extrémités sont restées presque stables. Sur la même période de six mois, le spread 2s10s s'est aplati, passant de 72 à 30 points de base, sans jamais s'inverser. Cette page présente le registre complet des taux du semestre : la courbe à trois moments clés, le twist par maturité, la trajectoire quotidienne du 2s10s, la période du 30 ans au-dessus de 5 %, et cinquante ans de twists semestriels pour comparer cette performance. Chaque chiffre est le résultat d'une requête stockée — développez n'importe quel panneau pour accéder à la requête SQL correspondante.

Ce qu'est un twist — et pourquoi il diffère d'un shift

Un shift parallèle déplace chaque maturité d'environ la même valeur : la courbe entière se déplace vers le haut ou vers le bas en conservant sa forme. Un twist déplace les différentes maturités de montants différents, ce qui modifie la forme même de la courbe. Cette distinction est essentielle lorsque vous analysez les segments de la courbe comme des instruments distincts. Le segment très court — les bills arrivant à échéance dans quelques semaines — s'échange près du taux directeur actuel. Le segment long reflète une vision de la croissance et de l'inflation sur plusieurs décennies ; il peut rester stable malgré l'agitation sur le front court. Le segment médian — le 2 ans étant l'indicateur classique — est celui où se réajuste l'anticipation des taux directeurs pour les deux prochaines années. Une demi-année où le segment médian augmente de 66 points de base alors que les deux extrémités restent stables signifie que le marché redessine sa trajectoire de taux à court terme sans modifier sa vision à long terme.

La courbe à trois moments : janvier, mars, juin

La méthode la plus simple pour observer un twist consiste à photographier l'ensemble de la courbe à intervalles réguliers et à juxtaposer les images. Le tableau ci-dessous présente trois instantanés d'une seule journée — la première publication de janvier, la dernière de mars et la dernière de juin — sur sept maturités.

RequêteSept maturités, trois snapshots journaliers : premier print du semestre, dernier print de mars et dernier print de juin
Le SQL exact derrière chaque chiffre
WITH
    (SELECT (yield_1_month, yield_3_month, yield_1_year, yield_2_year, yield_5_year, yield_10_year, yield_30_year) FROM global_markets.treasury_yields
     WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30') ORDER BY date ASC LIMIT 1) AS jan_row,
    (SELECT (yield_1_month, yield_3_month, yield_1_year, yield_2_year, yield_5_year, yield_10_year, yield_30_year) FROM global_markets.treasury_yields
     WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-03-31') ORDER BY date DESC LIMIT 1) AS mar_row,
    (SELECT (yield_1_month, yield_3_month, yield_1_year, yield_2_year, yield_5_year, yield_10_year, yield_30_year) FROM global_markets.treasury_yields
     WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30') ORDER BY date DESC LIMIT 1) AS jun_row
SELECT z.1 AS maturity, z.2 AS jan_pct, z.3 AS mar_pct, z.4 AS jun_pct
FROM (
    SELECT arrayJoin(arrayZip(['1-month','3-month','1-year','2-year','5-year','10-year','30-year'],
        [jan_row.1, jan_row.2, jan_row.3, jan_row.4, jan_row.5, jan_row.6, jan_row.7],
        [mar_row.1, mar_row.2, mar_row.3, mar_row.4, mar_row.5, mar_row.6, mar_row.7],
        [jun_row.1, jun_row.2, jun_row.3, jun_row.4, jun_row.5, jun_row.6, jun_row.7])) AS z
)

La courbe de janvier ne présente pas une pente ascendante régulière. Le premier taux de l'année sur le 2 ans, 3.47%, était inférieur au taux du billet à 1 mois de 3.72% — un creux dans la partie centrale de la courbe, avec un point bas situé précisément sur les maturités qui fixent la politique monétaire à court terme. À la dernière publication de mars, le 2 ans était monté à 3.79%, et à la dernière publication de juin, le creux avait totalement disparu : le 2 ans s'établissait à 4.14%, au-dessus de toutes les maturités de billets du tableau, et les rendements augmentaient à chaque point de la courbe, pour finir avec le 30 ans à 4.91%. En six mois, la courbe est passée d'une forme concave à une pente ascendante conventionnelle — non pas en augmentant tous les taux, mais en comblant le creux.

La torsion, par maturité

La différence entre les données de janvier et de juin révèle une forme de torsion spécifique : une bosse centrée sur le 2 ans, s'atténuant vers zéro aux deux extrémités. Le tableau décompose le mouvement de chaque maturité en deux étapes, pour le -2 et le 5.

RequêteMouvement H1 2026 par maturité, divisé par trimestres — le hump se situe sur le 2 ans
Le SQL exact derrière chaque chiffre
WITH
    (SELECT (yield_1_month, yield_3_month, yield_1_year, yield_2_year, yield_5_year, yield_10_year, yield_30_year) FROM global_markets.treasury_yields
     WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30') ORDER BY date ASC LIMIT 1) AS jan_row,
    (SELECT (yield_1_month, yield_3_month, yield_1_year, yield_2_year, yield_5_year, yield_10_year, yield_30_year) FROM global_markets.treasury_yields
     WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-03-31') ORDER BY date DESC LIMIT 1) AS mar_row,
    (SELECT (yield_1_month, yield_3_month, yield_1_year, yield_2_year, yield_5_year, yield_10_year, yield_30_year) FROM global_markets.treasury_yields
     WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30') ORDER BY date DESC LIMIT 1) AS jun_row
SELECT z.1 AS maturity,
       round((z.3 - z.2) * 100, 0) AS q1_change_bp,
       round((z.4 - z.3) * 100, 0) AS q2_change_bp,
       round((z.4 - z.2) * 100, 0) AS h1_change_bp
FROM (
    SELECT arrayJoin(arrayZip(['1-month','3-month','1-year','2-year','5-year','10-year','30-year'],
        [jan_row.1, jan_row.2, jan_row.3, jan_row.4, jan_row.5, jan_row.6, jan_row.7],
        [mar_row.1, mar_row.2, mar_row.3, mar_row.4, mar_row.5, mar_row.6, mar_row.7],
        [jun_row.1, jun_row.2, jun_row.3, jun_row.4, jun_row.5, jun_row.6, jun_row.7])) AS z
)

Le mouvement de 67 points de base sur le 2 ans est le plus important du tableau — supérieur aux 51 du 1 an, aux 45 du 5 ans et aux 25 du 10 ans, et d'un ordre de grandeur supérieur aux extrémités. La répartition trimestrielle montre que la hausse a été régulière plutôt que soudaine : 32 points de base au premier trimestre et 35 au second. Le facteur ayant provoqué le repricing du milieu de la courbe a agi sur les deux trimestres, publication après publication — la série quotidienne ci-dessous confirme cette observation avec plus de précision.

Le spread 2s10s s'est-il inversé au S1 2026 ?

Non — et les données précisent exactement à quel point il s'en est approché. Le tableau à une ligne présente les valeurs limites du semestre ; le graphique ci-dessous affiche chaque relevé quotidien.

RequêteLe slope 2s10s : début, fin, minimum (avec date), maximum et nombre de prints
Le SQL exact derrière chaque chiffre
SELECT
    round((argMin(yield_10_year - yield_2_year, date)) * 100, 0) AS start_bp,
    round((argMax(yield_10_year - yield_2_year, date)) * 100, 0) AS end_bp,
    round(min(yield_10_year - yield_2_year) * 100, 0) AS min_bp,
    argMin(toString(date), (yield_10_year - yield_2_year, date)) AS min_date,
    round(max(yield_10_year - yield_2_year) * 100, 0) AS max_bp,
    count() AS prints
FROM global_markets.treasury_yields
WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30')
  AND isNotNull(yield_10_year) AND isNotNull(yield_2_year)

Le spread entre les rendements à 10 ans et à 2 ans a ouvert le semestre à 72 points de base, n'a jamais dépassé 74, et a terminé le mois de juin à 30. Son point bas a été de 27 points de base, enregistré le 2026-06-18 — l'approche la plus proche de l'inversion, tout en restant largement positive. Un lecteur cherchant uniquement à savoir s'il y a eu inversion peut s'arrêter ici ; le parcours est crucial pour une autre question.

RequêteLe spread 2s10s, chaque print du semestre
Le SQL exact derrière chaque chiffre
SELECT toString(date) AS d, round((yield_10_year - yield_2_year) * 100, 0) AS spread_2s10s_bp
FROM global_markets.treasury_yields
WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30')
  AND isNotNull(yield_10_year) AND isNotNull(yield_2_year)
ORDER BY date

L'aplatissement a-t-il été un événement brutal ou une érosion progressive ? La série quotidienne répond : 124 relevés, passant de 72 points de base le 2026-01-02 à 30 à la clôture de juin, sans effondrement sur une seule journée dans la séquence. Un aplatissement qui se produit relevé après relevé est un repricing lent ; un aplatissement qui survient en une semaine est généralement lié à une date précise. Celui-ci a été une érosion progressive.

L'obligation à 30 ans et la barre des 5 %

L'évolution du rendement de l'obligation à long terme semble stable sur la colonne des variations — 5 points de base sur la période — mais la trajectoire a atteint un niveau significatif. Le récapitulatif ci-dessous détaille cette évolution.

RequêteLe 30 ans sur le semestre : début, fin, premier et dernier print à 5%, temps passé à ou au-dessus de 5% et le high
Le SQL exact derrière chaque chiffre
SELECT
    round(argMin(yield_30_year, date), 2) AS start_pct,
    round(argMax(yield_30_year, date), 2) AS end_pct,
    toString(minIf(date, yield_30_year >= 5)) AS first_5_date,
    toString(maxIf(date, yield_30_year >= 5)) AS last_5_date,
    countIf(yield_30_year >= 5) AS prints_at_or_above_5,
    round(max(yield_30_year), 2) AS high_pct,
    argMax(toString(date), (yield_30_year, date)) AS high_date,
    count() AS prints
FROM global_markets.treasury_yields
WHERE date >= toDate('2026-01-01') AND date <= toDate('2026-06-30') AND isNotNull(yield_30_year)

Le taux à 30 ans a débuté le semestre à 4.86%. Il a atteint ou dépassé le seuil de 5 % pour la première fois le 2026-05-04. Il a passé 16 de ses 124 clôtures à ce niveau ou au-dessus. Il a culminé à 5.18% le 2026-05-19, avant de terminer sous cette barre à 4.91%. Les chiffres ronds n'impliquent pas de mécanismes particuliers, mais le seuil de 5 % sur le 30 ans est une référence pour les desks de crédit immobilier et les allocateurs de fonds de pension. La tendance est précise : le maintien au-dessus de ce niveau s'est étendu du 2026-05-04 au 2026-06-10 — une période allant de début mai à mi-juin au sein d'un semestre plat, marqué par une variation totale de un tiers de point.

Cinquante ans de twists semestriels

Un twist de ce type est-il rare ? Nous définissons un twist semestriel comme la différence entre la variation du 2 ans et celle du 10 ans. Une valeur positive signifie que la partie courte de la courbe a progressé plus vite (ou a moins chuté) que la partie longue, entraînant un aplatissement par l'avant. Le tableau calcule ce chiffre pour chaque semestre depuis 1976, la première année où les séries du 2 ans et du 10 ans sont disponibles sur un semestre complet, en incluant le niveau minimum du spread 2s10s pour chaque période.

RequêteChaque semestre depuis 1976 : variation du 2y et du 10y, le twist entre les deux, et le print 2s10s le plus bas du semestre
Le SQL exact derrière chaque chiffre
SELECT concat(toString(toYear(date)), if(toMonth(date) <= 6, '-01-01', '-07-01')) AS period_start,
       concat(toString(toYear(date)), if(toMonth(date) <= 6, ' H1', ' H2')) AS half,
       count() AS prints,
       round((argMax(yield_2_year, date) - argMin(yield_2_year, date)) * 100, 0) AS change_2y_bp,
       round((argMax(yield_10_year, date) - argMin(yield_10_year, date)) * 100, 0) AS change_10y_bp,
       round((argMax(yield_2_year, date) - argMin(yield_2_year, date)) * 100
           - (argMax(yield_10_year, date) - argMin(yield_10_year, date)) * 100, 0) AS twist_bp,
       round(min(yield_10_year - yield_2_year) * 100, 0) AS min_2s10s_bp
FROM global_markets.treasury_yields
WHERE date >= toDate('1976-07-01') AND date <= toDate('2026-06-30')
  AND isNotNull(yield_2_year) AND isNotNull(yield_10_year)
GROUP BY period_start, half
HAVING prints >= 100
ORDER BY period_start ASC
RequêteLe rank receipt : le twist du H1 2026 par rapport à chaque semestre précédent, en valeur absolue
Le SQL exact derrière chaque chiffre
SELECT
    round(anyIf(twist, period_start = '2026-01-01'), 0) AS h1_2026_twist_bp,
    arrayCount(x -> abs(x) > abs(anyIf(twist, period_start = '2026-01-01')), groupArrayIf(twist, period_start != '2026-01-01')) + 1 AS rank_by_magnitude,
    count() AS halves_compared,
    toUInt16OrZero(substring(min(period_start), 1, 4)) AS first_year,
    countIf(min_2s10s < 0) AS halves_with_inversion,
    max(if(min_2s10s < 0, period_start, '')) AS last_inverted_half_start
FROM (
    SELECT concat(toString(toYear(date)), if(toMonth(date) <= 6, '-01-01', '-07-01')) AS period_start,
           count() AS prints,
           (argMax(yield_2_year, date) - argMin(yield_2_year, date)) * 100
             - (argMax(yield_10_year, date) - argMin(yield_10_year, date)) * 100 AS twist,
           min(yield_10_year - yield_2_year) * 100 AS min_2s10s
    FROM global_markets.treasury_yields
    WHERE date >= toDate('1976-07-01') AND date <= toDate('2026-06-30')
      AND isNotNull(yield_2_year) AND isNotNull(yield_10_year)
    GROUP BY period_start
    HAVING prints >= 100
)

Le twist du S1 2026 est de 42 points de base. Cela représente une valeur absolue située au 42 percentile des 100 semestres analysés — une valeur médiane, pas une anomalie. Le tableau contient des semestres trois à quatre fois plus importants, dans les deux sens. La particularité de ce semestre réside dans l'inversion de la tendance : lors des deux semestres de 2025, le 2 ans a BAISSE (-53 points de base au S1 2025, -31 au S2), tandis que le S1 2026 a enregistré une hausse de 67 points de base — la partie avant de la courbe a changé de direction à la fin de l'année. La colonne sur l'inversion situe ce semestre dans son contexte historique : 28 des 100 semestres ont affiché un 2s10s négatif à un moment donné, et la dernière de ces périodes a débuté en 2024-07-01 — la phase finale de la longue période d'inversion 2022–2024. Le point bas du S1 2026 à 27 points de base l'a totalement exclu de ce groupe.

Les conséquences d'une aplatissement de la courbe

Un tel twist se manifeste à trois endroits en dehors du marché obligataire, selon des mécanismes et non des prévisions. Taux hypothécaires : les taux hypothécaires fixes à 30 ans sont généralement cotés avec un spread au-dessus du rendement du Treasury à 10 ans ; ce dernier a terminé le semestre à 4.44% — soit un mouvement de 25 points de base, une fraction de celui du 2 ans. Un twist concentré sur le 2 ans impacte bien moins la tarification hypothécaire qu'un déplacement parallèle de même amplitude. Marges bancaires : les banques ont tendance à se financer aux taux courts et à prêter aux taux longs ; un aplatissement réduit l'écart entre ces deux taux, qui constitue la base de la marge nette d'intérêt. Arithmétique de la récession : une inversion du spread 2s10s a précédé les précédentes récessions américaines, ce qui explique l'intérêt porté à cet écart. Ce semestre n'a pas produit d'inversion ; le plancher était de 27 points de base. Déterminer si cela préfigure l'avenir relève de la prévision, et cette page ne fait pas de prévisions.

Note sur le calendrier des enchères

Les graphiques ci-dessus n'affichent pas l'offre, mais le rythme sous-jacent est important à connaître. Le Trésor émet des titres à 2, 5 et 7 ans chaque mois. Les titres à 10 et 30 ans sont mis aux enchères lors du cycle de refinancement trimestriel, avec des réouvertures entre ces échéances. Chaque rendement correspond au prix de marché fixé par rapport à ce calendrier régulier de nouvelles émissions. Les résultats au niveau des enchères (bid-to-cover ratios, tails) ne figurent pas dans ce jeu de données ; cette page ne fait donc aucune affirmation concernant la demande lors d'une vente spécifique.

FAQ

La courbe des taux du Treasury s'est-elle inversée en 2026 ?

Pas durant le premier semestre. Le point le plus bas du spread 2s10s au S1 2026 était de 27 points de base, le 2026-06-18 — il a débuté l'année à 72 pour finir juin à 30, une courbe plus plate mais positive sur toute la période.

Qu'est-ce qu'un "yield-curve twist" ?

Il s'agit d'un changement de la forme de la courbe plutôt que de son niveau : les différentes échéances évoluent de manière disproportionnée. Au S1 2026, le taux à 2 ans a augmenté de 67 points de base alors que les taux à 1 mois et à 30 ans n'ont varié que de quelques points — un twist centré sur le "belly" de la courbe, contrairement à un "parallel shift" qui déplace tous les taux de la même manière.

De combien le rendement du Treasury à 2 ans a-t-il augmenté en 2026 ?

De 67 points de base sur le premier semestre — passant de 3.47% lors de la première publication de janvier à 4.14% lors de la dernière de juin, avec une répartition de 32 et 35 sur les deux trimestres.

Quand le rendement du Treasury à 30 ans a-t-il franchi les 5 % ?

Sa première publication au S1 2026 égale ou supérieure à 5 % a eu lieu le 2026-05-04. Il a atteint un pic de 5.18% le 2026-05-19 et a terminé le semestre sous la barre des 5 % à 4.91%.

Quand la courbe des taux US a-t-elle été inversée pour la dernière fois ?

Selon la comptabilité semestrielle de cette page, le dernier semestre présentant un spread 2s10s inversé a débuté le 2024-07-01. Au total, 28 des 100 semestres depuis 1976 ont affiché un 2s10s négatif au moins une fois.


Les registres des actions, des secteurs et des options pour ces six mois sont disponibles dans le récapitulatif du marché du S1 2026, et les données macroéconomiques contre lesquelles le semestre a été évalué se trouvent dans le panorama macro entrant en S2. Tous les graphiques ci-dessus sont reproductibles — copiez le SQL dans le terminal Strasmore et exécutez-le sur les mêmes tables.

Méthodologie

  • Les valeurs de début et de fin correspondent aux premières et dernières cotations par échéance entre le 1er janvier et le 30 juin 2026, sélectionnées par date dans la requête ; les snapshots sont des lignes d'une seule journée (première cotation du semestre, dernière cotation de mars, dernière cotation de juin), et les sept échéances sont complètes à ces dates.
  • L'historique semestriel associe les maturités 2 ans et 10 ans à partir du 19 juillet 1976 — le premier semestre complet où les deux séries sont cotées simultanément. Les semestres comptant moins de 100 cotations communes sont exclus par une condition de requête ; le nombre de cotations par semestre est indiqué dans le tableau. La limite supérieure de l'historique est fixée au 30 juin 2026, afin que l'ensemble de comparaison ne change pas avec l'arrivée de nouvelles données.
  • Les ex æquo sont départagés de manière déterministe (tuples valeur-date), de sorte qu'une régénération ne peut pas modifier une date en cas de cotation identique.
  • La génération s'effectue via un chemin de lecture seule sécurisé ; la page publique n'interroge jamais les données en direct. État de l'entrepôt de données au 12 juillet 2026.