1
$\begingroup$

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

Please see image below:

enter image description here

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

$\endgroup$
2
  • 2
    $\begingroup$ What does the Bloomberg documentation say about each field? Have you contacted Bloomberg Help? $\endgroup$
    – Alper
    Sep 26, 2022 at 12:52
  • $\begingroup$ 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. $\endgroup$
    – pirloe
    Sep 26, 2022 at 13:23

1 Answer 1

1
$\begingroup$

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. enter image description here

  • 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".
enter image description here

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: enter image description here

$\endgroup$
3
  • $\begingroup$ 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) ? $\endgroup$
    – nbbo2
    Sep 27, 2022 at 15:53
  • $\begingroup$ @nbbo2, I edited my answer a bit - and the main difference in this case is indeed due to the daycount. $\endgroup$
    – AKdemy
    Sep 27, 2022 at 19:49
  • 2
    $\begingroup$ @pirloe if the answer answered your question please consider also accepting it $\endgroup$
    – AKdemy
    Oct 5, 2022 at 0:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.