Calculating a Treasury Forward Rate from Zero Rates
Summary
The note diagnoses why a manually calculated one-year forward rate does not match a displayed Treasury forward quote. The key issue is that the initial one- and two-year rates are coupon bond yields, rather than zero rates. Coupon yields cannot be substituted directly into the standard compounding relation for extracting a forward rate. The answer recommends switching to zero rates and gives an illustrative calculation using the revised spot rates, which comes close to the screen quote.
The discount-factor calculation also differs because its inputs appear to come from a different market snapshot than the displayed rates. This illustrates two practical checks when validating a forward-rate calculation: confirm the curve inputs are zero rates, and ensure the discount factors and rates correspond to the same time. The discussion is tied to a specific Treasury curve display and snapshot, so its numerical comparison is not a general statement about all curve conventions or market data.
Key ideas
- Coupon bond yields are not interchangeable with zero rates when deriving a forward rate.
- Use spot zero rates in the compounded relationship between maturity rates and the forward period.
- Discount factors and rates must come from the same market snapshot for a consistent comparison.
- The example produces a result close to, but not identical with, the displayed forward quote.
Tags
Full text
# Trying to check this 1Y1Y forward treasuries calculation # Trying to check this 1Y1Y forward treasuries calculation here is a screenshot of the FWCM screen on Bloomberg: https://i.sstatic.net/2BT3y.jpg I'm trying to check that I understand this by calculating the 1Y1Y which according to this matrix is 3.6877%. So the inputs are 1Yr rate at 2.7737% and 2Yr rate is 3.2756%. ((2*.032756)-(1*.027737))/(2-1) = 3.78% Bloomberg says they calculate it using discount factors and those rates are here: https://i.sstatic.net/Y7pFZ.jpg 1 year discount rate is .972146 2 year discount rate is .935587 I can calculated the rate by this https://i.sstatic.net/CxyT3.jpg which I take to mean below .935587/.972146 = 1/(1+r) r = 3.91% Both 3.91% and 3.78% are different from bloombergs 3.6877%. Am I doing something wrong? I asked bloomberg and they only gave me the formula I was using. ## Answer by AlRacoon (score 5, accepted) https://quant.stackexchange.com/a/71244 I pulled up the Bloomberg page you referenced in your question. The rates you are referencing are not zero rates but yields on the coupon note/bond that are used to construct the curve. Toggle the spot from coupon to zero to get the zero rates. When I do this, I get a 1Yr rate of 3.0386% and a 2Yr rate of 3.4119%. Using the formula: $$(1+1Yr/100)^1 * (1+1Yr1Yr/100)^1 = (1+2Yr/100)^2 $$ I get a 1Yr1Yr forward of 3.7866%, while Bloomberg is showing 3.7833%. As for the discount factors you use in the second part of your calculations, it looks like the rates have moved since you snapped the first page and therefore your discount factors are for different rates.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.