Calculate the yield for a treasury bill. <span align="right" style="background-color:99FF99"><strong>Excel: TBILLYIELD</strong></span>

View versions (1)

Interface

#include <codecogs/finance/banking/billyield.h>

using namespace Finance::Banking;

This function calculates the yield for a treasury bill. It is equivalent to the Microsoft Excel function TBILLYIELD. The following equation is used to calculate the result:

yield =  \frac{100-pr}{pr} * \frac{360}{DSM}
(1)

Where: yield is the yield of the treasury bill, pr is the price per 100 (currency units) face value, and DSM is the number of days from settlement to maturity.

Example:

#include <iostream>

#include <codecogs/units/date/date.h>
#include <codecogs/units/date/dateymd.h>
#include <codecogs/finance/banking/billyield.h>

int main()
{
  int settDate=Units::Date::date(1999, 3, 31);
  int maturityDate=Units::Date::date(1999, 6, 1);
  double yield=Finance::Banking::billYield(settDate, maturityDate, 98.45);
  int y, m, d;
  
  Units::Date::dateYMD(settDate, y, m, d);
  printf("settlement=%i/%i/%i\n", y, m, d);
  
  Units::Date::dateYMD(maturityDate, y, m, d);
  printf("maturity=%i/%i/%i\n", y, m, d);
  
  printf("bill yield=%f\n", yield);

  return 1;
}

Output:

settlement=1999/3/31
maturity=1999/6/1
bill yield=0.091417

References

Microsoft Excel help file

Parameters

sett
The settlement date, expressed as a serial Julian date.
Blank

This is the date after issue when the treasury bill is traded to the buyer.

Parameters

mat
The maturity date of the settlement, expressed as a serial
Blank

Julian date. This is the date when the treasury bill expires.

Parameters

price
The price per 100 face value of the treasury bill
Blank

(expressed in the appropriate currency units).

Returns

The yield of the treasury bill.

maturity dates more than 1 yeaer after the settlement date cause an error message to be issued.

GPL Licence — free for non commercial use. See Licence details.

Interactive Calculator

sett
mat
price
Result