Documentation/How Tos/Calc: YIELDMAT function

From Apache OpenOffice Wiki
Jump to: navigation, search


Calculates the yield for a bond that pays interest on maturity.


YIELDMAT(settlementdate; maturitydate; issuedate; rate; price; basis)

settlementdate: the settlement (purchase) date of the bond.
maturitydate: the maturity (redemption) date of the bond.
issuedate: the original issue date of the bond.
rate: the (annual) interest rate of the bond (interest only paid at maturity).
price: the price of the bond, per 100 par value.
basis: is the calendar system to use. Defaults to 0 if omitted.
0 - US method (NASD), 12 months of 30 days each
1 - Actual number of days in months, actual number of days in year
2 - Actual number of days in month, year has 360 days
3 - Actual number of days in month, year has 365 days
4 - European method, 12 months of 30 days each
This function calculates the yield for a bond which pays interest just once, at maturity.
YIELDMAT returns the yield given by this equation::
1 + yield*YEARFRAC(settlementdate;maturitydate;basis) = maturity_value/settlement_value.
See Derivation of Financial Formulas for more details of this equation.


YIELDMAT("2007-02-15"; "2007-04-06"; "2007-01-06"; 5%; 99; 0)

returns approximately 0.1211. You purchase and settle a bond on 15 February 2007; the (90 day) bond was issued on 6th January 2007 and will mature on 6th April 2007, yielding its face value of $1000 and an interest payment of $1000 * 5%*90/360. The price is 99, giving a value of $990; the yield to maurity is about 12.11%.


  • There are (rare) circumstances when the results from Calc and Excel differ, due to the internal use of YEARFRAC.
  • The formula uses takes no account of the compounding of interest. For periods over a year use appropriate care when interpreting the yield.
  • The yield is calculated as at the date of settlement (when the money changes hands). The contract to buy the bond may predate that (for example by 3 days).

See Also
Personal tools