Treasury rates / Curve factors
Level, slope and curvature of the par curve
Three coefficients summarise the shape of the whole Treasury par curve on a given day. This page fits the Nelson-Siegel three-factor form to Treasury's published daily par yields on each of 9,136 trading days from Jan 2, 1990 to Jul 10, 2026, holding the decay constant at the same 1.394092 years on all of them after Diebold and Li (2006), and then shows how well that curve actually fits rather than asserting that it does.
Data as of Jul 10, 2026 (U.S. Treasury daily par yield curve)
The three factors, 1990–2026
The level is the fitted par yield at the long end, in percent: it runs from 0.9791 (Mar 9, 2020) to 9.3469 (Sep 24, 1990) and is positive throughout, the count of negative readings being 0. The slope is the fitted short end minus the fitted long end, in percentage points, so it is NEGATIVE for an upward-sloping curve and positive for an inverted one: it is positive on 909 of 9,136 trading days (9.9%), with extremes of −5.3008 (Jan 11, 2010) and +2.0710 (May 4, 2023). The curvature is positive when the middle of the curve bulges above the straight level-plus-slope shape and negative when it sags below, ranging from −7.5047 (Nov 3, 2010) to +4.2102 (Apr 1, 2022); its loading peaks at 30.0 months by construction, so it reads as a two-year-centred butterfly.
Source: U.S. Department of the Treasury, daily par yield curve rates | NBER recession chronology via FRED USREC Fitted from the observed par yields by this repository's engine; the chart is thinned to the last print of each ISO week, and the extremes quoted above are computed from the full daily series of 9,136 dates. Methodology
Do they read as their names?
Each factor is scored against an observed feature of the same curve, over the whole sample with no screening of any kind. The fixed-decay factors track the features they are named for; the free-decay fit, which chooses its own decay constant date by date and therefore fits each day better, does not. The date counts differ because the 30Y quote is absent over its discontinuation and the 3M quote is missing on a handful of days.
| Factor | Observed benchmark | Fixed decay | Free decay | Dates |
|---|---|---|---|---|
| Level | Observed 30Y par yield | +0.9962 | +0.5855 | 8,142 |
| Level | Observed 10Y par yield | +0.9701 | +0.5662 | 9,136 |
| Slope | Observed 3M minus 10Y | +0.9944 | +0.4572 | 9,133 |
| Curvature | 2 × 2Y minus 3M minus 10Y | +0.9789 | +0.2931 | 9,133 |
Source: U.S. Department of the Treasury, daily par yield curve rates Pearson correlation over every date carrying the benchmark, computed at render time from the fitted coefficients and the observed par yields. The curvature benchmark is centred on the two-year point because that is where the fixed loading peaks. Methodology
What the fitted curve looks like on Jul 10, 2026
A three-parameter curve cannot pass through 14 quoted points, so the honest question is how far off it is. On the most recent trading day in the sample the observed par curve (green) runs from 3.71% at 1M to 5.06% at 30Y. The fixed-decay fitted curve (blue) misses it by at most 0.1949 percentage points, at the 20Y point, for a root mean squared residual of 0.1238 percentage points. The free-decay fit (amber) does better on the day, 0.1366 at worst (2Y) and 0.0873 overall, at a decay constant of 5.8607 years instead of 1.3941. Tenors are spaced equally along the axis, not to maturity scale.
| Tenor | Maturity (yr) | Observed (%) | Fitted, fixed (%) | Residual (pp) | Fitted, free (%) | Residual (pp) |
|---|---|---|---|---|---|---|
| 1M | 0.083 | 3.71 | 3.8345 | −0.1245 | 3.8439 | −0.1339 |
| 1.5M | 0.125 | 3.74 | 3.8373 | −0.0973 | 3.8495 | −0.1095 |
| 2M | 0.167 | 3.81 | 3.8405 | −0.0305 | 3.8550 | −0.0450 |
| 3M | 0.250 | 3.85 | 3.8474 | +0.0026 | 3.8659 | −0.0159 |
| 4M | 0.333 | 3.94 | 3.8551 | +0.0849 | 3.8767 | +0.0633 |
| 6M | 0.500 | 3.99 | 3.8726 | +0.1174 | 3.8981 | +0.0919 |
| 1Y | 1.000 | 4.06 | 3.9371 | +0.1229 | 3.9598 | +0.1002 |
| 2Y | 2.000 | 4.21 | 4.0874 | +0.1226 | 4.0734 | +0.1366 |
| 3Y | 3.000 | 4.22 | 4.2319 | −0.0119 | 4.1751 | +0.0449 |
| 5Y | 5.000 | 4.30 | 4.4557 | −0.1557 | 4.3483 | −0.0483 |
| 7Y | 7.000 | 4.42 | 4.6001 | −0.1801 | 4.4885 | −0.0685 |
| 10Y | 10.000 | 4.56 | 4.7273 | −0.1673 | 4.6523 | −0.0923 |
| 20Y | 20.000 | 5.08 | 4.8851 | +0.1949 | 4.9615 | +0.1185 |
| 30Y | 30.000 | 5.06 | 4.9380 | +0.1220 | 5.1019 | −0.0419 |
Source: U.S. Department of the Treasury, daily par yield curve rates Residual is the observed par yield minus the fitted one. Both fitted curves are rebuilt at render time from the coefficients and decay constants stored in the factor file; the root mean squared residual so recomputed agrees with the stored value to 5.6e-17 percentage points on all 9,136 dates for the fixed fit and 5.6e-17 for the free fit. Methodology
What fixing the decay constant costs
Holding the decay constant at one value for every date buys comparability across dates and pays for it in fit quality. The price is measurable: median root mean squared residual rises from 0.0490 percentage points under the free fit to 0.0825 under the fixed one, the 90th percentile from 0.0958 to 0.1546, and the 99th from 0.1494 to 0.2301. The fixed fit's residual is the larger one on 9,136 of 9,136 dates, which is what the free fit's search over the decay constant guarantees. The per-date penalty has a median of +0.0236, a mean of +0.0359 and a maximum of +0.3320 percentage points. The worst fixed-decay day is Apr 21, 2023 at 0.4861 against 0.1541 free, a day whose free-fit decay constant is 0.1236 years: front-end shape that a 1.39-year decay cannot follow. The free fit's own worst day is Sep 24, 2008 at 0.2949.
Source: U.S. Department of the Treasury, daily par yield curve rates | NBER recession chronology via FRED USREC Root mean squared residual is the square root of the residual sum of squares divided by the number of tenors quoted that day, in percentage points. The chart is thinned to the last print of each ISO week, so a single extreme day appears only when it ends its week; every quantile and worst day quoted above is computed from the full daily series. Methodology
Why the decay constant is fixed
The decay constant sets where the slope and curvature loadings do their work. When the observed curve has little shape, the data barely constrain it: the three loadings go nearly collinear, and the coefficients slide along a ridge at almost unchanged fit quality. The fitted curve stays pinned down; the individual factors do not. Under the free fit the level factor turns negative on 254 of 9,136 dates and reaches −27.4730 percent on Oct 22, 2008, which is not a level in any economic sense; the decay constant exceeds ten years on 581 dates (6.36%) and is pinned at the edge of its search bracket on 365. Its curvature coefficient falls below 1e-4 in magnitude on 2,428 dates, where the three-factor fit has collapsed to level plus slope, and the distribution there is a gap rather than a taper: the largest magnitude inside that cluster is 2.94e-5 and the smallest outside it is 0.0784. Under the fixed fit the same counts are 0 negative levels (minimum 0.9791 percent on Mar 9, 2020) and 1 date below 1e-4 in curvature.
Source: U.S. Department of the Treasury, daily par yield curve rates | NBER recession chronology via FRED USREC Both series are the same model on the same observed yields, differing only in whether the decay constant is estimated per date or held at 1.394092 years. Methodology
The same curve, two answers: Jul 9, 2026 and Jul 10, 2026
Take the last two trading days in the sample. Treasury quoted 14 tenors on both of them, and none of those moved by more than 5.0 basis points (the largest move is at the 2Y point). The chart below draws four lines: the two observed curves, and the free-decay fitted curve for each day. The two fitted curves differ by at most 5.4 basis points at any tenor (at 5Y), and each sits within 13.7 basis points of the observed curve it was fitted to. Yet the free-decay level factor behind them moves from −0.9526 percent to 5.4078, a change of 6.3604 percentage points, at root mean squared residuals of 0.0767 and 0.0873 that a reader could not choose between. Over the same two days the fixed-decay level factor moves 0.0019 percentage points, from 5.0420 to 5.0439. A live level reading taken off the free fit would print one of those two numbers on one day and the other on the next.
| Fit | Date | Level | Slope | Curvature | Decay (yr) | RMSE (pp) |
|---|---|---|---|---|---|---|
| Fixed decay | Jul 9, 2026 | 5.0420 | −1.2215 | −1.1962 | 1.3941 | 0.1189 |
| Fixed decay | Jul 10, 2026 | 5.0439 | −1.2145 | −1.0641 | 1.3941 | 0.1238 |
| Free decay | Jul 9, 2026 | −0.9526 | 4.7758 | 11.3628 | 30.0000at bracket edge | 0.0767 |
| Free decay | Jul 10, 2026 | 5.4078 | −1.5750 | −1.1e-7 | 5.8607 | 0.0873 |
Source: U.S. Department of the Treasury, daily par yield curve rates Coefficients as stored in the factor file. A curvature magnitude below 1e-4 is printed in exponent form rather than rounded to zero. The free fit searches the decay constant over a bracket of 0.05 to 30 years and is flagged when it lands within 0.1% of either end. Methodology
Those two days are not a special case. Across the 9,135 consecutive-day pairs in the sample, the absolute one-day change in the level factor has a median of 0.0365 percentage points under the free fit but a 99th percentile of 5.5062 and a maximum of 21.3792 (Apr 2, 2008). Under the fixed fit the median is barely different at 0.0340, but the 99th percentile is 0.1730 and the maximum 0.3903 (Mar 18, 2009). The gap in the tail is the basin flipping, and it is why the published series fixes the decay constant.
Methodology
The model, in words
The fitted par yield at maturity tau is a constant plus two decaying terms. Write x = tau / lambda. The level loading is one at every maturity. The slope loading is (1 − exp(−x)) / x, which equals one at the front of the curve and decays to zero at the long end. The curvature loading is that same expression minus exp(−x), which is zero at both ends and humped in between. The fitted yield is the level coefficient plus the slope coefficient times its loading plus the curvature coefficient times its loading.
Because the slope loading tends to one and the curvature loading to zero as maturity tends to zero, and both tend to zero as maturity tends to infinity, the fitted curve satisfies y(0) = level + slope and y(infinity) = level. The level therefore reads as the long-rate level and the slope as SHORT MINUS LONG, which is negative for an upward-sloping curve and positive for an inverted one. The convention follows Svensson's equation (11) with the fourth factor set to zero, as restated by Drudi and Violi; the four-factor Svensson extension is implemented in this repository's engine but is not used for this dataset.
The decay constant, derived rather than copied
Diebold and Li fix the decay constant so that the curvature loading peaks at 30 months, the midpoint of the two- and three-year maturities conventionally used for a medium-term factor. That condition has an exact solution. The curvature loading depends on maturity only through x, and setting its derivative to zero reduces, after clearing a strictly positive factor, to x squared plus x plus one equals exp(x). The root is located here by bisection on a bracket of 1 to 3 at 1.7932821329007607, so the decay constant that puts the peak at 2.5 years is 1.394091846527279 years. Rebuilding the curvature loading at the constant stored in the factor file and locating its maximum again returns 30.000 months, which is the check that the shipped constant is the one it claims to be. It is identical on all 9,136 rows (1 distinct value in the file).
Diebold and Li print 0.0609 for that constant, and this build does not use their number. Theirs is a rate per month against a maturity in months, while this engine carries a time constant in years against a maturity in years, so the exact map is one over twelve times the rate. That makes their 0.0609 equal to 1.3683634373 years, which places the curvature peak at 29.446340 months rather than the 30 they state. Rounding does not account for it: the exact 30-month constant expressed their way is 0.0597760711, which rounds to 0.0598 and not to 0.0609. What does account for it is that the curvature loading is very flat near its maximum, so a loosely converged numerical search lands anywhere in a wide neighbourhood. The consequence of using their printed value would be a curvature peak 0.55 months early, and this build avoids it by deriving its own.
Fitting
Each date is fitted on exactly the tenors Treasury published that day, located by name and never by column position, because the tenor set grows over eras: the thinnest day in this sample carries 9 tenors and the richest 14. With the decay constant fixed the model is linear in the three coefficients, so every date is one closed-form ordinary least squares with a unique solution, no optimiser and no basin to flip out of. The free-decay benchmark instead profiles the residual sum of squares over the decay constant with a multi-start search across the bracket 0.05 to 30 years, because a single local minimisation on this data is trapped away from the best in-bracket optimum on a large minority of dates. The build requires at least five quoted tenors so that at least one residual degree of freedom survives; with 9 tenors on the thinnest day that floor never binds.
Root mean squared error is the square root of the residual sum of squares divided by the number of tenors used that day, in percentage points, and it is the residual against the observed par yields rather than against any interpolation of them. Yields, the level factor and the fitted curves are in percent per annum; the slope factor, the curvature factor, the residuals and the root mean squared error are in percentage points; the decay constant is in years. Nothing on this page is screened, weighted or smoothed: the observed curve file carries 9,136 trading days, the factor file carries 9,136 rows, and the count of source dates with no fitted row is 0, so the statistics above cover every date Treasury published a curve on.
Sources
- U.S. Department of the Treasury, Daily Treasury Par Yield Curve Rates. The observed yields, a US federal government work. This module reads them as published and fits them; it does not restate or interpolate them.
- Nelson, C. R., and A. F. Siegel (1987), “Parsimonious Modeling of Yield Curves”, The Journal of Business 60(4), 473–489. The three-factor functional form.
- Svensson, L. E. O. (1994), “Estimating and Interpreting Forward Interest Rates: Sweden 1992–1994”, NBER Working Paper 4871. The parameterisation and loading convention used here, with the fourth factor set to zero; see also Drudi and Violi, BIS Papers No. 25, p. 12, which states the same equation.
- Diebold, F. X., and C. Li (2006), “Forecasting the term structure of government bond yields”, Journal of Econometrics 130(2), 337–364. The fixed decay constant, and the 30-month curvature-peak condition this build re-derives.
- NBER business-cycle chronology via the FRED USREC series. The shaded bands, derived from the series rather than typed in.
Back to the Treasury curve itself, or the rates methodology for Treasury’s own par-curve description and the tenor-set eras. The NY Fed ACM term-premium decomposition, which does work on the zero-coupon curve, sits on the rates page.