Purpose
Return value
Syntax
=ODDLYIELD(sd,md,ld,rate,pr,redem,freq,[basis])
- sd - Settlement date of the security.
- md - Maturity date of the security.
- ld - Last interest date of security.
- rate - Interest rate of security.
- pr - Price per $100 face value.
- redem - Redemption value per $100 face value.
- freq - Coupon payments per year (annual = 1, semiannual = 2; quarterly = 4).
- basis - [optional] Day count basis (see below, default =0).
Using the ODDLYIELD function
Some bonds have an irregular first or last period, so interest payments don’t fit a normal schedule. To calculate the yield of a bond with an irregular last period, you can use the ODDLYIELD function. The ODDLYIELD function returns the yield of a security with a short or long last period as a percentage.
Example
In the example shown, we want to calculate the yield of a bond with a last interest date of 15-Oct-2017 and a settlement date of 5-Feb-2018. The bond matures on 15-Jun-2018, and pays a coupon rate of 5%. Payments are semi-annual, the day count basis is US 30/360, and the redemption value is $100. In the example shown, the formula in F5 is:
=ODDLYIELD(C9,C11,C10,C7,C5,C6,C12,C13)
With these inputs, the ODDLYIELD function returns 6.32%, with the percentage number format applied.
Entering dates
In Excel, dates are serial numbers . Generally, the best way to enter valid dates is to use cell references, as shown in the example. To enter valid dates directly inside a function, the DATE function is the best option. To illustrate, the formula below has all values hardcoded, with the DATE function used to enter the three required dates:
=ODDLYIELD(DATE(2018,2,5),DATE(2018,6,15),DATE(2017,10,15),0.05,99.5,100,2,0)
Basis
The basis argument controls how days are counted. The ODDLYIELD function allows 5 options (0-4) and defaults to zero, which specifies US 30/360 basis . This article on Wikipedia provides a detailed explanation of available conventions.
| Basis | Day count |
|---|---|
| 0 or omitted | US (NASD) 30/360 |
| 1 | Actual/actual |
| 2 | Actual/360 |
| 3 | Actual/365 |
| 4 | European 30/360 |
Notes
- In Excel, dates are serial numbers .
- All dates, plus frequency and basis , are truncated to integers.
- If any dates are invalid (i.e. not actually dates) ODDLYIELD returns #VALUE!
- ODDLYIELD returns #NUM when: ( maturity > settlement > last_interest ) is NOT true rate < 0 or pr <= 0 basis is out-of-range
Purpose
Return value
Syntax
=PDURATION(rate,pv,fv)
- rate - Interest rate per period.
- pv - Present value of the investment.
- fv - Future value of the investment.
Using the PDURATION function
The PDURATION function calculates how much time is needed for an initial investment (present value) to reach a given amount (future value), assuming a constant annual interest rate. PDURATION returns an amount of time in periods, which is linked to the number of compounding periods per year. With one compounding period per year, periods = years. With 4 compounding periods per year, periods = quarters, and so on.
Note: the NPER function returns the number of periods for a series of cash flows (like a loan repayment schedule) whereas PDURATION returns the number of periods for a single sum to achieve a certain amount.
Example
Assume you have $5,000 to invest at an annual rate of 5%. When interest is compounded monthly, how long will it take for the initial investment of $5,000 to reach $10,000? In the example shown, the formula in F5 is:
=PDURATION(C5/C6,C7,C8)
Notice because rate must be provided as interest rate per period, it is given here as the annual interest rate divided by the number of compounding periods per year (12). With these inputs, PDURATION returns 166.70 periods. Since interest is compounded monthly, periods correspond to months. To convert to years, the formula in F6 is:
=F5/C6