Calculate the price per 100 units face value of a treasury bill. <span align="right" style="background-color:99FF99"><strong>Excel: TBILLPRICE</strong></span>

View versions (1)

Interface

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

using namespace Finance::Banking;

Return the price per 100 (currency units) face value of a treasury bill. This function is equivalent to the Microsoft Excel function TBILLPRICE.

The following equation is used:

price = 100 * (1 - \frac{rate * DSM}{360})
(1)

Where: price is the price per 100 face value of the treasury, rate is the discount rate of the treasury bill, DSM is the number of days from settlement to maturity.

References

Microsoft Excel help file

Example 1

#include <stdio.h>
#include <codecogs/units/date/date.h>
#include <codecogs/finance/banking/billprice.h>

int main(int argc, char *argv[])
{
  int settDate=Units::Date::date(1999, 3, 31);
  int maturityDate=Units::Date::date(1999, 6, 1);
  double result=Finance::Banking::billPrice(settDate, maturityDate, 0.09);
  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("treasury bill price=%f\n\n", result);

  settDate=Units::Date::date(2005, 8, 9);
  maturityDate=Units::Date::date(2005, 12, 30);
  result=Finance::Banking::billPrice(settDate, maturityDate, 0.11);
  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("treasury bill price=%f\n", result);
  return 0;
}

Output:

settlement=1999/3/31
maturity=1999/6/1
treasury bill price=98.45

settlement=2005/8/9
maturity=2005/12/30
treasury bill price=95.661111

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

rate
The discount rate of the treasury bill.

Returns

The previous coupon date of the security.

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
rate
Result