A to Z of Excel Functions: The ODDFPRICE Function
8 May 2023
Welcome back to our regular A to Z of Excel Functions blog. Today we look at the ODDFPRICE function.
The ODDFPRICE function
A loaf of bread for $5,000? Yes, inflation is on the up, but that is an ODDFPRICE!! Hmmm, maybe not – and whilst we’re at it, don’t bother looking for an EVENFPRICE either…
The ODDFPRICE function is an Excel financial function that calculates the price per $100 face value of a security or bond with an irregular first period. That’s what is meant by “odd”! The F isn’t an expression for the horrific formula upon which it is based, but rather denoting this calculates for the First period.
In financial analysis, some bonds come with irregular first or last periods. Due to the irregular first or last period, the payment doesn’t fit in any of the usual or standard patterns. If you wish to calculate the price of a bond with an “odd” first period (either short or long), we can use the ODDFPRICE function.
The ODDFPRICE function employs the following syntax to operate:
ODDFPRICE(settlement, maturity, issue, first_coupon, rate, yield, redemption, frequency, [basis])
The ODDFPRICE function has the following arguments:
- settlement: this is required. This is the security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer
- maturity: this is also required. This represents the security's maturity date. The maturity date is the date when the security expires
- issue: again, required. This is the security's issue date
- first_coupon: required. This denotes the security's first coupon date
- rate: yet again required. This is the security's interest rate
- yield: this is also required. This is the security's annual yield
- redemption: required. The security's redemption value per $100 face value
- frequency: also required. This considers the number of coupon payments per year. For annual payments, frequency = 1; for semiannual, frequency = 2; for quarterly, frequency = 4
- basis: this last argument is the only one that is optional. This is the type of day count basis to use. There are five options:
It should be further noted that:
- Microsoft Excel stores dates as sequential serial numbers so they can be used in calculations. By default, January 1, 1900 is serial number 1, and January 1, 2008 is serial number 39448 because it is 39,447 days after January 1, 1900
- dates should be entered using the DATE function, or as results of other formulae or functions. For example, use =DATE(2020,2,29)for the 29th of February, 2020. Problems may occur if dates are entered as text
- the settlement date is the date a buyer purchases a coupon, such as a bond. The maturity date is the date when a coupon expires. For example, suppose a 30-year bond is issued
on January 1, 2024, and is purchased by a buyer six months later. The issue date would be January 1, 2024, the settlement date would be July 1, 2024, and the maturity date would be January 1, 2054, which is 30 years after the January 1,
2024, issue date
- settlement, maturity, issue, first_coupon and basis are all truncated to integers
- if settlement,maturity, issue or first_coupon is not a valid date, ODDFPRICE returns the #VALUE! error value
- if rate < 0 or if yield < 0, ODDFPRICE returns the #NUM! error value
- if basis < 0 or if basis > 4, ODDFPRICE returns the #NUM! error value
- the following date condition must be satisfied; otherwise, ODDFPRICE returns the #NUM!error value:
maturity > first_coupon > settlement > issue
- ODDFPRICE is calculated as follows. For an odd, short first coupon:
where:
- A = number of days from the beginning of the coupon period to the settlement date (accrued days)
- DSC = number of days from the settlement to the next coupon date
- DFC = number of days from the beginning of the odd first coupon to the first coupon date
- E = number of days in the coupon period
- N = number of coupons payable between the settlement date and the redemption date (if this number contains a fraction, it is raised to the next whole number)
- For an odd, long first coupon:
where:
- Ai = number of days from the beginning of the ith, or last, quasi-coupon period within odd period
- DCi = number of days from dated date (or issue date) to first quasi-coupon (i = 1) or number of days in quasi-coupon (i = 2,..., i = NC)
- DSC = number of days from settlement to next coupon date
- E = number of days in coupon period
- N = number of coupons payable between the first real coupon date and redemption date (if this number contains a fraction, it is raised to the next whole number)
- NC = number of quasi-coupon periods that fit in odd period (if this number contains a fraction, it is raised to the next whole number)
- NLi = normal length in days of the full ith, or last, quasi-coupon period within odd period
- Nq = number of whole quasi-coupon periods between settlement date and first coupon.
Please see my example below:
We’ll continue our A to Z of Excel Functions soon. Keep checking back – there’s a new blog post every business day.
A full page of the function articles can be found here.