CarryCurve

USD methodology — Treasury par to continuously-compounded zero

Last updated: 11 May 2026.

The problem

The US Treasury publishes a par yield curve at 14 fixed CMT tenors (1M, 1.5M, 2M, 3M, 4M, 6M, 1Y, 2Y, 3Y, 5Y, 7Y, 10Y, 20Y, 30Y) on a bond-equivalent-yield (BEY) basis. CarryCurve's static-curve carry & rolldown math (see /methodology) requires continuously-compounded zero-coupon rates. Using par yields directly would be approximately right at the long end and materially wrong at the short end and during steepening or flattening dynamics.

This page documents the bootstrap CarryCurve performs to convert Treasury's par yields into the zero rates the math needs. The bootstrap is methodologically standard (e.g. Hull, Options, Futures and Other Derivatives, §4.6) and is implemented in carrycurve/data/treasury_bootstrap.py.

The pipeline

  1. Take the published par yields at the 14 CMT tenors.
  2. Linearly interpolate the par yields across tenor onto a uniform half-year grid (0.5y, 1.0y, …, 30.0y). Treasury's grid is irregular (gaps at 4y, 6y, 8y, 9y, 11–19y, 21–29y); this step fills them in.
  3. Sequential bootstrap on the half-year grid:
    • 0.5y: pure-bill BEY formula, D(T) = (1 + c/2)-2T.
    • 1.0y: single-coupon recursive form, D(1) = (1 - (c/2)·D(0.5)) / (1 + c/2).
    • 1.5y onwards: coupon bond bootstrap, D(T) = (1 - (c/2)·Σ D(ti)) / (1 + c/2) where Σ runs over previously-computed half-year-grid discount factors.
  4. Convert each discount factor to a continuously-compounded zero rate: z(T) = -ln(D(T)) / T.
  5. Validate (positive monotone-non-increasing discounts, plausible-rate sanity bounds, re-pricing of input par bonds to par ± 0.01). On failure the curve is refused and an ops alert fires.

§B.3 — Empirical worked example

Below is a full bootstrap trace against the Treasury par curve as of 2026-05-07. Each row shows the input par yield, the method used, the prior sum of discount factors used by the recursion (where applicable), the resulting discount factor, and the continuously-compounded zero rate.

Tenor (y)Par yield (% BEY)MethodΣ prior DD(T)z(T) (%)
0.08 4.300 short-end-bill 0.996461 4.2544
0.12 4.320 short-end-bill 0.994672 4.2740
0.17 4.340 short-end-bill 0.992870 4.2936
0.25 4.380 short-end-bill 0.989227 4.3327
0.33 4.420 short-end-bill 0.985533 4.3719
0.50 4.450 short-end-bill 0.978234 4.4012
1.00 4.450 short-end-1y 0.9782 0.956942 4.4012
1.50 4.425 coupon-bootstrap 1.9352 0.936465 4.3762
2.00 4.400 coupon-bootstrap 2.8716 0.916657 4.3511
2.50 4.400 coupon-bootstrap 3.7883 0.896925 4.3513
3.00 4.400 coupon-bootstrap 4.6852 0.877617 4.3515
3.50 4.413 coupon-bootstrap 5.5628 0.858333 4.3647
4.00 4.425 coupon-bootstrap 6.4212 0.839361 4.3779
4.50 4.438 coupon-bootstrap 7.2605 0.820698 4.3911
5.00 4.450 coupon-bootstrap 8.0812 0.802340 4.4044
5.50 4.475 coupon-bootstrap 8.8836 0.783695 4.4316
6.00 4.500 coupon-bootstrap 9.6673 0.765268 4.4588
6.50 4.525 coupon-bootstrap 10.4325 0.747062 4.4863
7.00 4.550 coupon-bootstrap 11.1796 0.729078 4.5139
7.50 4.575 coupon-bootstrap 11.9087 0.711318 4.5418
8.00 4.600 coupon-bootstrap 12.6200 0.693783 4.5699
8.50 4.625 coupon-bootstrap 13.3138 0.676475 4.5983
9.00 4.650 coupon-bootstrap 13.9903 0.659396 4.6270
9.50 4.675 coupon-bootstrap 14.6496 0.642545 4.6560
10.00 4.700 coupon-bootstrap 15.2922 0.625924 4.6853
10.50 4.713 coupon-bootstrap 15.9181 0.610543 4.6991
11.00 4.725 coupon-bootstrap 16.5287 0.595443 4.7132
11.50 4.737 coupon-bootstrap 17.1241 0.580619 4.7275
12.00 4.750 coupon-bootstrap 17.7047 0.566069 4.7420
12.50 4.763 coupon-bootstrap 18.2708 0.551787 4.7567
13.00 4.775 coupon-bootstrap 18.8226 0.537772 4.7717
13.50 4.787 coupon-bootstrap 19.3604 0.524018 4.7869
14.00 4.800 coupon-bootstrap 19.8844 0.510523 4.8023
14.50 4.812 coupon-bootstrap 20.3949 0.497282 4.8179
15.00 4.825 coupon-bootstrap 20.8922 0.484293 4.8338
15.50 4.838 coupon-bootstrap 21.3765 0.471551 4.8499
16.00 4.850 coupon-bootstrap 21.8480 0.459054 4.8662
16.50 4.862 coupon-bootstrap 22.3071 0.446797 4.8827
17.00 4.875 coupon-bootstrap 22.7539 0.434777 4.8995
17.50 4.888 coupon-bootstrap 23.1886 0.422991 4.9166
18.00 4.900 coupon-bootstrap 23.6116 0.411435 4.9339
18.50 4.913 coupon-bootstrap 24.0231 0.400106 4.9515
19.00 4.925 coupon-bootstrap 24.4232 0.389000 4.9693
19.50 4.938 coupon-bootstrap 24.8122 0.378115 4.9875
20.00 4.950 coupon-bootstrap 25.1903 0.367446 5.0059
20.50 4.948 coupon-bootstrap 25.5577 0.358888 4.9988
21.00 4.945 coupon-bootstrap 25.9166 0.350544 4.9918
21.50 4.943 coupon-bootstrap 26.2672 0.342411 4.9849
22.00 4.940 coupon-bootstrap 26.6096 0.334482 4.9781
22.50 4.938 coupon-bootstrap 26.9441 0.326752 4.9714
23.00 4.935 coupon-bootstrap 27.2708 0.319216 4.9647
23.50 4.933 coupon-bootstrap 27.5900 0.311869 4.9582
24.00 4.930 coupon-bootstrap 27.9019 0.304707 4.9517
24.50 4.928 coupon-bootstrap 28.2066 0.297725 4.9453
25.00 4.925 coupon-bootstrap 28.5043 0.290917 4.9389
25.50 4.923 coupon-bootstrap 28.7952 0.284280 4.9325
26.00 4.920 coupon-bootstrap 29.0795 0.277810 4.9262
26.50 4.918 coupon-bootstrap 29.3573 0.271501 4.9200
27.00 4.915 coupon-bootstrap 29.6288 0.265350 4.9137
27.50 4.913 coupon-bootstrap 29.8942 0.259354 4.9075
28.00 4.910 coupon-bootstrap 30.1535 0.253507 4.9013
28.50 4.907 coupon-bootstrap 30.4070 0.247807 4.8951
29.00 4.905 coupon-bootstrap 30.6549 0.242249 4.8889
29.50 4.902 coupon-bootstrap 30.8971 0.236829 4.8828
30.00 4.900 coupon-bootstrap 31.1339 0.231546 4.8766

Caveats