# What is the difference between Discount Yield and Yield on US Treasury Bills

I would like to understand the fundamental difference between yield and discount yield, specifically relating it to zero coupon treasury bills.

For those who are terminal users, the image shows YAS_BOND_YLD vs YLD_YTM_BID.

The convention for US treasuries is discount yield, which is easily computed, directly from the purchase price. However the yield which from my understanding is computed more like an IRR, is always slightly higher. I thought that this may be from the compounding effect in an IRR calculation, however these are zero coupon so, that should not be a factor?

Would appreciate some insight into either BBG yas function or yield calculations on discount securities.

Thank you

• What does the Bloomberg documentation say about each field? Have you contacted Bloomberg Help? Sep 26, 2022 at 12:52
• I have and its not very helpful. They don't disclose YAS (yield and spread) function calculations. However calculating the discount yield is quite simple, and plugging price / maturity, coupons (0) , frequency (0) etc.. into a bond yield calculator produces similar results. I'm wondering why this spread exists between these two measures, given the zero coupon nature. Sep 26, 2022 at 13:23

The two fields in HP are not YAS_BOND_YLD vs YLD_YTM_BID. If you right click on the data point, you can select validate data points and Bid Px is actually PX_BID (Bid YTM is YLD_YTM_BID).

YAS_BOND_YLD itself depends on your YASD default settings and can be bid / ask or mid.

• Bid PX (PX_BID): the YAS help page states For short term instruments, YAS uses the discount formula (T bill) method which is for example explained here. For the screenshot below: $$(FV-P)/FV * (Y/D) = (100-99.804625)/100*(360/27) = 2.605$$ where FV = Face value, P = price, Y is days per year (360 here) and D = days left to maturity.

• Bid YTM (YLD_YTM_BID) is the so called US Treasury convention (utc) on the YAS screen above. You can switch the Simple Interest (Act/360) to 365 to see that this is the displayed US treasury convention (blue arrow). It is computed as the interest needed to get from the price to the face value: $$P*(1+utc*D/Y) = FV$$ or solved for utc to get $$utc = (FV/P -1)*(Y/D)$$

You can quickly cross check on FLDS (or also YAS) that this is indeed what is computed if you manually override the "price".

While in this example the main difference is indeed the daycount as pointed out by nbbo2, $$(FV−P)/FV \neq (FV/P -1) = (FV-P)/P$$

In Python, you can compute it like so:

P = 99.804625     # Price (current)
FV = 100          # Face Value
D = 27            # Days to Maturity
Y1 = 365          # year
Y2 = 360
utc = 0.02646351  # US Treasury Convention

print(f'Discount formula (T-bill method): 360 (Bid PX) = {round((FV-P)/FV*(Y2/D),8)}')
print(f'Discount formula (T-bill method): 365 = {round((FV-P)/FV*(Y1/D),8)}')
print(f'Discount formula (T-bill method): P = 99 (Bid PX) = {round((FV-99)/FV*(Y2/D),8)}')

print(f'Final Value = {round(P*(1+utc*D/Y1),4)}')
print(f'Simple interest (utc): 365 (Bid YTM)= {round((FV/P-1)*(Y1/D),8)}')
print(f'Simple interest (utc): 360 = {round((FV/P-1)*(Y2/D),8)}')


which gives the following output:

• So if I understood correctly, the main difference is year=360 for Discount Yield (as common for money market securities) vs. year=365 for US Treasury Convention (as is used for bonds) ? Sep 27, 2022 at 15:53
• @nbbo2, I edited my answer a bit - and the main difference in this case is indeed due to the daycount. Sep 27, 2022 at 19:49