The Excel ODDLPRICE Function
The Excel Oddlprice function calculates the price per $100 face value of a security with an odd (short or long) last period.
The syntax of the function is:
ODDLPRICE( settlement, maturity, last_interest, rate, yld, redemption, frequency, [basis] )
Where the arguments are as follows:
|settlement||-||The settlement date of the security (i.e. the date that the coupon is purchased).|
|maturity||-||The maturity date of the security (i.e. the date that the coupon expires).|
|last_interest||-||The date of the security's last coupon.|
|rate||-||The security's interest rate.|
|yld||-||The security's annual yield.|
|redemption||-||The security's redemption value per $100 face value.|
The number of coupon payments per year. This must be either 1, 2 or 4, meaning:
An optional integer argument which specifies the financial day count basis that is to be used in the calculation. Possible values are:
The financial day count basis rules are explained in detail on the Wikipedia Day Count Convention page
|Basis||Day Count Basis|
|0 (or omitted)||US (NASD) 30/360|
Note that the date arguments must satisfy the following:
last_interest < settlement < maturity
Note also, that the settlement, maturity and last_interest arguments should be entered into the Oddlprice function as either:
- References to cells containing dates
- Dates returned from formulas.
Warning: If you input text representations of dates into Excel functions, the interpretion of these can differ, depending to the date system and date interpretation settings on your computer.
Excel Oddlprice Function Example
In the following spreadsheet, the Excel Oddlprice function is used to calculate the price per $100 face value of a security with a last interest date of 31-Jan-2011, a settlement date of 14-Apr-2011, and a maturity date 30-Jun-2011. The rate of interest is 5.5%, the annual yield is 3.5% and the redemption value is $100. Payments are made quarterly and the US (NASD) 30/360 day count basis is used:
|3||Last Interest Date:||31-Jan-2011|
|4||=ODDLPRICE( B1, B2, B3, 5.5%, 3.5%, 100, 4 )|
The above function returns the value 100.4108331.
I.e. a security with the above terms would be valued at $100.41.
Note that, in the above example:
- As recommended, the date arguments have been supplied to the Oddlprice function as references to cells containing dates;
- The rate and yld arguments are input as percentages 5.5% and 3.5%. However, these arguments could, instead, be entered as the simple numeric values 0.055 and 0.035;
- As [basis] argument has been omitted, the function uses the default value 0 (denoting the US (NADS) 30/360 day count basis).
Further examples of the Excel Oddlprice function are provided on the Microsoft Office website.
Oddlprice Function Errors
If you get an error from the Excel Oddlprice function, this is likely to be one of the following:
Occurs if either:
- The supplied last_interest date ≥ settlement date;
- The supplied settlement date ≥ maturity date;
- Invalid numbers are supplied for the rate, yld, redemption, frequency or [basis] arguments.
(I.e. if either: rate < 0; yld < 0; redemption ≤ 0; frequency is any number other than 1, 2 or 4; or [basis] is any number other than 0, 1, 2, 3 or 4).
Occurs if either:
- The supplied settlement, maturity or last_interest arguments are not a valid Excel dates;
- Any of the supplied arguments are non-numeric.