Sixty-four years of TLT: reconstructing the bond ETF everyone owns
Sixty-four years of long-dated Treasury returns, reconstructed from yield data
A long-bond ETF sits in almost every balanced portfolio. Ours included — TLT is one of the three core holdings in the risk-parity base of our portfolio architecture. And yet when TLT lost 48% between 2020 and 2024, most holders experienced it as a shock. It should not have been. The mechanics were entirely predictable from the yield level at which investors bought in, and the historical precedent exists — it just doesn’t live in TLT’s own published price record, which is too short to cover even one full rate cycle. This piece rebuilds that history back to 1962 using the standard academic method, and spends enough time on the underlying bond math that a reader can see why 2022 happened and why similar episodes will happen again. The reconstructed series then becomes a tool we can apply: a proper multi-regime test set for our core portfolio, long enough to cover stagflation, disinflation, and the full bond bull and bear markets.
What TLT actually holds
TLT is an iShares exchange-traded fund that holds US Treasury bonds with more than twenty years left until maturity. Holders know this much. The rest is less obvious, and it helps to have a concrete picture before moving on to the math.
A Treasury bond is a loan to the US government. You lend $100 today, and in return the government promises to pay you a fixed coupon every six months for the full term — say, thirty years — plus your original $100 back at the end. The size of the coupon is set when the bond is issued, and it never changes. A bond issued in 2020 with a 1.5% coupon pays $1.50 per year forever, even if the world has moved on to 5% rates; a bond issued in 2023 with a 4.5% coupon keeps paying $4.50 per year regardless of what happens next. The coupon is engraved at birth.
Now: if you want to sell that bond before maturity, its price is whatever other investors will pay today, given current market yields. A bond with a 1.5% coupon is not attractive in a world where freshly issued bonds pay 4.5%, so its price has to fall far enough to make up the difference. It has to trade at a discount. At the moment of issue, by convention, the coupon is chosen to match the prevailing market yield, so the bond trades at exactly $100 — what the industry calls par. After that, the bond’s price drifts away from par in either direction as rates move and time passes.
This is the vocabulary we need. Maturity is how long until the government pays the face value back. Coupon is the fixed interest rate engraved at issue. Par ($100) is the price when coupon equals current market yield. Everything else follows from these three.
With that established: as of 2 April 2026, TLT held 45 Treasury bonds, with a weighted average remaining maturity of 25.9 years, a weighted average coupon of 3.4%, and a weighted average price of $78 — meaning the fund is holding its bonds at an average 22% discount to par. Thirty-one of the forty-five bonds trade more than 15% away from par. The fund is not holding the current 30-year bond at current-market yields. It is holding a historical archive of every long Treasury issued between roughly 2014 and 2026, at whatever price today’s yield curve assigns to each one.
The fund rolls continuously. When a bond’s remaining maturity drops below twenty years it is sold, and the proceeds are reinvested in freshly issued long bonds. This is why TLT’s effective duration stays around 15 years even though individual bonds shorten every day. TLT is not a bond. It is a rolling portfolio of bonds. Every long-duration bond ETF — VGLT, EDV, IEF, and their European counterparts — works the same way. The name “20+ Year Treasury” is a statement about the maturity floor at which bonds are sold, not about the fund’s own trajectory.
This distinction matters for history. A 20-year Treasury purchased in January 2000 matured in January 2020. TLT never held it that long. The question “how did long-dated Treasuries perform over sixty years” is therefore not about following individual bonds through to maturity. It is about following a rolling strategy that continuously replaces its holdings. The data we need for that is not historical bond prices but the historical yield curve.
The math in three steps
Three concepts cover almost everything that determines a long-bond ETF’s return. They build on each other, and the third one is where the 2022 drawdown lived.
First, price is discounted cash flow. We already have the intuition: a bond is a stream of future payments — coupons every six months plus the face value at maturity — and its price today is whatever investors are willing to pay for that stream given current market yields. Mathematically, that “whatever they’ll pay” is the present value of the payments. Each future dollar is worth less than a dollar today, because a dollar today could be invested to earn the market yield in the interim; that’s the discounting. Written out as a formula:
The formula has two pieces that correspond to the two kinds of payment. F is the face value — $100 per bond, paid back on the maturity date. D(y, T) is the discount factor: a single number that says what one dollar received T years from now is worth today, given market yield y. So F · D is the present value of that one lump-sum payment. c is the dollar coupon paid every six months — $2 per payment on a 4% coupon. A(y, T) is the annuity factor: it adds up the discount factors across every single coupon date, answering the question “what is a stream of one-dollar payments worth today?” So c · A is the present value of the coupon stream. Add the two and you get the full price.
Why is the resulting price–yield relationship curved rather than straight? Because each cash flow is discounted exponentially. Take the final coupon, paid right at maturity twenty years from now. With payments every six months, that coupon sits forty periods in the future — 2 periods per year × 20 years — so its discounted value divides by (1 + y/2) forty times over. A small rise in y raises each of those forty factors a little, and the compound effect shrinks the discounted value sharply. But it also means there is less value left in that cash flow going forward: push yields higher still and the same coupon is already nearly worthless, so there isn’t much more to lose. The curve flattens out. The opposite happens when yields fall: distant cash flows grow explosively as each of those forty discount factors shrinks. This asymmetry — big gains when yields fall, diminishing losses when yields rise — is the geometry of exponential discounting, and it is the source of convexity, the concept that matters most in what follows.
Plot P(y) across a range of yields and the shape is exactly what we’d expect:
Second, duration is the slope. For small yield moves we can locally approximate the price–yield curve by its tangent. The slope of that tangent — more precisely, the fractional price change per unit yield change — is called modified duration. For a 20-year par bond at 4%, modified duration is 13.7 years. This has a direct interpretation: a one-percentage-point rise in yields produces approximately a 13.7% fall in price, to first order.
Fund fact sheets report duration, and for the daily yield wiggles of a normal trading week it is nearly exact. For larger moves it is not. A one-percentage-point move is a comfortable month during a tightening cycle, and duration already starts to miss. A three-percentage-point move — roughly what happened to the 30-year yield between 2020 and 2023 — is outside duration’s usable range entirely.
Third, convexity is the curvature. The second derivative of the price–yield curve is positive for any normal bond. This has a pleasing consequence: for the same size of yield move, the gain when yields fall is larger than the loss when yields rise. The second-order correction to the duration approximation is:
The quadratic term is always positive because both C > 0 and (Δy)² ≥ 0. It adds to the gain when yields fall, and subtracts from the loss when yields rise. This is the “convexity gift” in the cliché. It is not small:
Every practitioner writeup of long bonds mentions convexity, not because it is exotic, but because for 20-year duration any meaningful yield cycle puts the holder firmly in convexity territory.
From bond math to TLT history
Before the method, a note on what we are actually measuring. Most retail investors think of markets in terms of prices — stocks trade at a price, bonds trade at a price, and yields are a derived concept. For Treasury bonds the mental model should be reversed. Dealers quote bonds in both price and yield terms on screen, but the quantity that moves — the one that responds to new information, to Fed announcements, to inflation data — is the yield. The price is then whatever falls out of the yield given the bond’s fixed coupon and remaining maturity. There is no ambiguity: once you know the yield, you know the price, because the formula in the previous section pins them together.
This is different from three things people often confuse it with. It is not the Federal Funds Rate, which is the overnight interbank lending rate set as a policy target by the Fed; the funds rate influences the very short end of the curve strongly and the 30-year end only loosely, through inflation expectations. It is not the auction yield, which is determined at specific Treasury auctions when new bonds are issued — the government sets the coupon close to prevailing secondary-market yields so the bond starts at par, and after that the bond trades in the secondary market like every other. And it is not a single bond’s yield, since actively traded Treasuries of nearby maturities typically trade at slightly different yields; FRED’s DGS20 and DGS30 are constant-maturity yields, meaning they are interpolated from the actively traded universe onto a theoretical 20-year or 30-year point on the yield curve. A yield curve, in other words, is the market’s best read of “what would the Treasury have to offer today if it issued a fresh bond of exactly this maturity?”
That interpolation is published daily. The Federal Reserve Bank of New York collects bid-side quotes from dealers at approximately 3:30 PM New York time; those are used by the Treasury to construct the yield curve; and FRED republishes the constant-maturity values the same evening. This is the raw material our method needs. TLT, separately, closes at 4:00 PM when the NYSE closes. That thirty-minute gap is small, but it will matter for daily tracking error later.
Having a price–yield curve and its two derivatives gives us a total return. Total return over one period is the coupon income received plus the capital gain or loss from price change. For a single bond held over one month, both pieces are calculable: coupon accrues at a known rate, and the bond — now with one month less remaining maturity — is re-priced at the new market yield.
This is where Laurens Swinkels’ 2019 paper enters. Swinkels observed that if we are willing to make one idealization — that the bond we are pricing is always a freshly issued par bond at the prevailing constant-maturity yield — then there is a clean closed-form monthly total return, with no fitted parameters at all. The idealization matters: by construction, a par bond has coupon rate equal to yield. FRED’s constant-maturity yields are exactly the yields at which the Treasury could issue new bonds today, which sit close enough to par to make this workable.
The monthly total return formula written plainly:
The first term is one month’s worth of coupon at last period’s yield. The second term is the price today of a bond that was at par one month ago with coupon rate equal to last month’s yield, now priced at today’s yield with one month less remaining. The third term subtracts the starting price, which was 1 (par). That is the whole method: no fitting, no free parameters beyond the assumed maturity T. Several practitioner blogs reimplemented this for the US case, notably Portfolio Optimizer and Quantpedia, the latter extending to a full 100 years of daily data. PortfolioCharts built a variation that prices a full maturity ladder rather than a single constant-maturity bond, which models the actual ETF mechanics more directly.
All three methods are built on the same formula; they differ in frequency and in how many bonds they price simultaneously. We implemented all three from scratch, calibrating the maturity T on the 2002–2014 in-sample period and validating on 2015–2026 out-of-sample:
Swinkels’ original monthly formula achieves 99% return correlation with just 1.9% tracking error — matching Portfolio Optimizer’s published number. The daily and ladder versions are almost indistinguishable because when both are driven by the same yield series the ladder collapses to approximately a single-maturity bond.
Validating on twenty-four years of actual TLT
At first glance the 4.7% daily tracking error looks like a real problem next to the 1.9% monthly number. It is not a model problem. The daily error series has a lag-1 autocorrelation of −0.41 — when the synthetic over-predicts today, it under-predicts tomorrow, more often than chance allows. That is the fingerprint of a timing mismatch, not of model misspecification. The FRED constant-maturity yield is anchored to the 3:30 PM New York snapshot. TLT closes at 4:00 PM. Those two moments see slightly different information — thirty minutes of afternoon trading separates them. The yield change FRED records for Tuesday matches the price move TLT recorded for Tuesday-plus-the-last-thirty-minutes, so on Tuesday the synthetic is wrong in one direction and on Wednesday the error reverses as the mismatch flips.
If this is pure timing noise, it should wash out when returns are aggregated to longer horizons: the over-prediction on day one cancels the under-prediction on day two, and the sum becomes correct. If it were a real model miss, it would persist. It is testable:
The monthly formula is not a better model. It is the same model applied to data where the timing noise has already been integrated out. For backtest purposes with holding periods longer than a day or two, the distinction mostly vanishes. The price-level overlap over the full 24-year actual TLT record tells the same story with one subtle wrinkle:
The wrinkle is that synthetic sits very slightly above actual throughout the 24 years, drifting apart by a few percent by 2026. This is the par-bond idealization leaking through: TLT’s actual discount-bond holdings earn modestly less carry than a freshly issued par bond would. At roughly 0.1% of annual drift, it is the residual limit of the method and not large enough to matter for portfolio backtests.
Sixty-four years of long-bond returns
With the method validated, the point is to apply it backward. FRED’s DGS30 series goes back to 1977; DGS20 goes back to 1962. We extend pre-1977 by regressing DGS30 on DGS20 over their 1977–2026 overlap and applying the regression backward, with a 60-day linear blend across the splice to eliminate what would otherwise be a phantom 2.3% single-day return at the handover. The regression R² over the overlap is 0.997. Applying the daily Swinkels formula to this extended yield series produces a daily total-return record 64 years long:
The compound return is not what matters. The drawdown history is:
A reader who managed portfolios through Volcker might expect 1979–1982 to be the archetypal long-bond disaster: 13% inflation, Fed funds at 20%, the 30-year yield at 15%. And yet peak-to-trough, long-duration Treasuries lost “only” 24% in that era. The 2022–2024 inflation shock produced a 48% loss. The mechanics are entirely straightforward once the math from earlier in this piece is available. Duration is itself a function of starting yield: at 1% starting yield a 20-year bond has modified duration of roughly 18 years; at 10% starting yield, roughly 9 years. The same 500-basis-point yield move therefore produces a far larger percentage loss when starting from 1% than from 10%. In 2020 the 30-year yield reached 1.2% and long-bond duration was near its all-time high. When yields normalized to 5% over three years, the resulting loss was mechanically inevitable from the moment the starting yield was set. This observation is trivial from the extended history and invisible without it.
Cross-checking against external records
The modern overlap period (2002–2026) shows us the method tracks actual TLT. The pre-2002 stretch has no ETF to compare against, so we have to cross-check the big events against independent sources. The Volcker episode is the natural candidate because its long-bond damage is well documented in the academic literature.
Our synthetic series shows two peak-to-trough drawdowns of roughly −24% each in the Volcker era: one from July 1979 to February 1980 as yields rose from 8.8% to 12.9%, and a second from June 1980 to September 1981 as yields rose from 9.5% to their all-time peak of 15.2%. Bogleheads’ widely-used Simba backtesting project, which applies a par-bond total return construction to the 20-year constant-maturity yield, reports annual total returns of −1.7% for 1979, −6.3% for 1980, and +4.2% for 1981. Damodaran’s long-running dataset shows the 10-year Treasury lost 3% in 1980 and gained 8% in 1981. Our annual numbers for a 20+ year constant-maturity par bond are within a few percentage points of Simba’s at each year, and the larger absolute magnitudes are consistent with the longer duration. The Federal Reserve’s own historical record confirms the yield peak at 15.7% for the 10-year in October 1981, which we recover at 15.2% for the 30-year — the order is correct, the 30-year typically sitting slightly below the 10-year peak in an inverted environment. The synthetic series passes this test.
Limitations
Three honest caveats close the method. The par-bond idealization is real — the fund holds off-the-run bonds at an average 22% discount to par, and the residual drift between synthetic and actual is the leakage from modelling them as par bonds. At roughly 0.1% per year it is small, but it is there. The pre-1977 extension is doubly synthetic, regressing the 30-year on the 20-year and projecting backward; the R² of 0.997 makes this excellent in-sample, but the 1962–1977 stretch is strictly less reliable than 1977–2026. And the daily tracking error has a floor of about 4.7% that cannot be reduced with public data — it is the thirty-minute timing offset between FRED’s 3:30 PM yield snapshot and TLT’s 4:00 PM close. For backtests with holding periods of weeks or more, the floor is irrelevant.
What this buys us
Bonds are harder to understand than stocks. Stocks have no formula, only a story. Bonds have a formula, and the story lives inside it. Add an ETF wrapper on top — a fund that continuously rolls a basket of off-the-run bonds across a drifting yield curve while paying monthly distributions — and the complexity compounds. Most holders skip to the ticker.
The point of opening the formula is not pedagogical virtue. It is that without the formula, we have no way to extend the history, and without a long enough history, the 2022 drawdown looks like a black swan rather than the mechanical consequence of the yield level investors accepted in 2020.
The reconstructed 1962–2026 series is the payoff. It is a substantially longer and fully transparent test set for our core portfolio — spanning the 1970s stagflation, the Volcker disinflation, the 1987 rate spike, the 2008 aftermath, and every rate regime that no post-inception ETF series can cover. The next step is exactly that: backtesting our risk-parity core across these regimes to see whether “beyond passive” still behaves the way it should when the conditions are as hostile as they have ever been.
References
Swinkels, L. (2019). Treasury Bond Return Data Starting in 1962. Data, 4(3), 91. mdpi.com/2306-5729/4/3/91
Portfolio Optimizer (2022). The Mathematics of Bonds: Simulating the Returns of Constant Maturity Government Bond ETFs. portfoliooptimizer.io
Javorska, J. & Hanicova, D. (2023). Extending Historical Daily Bond Data to 100 Years. Quantpedia. quantpedia.com
PortfolioCharts. Bond Index Calculator & High Profits at Low Rates: The Benefits of Bond Convexity. portfoliocharts.com/bond-index-calculator
Bogleheads Simba backtesting project. Long Term bond performance during 1975–1981. bogleheads.org/forum
Damodaran, A. (2025). Historical Returns on Stocks, Bonds and Bills: 1928–2024. NYU Stern. pages.stern.nyu.edu/~adamodar
Federal Reserve Bank of St. Louis. 10-Year Treasury Yield Long-Term Perspective. advisorperspectives.com
Hallerbach, W. G. (2009). Duration and Bond Return Approximation: The Quasi-Convexity Effect. SSRN. papers.ssrn.com
Ibbotson, R. G. & Harrington, J. P. (2021). Stocks, Bonds, Bills, and Inflation (SBBI) 2021 Summary Edition. CFA Institute Research Foundation. rpc.cfainstitute.org
















Great article. I wonder about your thoughts around recreating total returns with TLT.
My understanding is that computing a TLT time series as a cumulative return is not the complete picture, as it misses the coupon.
For strategies that are long-term holders, how does one use TLT as an effective proxy of a true bond holder?