# Using the Bond Coupon Dates Add-in Functions

 By: Stephen L. Nelson, CPA
 Investing in bonds? Analyzing related fixed-income investments? You'll want to know this bit of trivia: Excel provides six functions that let you make bond coupon date calculations more easily:COUPDAYBS,COUPDAYS,COUPDAYSNC,COUPNCD,COUPNUM, andCOUPPCD.Some Background Info on the Bond Coupon Date FunctionsAll six coupon date functions use four standard arguments: the settlement date, the maturitydate, the frequency, and the basis.The settlement date specifies the date the bond is settled, or purchased. The maturity datespecifies the date the bond matures, or expires. You may enter these date arguments either as text strings enclosed in quotation marks or as serial date values.The frequency argument gives the number of coupon payments made each year: you specify 1 to indicate an annual coupon, 2 to indicate a semiannual coupon, and 4 to indicate a quarterly coupon.The basis argument specifies the number of days in the month and year assumed for the date calculations. You specify the basis as 0 for the US (or NASD) version of 30 days in a month and 360 days in a year; as 1 for the actual number of days in the month and actual number of days; 2 for the actual number of days in the month but 360 days in a year; 3 for the actual number of days in the month and 365 days in a year; and 4 for the European version of 30 days in a month and 360 days in a year.NOTE Excel uses only the integer portion of the arguments you supply to the add-in coupondate functions. If you enter an argument with decimal values, Excel truncates the argument to just its integer component.Common Bond Coupon Date Function ErrorsThe coupon date functions return an error value in several predictable cases:&bull If you use an invalid date, Excel returns #VALUE.&bull If you use a frequency argument other than 1, 2, or 4, Excel returns #NUM.&bull If you use a day-count-basis switch other than 0, 1, 2, 3, or 4, Excel returns #NUM.&bull If the settlement day follows the maturity date, Excel returns #NUM.Using the COUPDAYBS FunctionThe COUPDAYBS function calculates the number of days from the last coupon payment date to the settlement date given the settlement date, maturity date, coupon frequency, and basis. It uses the following syntax:COUPDAYBS (settlement, maturity, frequency,basis)For example, suppose you want to calculate the number of days from the last coupon paymentdate to the settlement date in the following situation: Someone purchases a 10-year bond on November 26, 2000, with a maturity date of April 30, 2008. The bond pays coupons twice a year based on the US, or NASD, assumption. To make this calculation, you use the following formula:COUPDAYBS ("11/26/2000","4/30/2008",2,0) The function returns the value 26.Using the COUPDAYS FunctionThe COUPDAYS function calculates the number of days in the coupon period that includes the settlement date given the settlement date, the maturity date, the coupon frequency, andthe day count basis. It uses the following syntax:COUPDAYS (settlement, maturity, frequency, basis)For example, suppose you want to calculate the number of days in the coupon payment inthe following situation: Someone purchases a 10-year bond on November 26, 2000, with amaturity date of April 30, 2008. The bond pays its coupon twice a year based on the US, orNASD, assumption. To make this calculation, you use the following formula:=COUPDAYS("11/26/2000","4/30/2008",2,0)The function returns the value 180.Using the COUPDAYSNC FunctionThe COUPDAYSNC function calculates the number of days from the settlement date to the next coupon date given the settlement date, the maturity date, the frequency, and the basis. It uses the following syntax:COUPDAYSNC (settlement, maturity, frequency, basis)For example, suppose you want to calculate the number of days from the settlement dateto the next coupon payment in the following situation: Someone purchases a 10-year bondon November 26, 2000, with a maturity date of April 30, 2008. The bond pays its coupontwice a year based on the US, or NASD, assumption. To make this calculation, you use thefollowing formula:=COUPDAYSNC ("11/26/2000","4/30/2008",2,0)The function returns the value 154.Using the COUPNCD FunctionThe COUPNCD function calculates the coupon date that follows the settlement date given the settlement date, the maturity date, the frequency, and the day-count-basis switch. It usesthe following syntax: COUPNCD (settlement, maturity, frequency, basis)For example, suppose you want to calculate the next coupon payment after the settlementdate in the following situation: Someone purchases a 10-year bond on November 26, 2000,with a maturity date of April 30, 2008. The bond pays its coupon twice a year based on theUS, or NASD, assumption. To make this calculation, you use the following formula:=COUPNCD("11/26/2000","4/30/2008",2,0)The function returns the value 37011, which is the serial date value for April 30, 2001.NOTE Excel uses serial values to represent dates: 1 for January 1, 1900; 2 for January 2, 1900;and so on. To format a serial date value to look like a date, select the cell, choose theFormat menu's Cell command, click the Number tab, and choose a date format.Using the COUPNUM FunctionThe COUPNUM function calculates the number of number of coupons, or interest payments, made between the settlement date and maturity date. The function, which rounds this result up to the nearest integer value, uses the following syntax:COUPNUM (settlement, maturity, frequency, basis)For example, suppose you want to calculate the number of coupons, or interest payments, in the following situation: Someone purchases a 10-year bond on November 26, 2000, with a maturity date of April 30, 2008. The bond pays its coupon twice a year based on the US, or NASD, assumption. To make this calculation, you use the following formula:=COUPNUM("11/26/2000","4/30/2008",2,0)The function returns the value 15.Using the COUPPCD FunctionThe COUPPCD function calculates the coupon date before the settlement date given thesettlement date, the maturity date, the frequency, and the basis. It uses the following syntax:COUPPCD (settlement, maturity, frequency, basis)For example, suppose you want to calculate the coupon payment date preceding the settlementdate in the following situation: Someone purchases a 10-year bond on November 26, 2000, with a maturity date of April 30, 2008. The bond pays its coupon twice a year based on the US, or NASD, assumption. To make this calculation, you use the following formula:COUPPCD ("11/26/2000","4/30/2008",2,0)The function returns the value 36830, which is the serial date value for October 31, 2000.NOTE Excel uses serial values to represent dates: 1 for January 1, 1900; 2 for January 2, 1900;and so on. To format a serial date value to look like a date, select the cell, choose the Format menu's Cell command, clicks the Number tab, and chooses a date format.