Skip to content
FinObservatory

Treasury rates / Curve factors

Test whether three factors really describe the Treasury 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,151 trading days from Jan 2, 1990 to Jul 31, 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.

5.29%
Level
fitted long-run par yield
−1.44 pp
Slope
short below long (upward)
−1.26 pp
Curvature
mid-curve trough
0.1087 pp
Fit RMSE
across 14 quoted tenors

Data as of Jul 31, 2026 (last date in the fitted factor file, built from the U.S. Treasury daily par yield curve)

Par, not zero-coupon. Treasury’s constant-maturity series is a par yield curve: each quoted tenor is the coupon rate at which a notional security of that maturity would price at par. The Nelson-Siegel functional form is defined on the zero-coupon curve, so fitting it directly to par yields is a descriptive decomposition of curve shape, not an identity. Every coefficient on this page is therefore a par-curve level, slope or curvature factor. No par-to-spot bootstrap is run, no discount function is derived, and none of these numbers is a zero-coupon or spot factor. Treasury’s own description of the curve, and the tenor-set eras behind it, are on the rates methodology page.

Treasury curve shape

The curve was inverted on fewer than one in ten trading days

Weekly US Nelson-Siegel factor readings in percent and percentage points from 1990 to 2026; the level is the fitted par yield at the long end: 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,151 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.Weekly (last print of each ISO week), 1,909 points from Jan 5, 1990 to Jul 31, 2026. 4 NBER recessions shaded.
Level beta0Slope (short minus long) beta1Curvature beta2
1990200120082020-10.00-5.000.005.0010.0019901995200020052010201520202026

Arrow keys: observations · Home/End: first/last · Esc: dismiss

Hover for values; dashed line = zero

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,151 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.

FactorObserved benchmarkFixed decayFree decayDates
LevelObserved 30Y par yield+0.9962+0.58518,157
LevelObserved 10Y par yield+0.9701+0.56589,151
SlopeObserved 3M minus 10Y+0.9944+0.45729,148
Curvature2 × 2Y minus 3M minus 10Y+0.9789+0.29339,148

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

Treasury curve fit

Free decay fits the latest Treasury curve more closely

Observed and fitted US Treasury par yields in percent on Jul 31, 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 runs from 3.78% at 1M to 5.27% at 30Y. The fixed-decay fitted curve misses it by at most 0.1818 percentage points, at the 20Y point, for a root mean squared residual of 0.1087 percentage points. The free-decay fit does better on the day, 0.1277 at worst (2Y) and 0.0707 overall, at a decay constant of 4.9285 years instead of 1.3941. Tenors are spaced equally along the axis, not to maturity scale.Observed par yields and both fitted curves across the 14 tenors Treasury published on Jul 31, 2026.
Observed par yield, Jul 31, 2026Fitted, fixed decay constantFitted, free decay constant
% par yield · hover for values

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,151 dates for the fixed fit and 1.6e-14 for the free fit. Methodology

TenorMaturity (yr)Observed (%)Fitted, fixed (%)Residual (pp)Fitted, free (%)Residual (pp)
1M0.0833.783.8541−0.07413.8550−0.0750
1.5M0.1253.803.8576−0.05763.8623−0.0623
2M0.1673.853.8613−0.01133.8696−0.0196
3M0.2503.833.8696−0.03963.8840−0.0540
4M0.3333.923.8788+0.04123.8982+0.0218
6M0.5003.983.8997+0.08033.9263+0.0537
1Y1.0004.083.9763+0.10374.0066+0.0734
2Y2.0004.284.1546+0.12544.1523+0.1277
3Y3.0004.344.3256+0.01444.2801+0.0599
5Y5.0004.454.5904−0.14044.4917−0.0417
7Y7.0004.594.7613−0.17134.6571−0.0671
10Y10.0004.754.9117−0.16174.8427−0.0927
20Y20.0005.285.0982+0.18185.1684+0.1116
30Y30.0005.275.1608+0.10925.3056−0.0356

Treasury curve fit

A fixed decay makes factors comparable but less exact

Weekly US root mean squared fit residuals in percentage points across the full daily sample. 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.0491 percentage points under the free fit to 0.0826 under the fixed one, the 90th percentile from 0.0957 to 0.1546, and the 99th from 0.1493 to 0.2300. The fixed fit's residual is the larger one on 9,151 of 9,151 dates, which is what the free fit's search over the decay constant guarantees. The per-date penalty has a median of +0.0237, 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.Root mean squared residual in percentage points, weekly (last print of each ISO week), 1,909 points. 4 NBER recessions shaded.
Fixed decay constant rmse_fixedlamFree decay constant rmse
19902001200820200.0000.2000.4000.60019901995200020052010201520202026

Arrow keys: observations · Home/End: first/last · Esc: dismiss

Hover for values

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

Factor identification

Free decay produces economically impossible negative level factors

Weekly US level factors in percent across the full Treasury par-curve sample. 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 257 of 9,151 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 584 dates (6.38%) and is pinned at the edge of its search bracket on 368. Its curvature coefficient falls below 1e-4 in magnitude on 2,440 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.Level factor in percent, weekly (last print of each ISO week). Over the points charted the free-decay level spans −26.27 to 11.84 and the fixed-decay level 1.12 to 9.31, so the axis is set by the free fit. 4 NBER recessions shaded.
Free decay constant beta0Fixed decay constant beta0_fixedlam
1990200120082020-30.0-20.0-10.00.010.020.019901995200020052010201520202026

Arrow keys: observations · Home/End: first/last · Esc: dismiss

Hover for values; dashed line = zero

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

Factor identification

The latest fitted curves differ by at most 7.8 basis points, at 10Y

Observed and free-fit US Treasury par yields in percent on Jul 30, 2026 and Jul 31, 2026; Treasury quoted 14 tenors on both days, and none of those moved by more than 7.0 basis points. The chart below draws four lines: the two observed curves, and the free-decay fitted curve for each day. Each fitted curve sits within 12.8 basis points of the observed curve it was fitted to. Yet the free-decay level factor behind them moves from 5.5819 percent to 5.5929, a change of 0.0109 percentage points, at root mean squared residuals of 0.0689 and 0.0707 that a reader could not choose between. Over the same two days the fixed-decay level factor moves 0.0641 percentage points, from 5.2219 to 5.2860. 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.Four curves over the 14 tenors quoted on Jul 31, 2026, of which 14 are quoted on both days. The two fitted curves differ by at most 7.8 basis points at any tenor, while the coefficients behind them differ by percentage points.
Observed, Jul 30, 2026Free-decay fit, Jul 30, 2026Observed, Jul 31, 2026Free-decay fit, Jul 31, 2026
% par yield · hover for values
Source: U.S. Department of the Treasury, daily par yield curve rates
FitDateLevelSlopeCurvatureDecay (yr)RMSE (pp)
Fixed decayJul 30, 20265.2219−1.3654−1.33081.39410.1119
Fixed decayJul 31, 20265.2860−1.4380−1.25621.39410.1087
Free decayJul 30, 20265.5819−1.7408−3.2e-85.66400.0689
Free decayJul 31, 20265.5929−1.7526−1.1e-74.92850.0707

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,150 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.5581 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,151 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,161 trading days, the factor file carries 9,151 rows, and the count of source dates with no fitted row is 10, so the statistics above cover 9,151 of the 9,161 dates Treasury published a curve on.

Sources

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.