{"slug":"yield-curve-factors","name":"Treasury yield-curve factors","family":"Yield curves","status":"active","estimate":"Treasury CMT par-curve level, short-minus-long slope, and curvature factors from a fixed-decay Diebold-Li fit.","page":"/rates/factors","implementation":{"enginePaths":["engine/finweave_engine/curves/nelson_siegel.py","engine/finweave_engine/curves/diebold_li.py"],"producerPath":"scripts/build/build_curve_factors.py","outputs":["data/parquet/ust_curve_factors.parquet"]},"methodology":[{"path":"engine/finweave_engine/curves/nelson_siegel.py","lines":[13,55],"note":"Defines the factor loadings and records the required par-yield interpretation caveat."},{"path":"engine/finweave_engine/curves/diebold_li.py","lines":[17,45],"note":"Explains why the published time series fixes the decay constant and how the 30-month curvature target is mapped into years."},{"path":"scripts/build/build_curve_factors.py","lines":[348,364],"note":"States the producer's row, sign, loading, fit-quality, and correlation validation checks."},{"path":"src/app/rates/factors/page.tsx","lines":[546,619],"note":"Presents the loading convention, fixed-decay construction, fitting procedure, units, and coverage on the visible model page."}],"data":{"vintage":"9,151 observations from 1990-01-02 through 2026-07-31, measured 2026-08-30","tables":["data/parquet/ust_curve_factors.parquet"],"sources":[{"label":"U.S. Department of the Treasury, Daily Treasury Par Yield Curve Rates","url":"https://home.treasury.gov/resource-center/data-chart-center/interest-rates/TextView?type=daily_treasury_yield_curve"}]},"method":["The producer fits the three-factor Nelson-Siegel functional form directly to the U.S. Treasury CMT par-yield tenors available on each trading date. The coefficients therefore describe the fitted par curve, not a bootstrapped zero-coupon curve.","The published factor time series uses one fixed decay constant for every date, following the Diebold-Li identification strategy. In the engine's time-constant convention it is derived so the curvature loading peaks at 2.5 years.","A free-decay fit is stored beside the fixed-decay fit as a per-date fit-quality diagnostic. Its decay parameter and coefficients can move across weakly identified basins, so it is not the published time-series reading."],"equations":[{"label":"Nelson-Siegel yield form","expr":"y(tau) = beta0 + beta1 * ((1 - exp(-x)) / x) + beta2 * ((1 - exp(-x)) / x - exp(-x)), x = tau / lambda"},{"label":"Decay convention map","expr":"lambda_years = 1 / (12 * lambda_DL)"}],"validation":["The output contains 9,151 rows from 1990-01-02 through 2026-07-31, remeasured from the parquet on 2026-08-30.","The producer checks output coverage against the source curve dates, re-derives the short-minus-long sign convention, checks the fixed loading peak, and requires the fixed-factor correlations with observed par-yield benchmarks to clear documented thresholds.","The visible page rebuilds fitted curves from stored coefficients and compares their residual root mean squared errors with the stored diagnostics."],"limitations":["Treasury CMT observations are par yields. These are par-curve level, slope, and curvature factors, not spot, zero-coupon, discount-curve, or forward-rate factors.","The fixed-decay fit gives comparable factors through time at the cost of a somewhat worse per-date fit than the free-decay diagnostic.","The functional form is a descriptive fit to Treasury's published tenors. No par-to-spot bootstrap is performed."],"references":[{"citation":"Nelson and Siegel (1987), Parsimonious Modeling of Yield Curves, Journal of Business 60(4): 473-489.","url":"https://doi.org/10.1086/296409"},{"citation":"Diebold and Li (2006), Forecasting the term structure of government bond yields, Journal of Econometrics 130(2): 337-364.","url":"https://www.sas.upenn.edu/~fdiebold/papers/paper49/Diebold-Li.pdf"}],"endpoints":[{"path":"/api/methods/[slug]","example":"/api/methods/yield-curve-factors","method":"GET","returns":"Registry metadata, implementation paths, measured vintage, methodology evidence, validation, and limitations. No model observations or parquet contents."}],"lastVerified":"2026-08-30"}