Contact

ODDLYIELD Function (Gnumeric)

Financial Intermediate Gnumeric

Calculate odd-last-period bond yield in Gnumeric with ODDLYIELD, required day-count basis, accrued interest and a reproducible price comparison.

Verification status: Retained 1.12.57 ssconvert evidence independently checked after rollback; no GUI or fresh native execution claimed. How formula examples are checked

Exact syntax

=ODDLYIELD(settlement,maturity,last_interest,rate,price,redemption,frequency,basis)

ODDLYIELD calculates the annual yield of a coupon security whose final interest period is irregular. Use it for an odd last period, not an odd first coupon or a general irregular cash-flow series. Price and redemption are quoted per 100 face value.

All eight arguments are required in the inspected Gnumeric registration, including basis. Settlement is the purchase settlement date; maturity is the redemption date; last_interest is the last coupon date preceding the final period. Rate is the nominal annual coupon rate, so 6% is 0.06. Price is the positive clean price, redemption is the positive maturity redemption amount, and frequency is 1, 2 or 4 payments per year. Basis is 0 US 30/360, 1 actual/actual, 2 actual/360, 3 actual/365 or 4 European 30/360.

Reproducible final-period example

The example settles on 1 April 2024, matures on 1 May 2024, and has its last coupon on 1 January 2024. The coupon rate is 6%, clean price 99, redemption 100, semiannual frequency 2, and basis 0. The native yield is 0.179104477612, or about 17.9104477612% when formatted as a percentage.

An independent 30/360 cash-flow check gives accrued interest of 1.5 at settlement and final-period coupon of 2. The dirty purchase amount is 99+1.5=100.5 and the maturity receipt is 102. One month remains, so the simple annualized yield is (102/100.5-1)*12, which matches the fixture. This explanation is specific to these non-month-end dates and basis; it does not establish an identical shortcut for every coupon calendar.

Advanced use: clean-price sensitivity

Changing only clean price to 100 returns 0.059113300493, about 5.9113300493%. The dirty cost is now 101.5, so (102/101.5-1)*12 provides an independent check. A price-sensitivity sheet can put clean prices in A2:A6 and reference A2 in the price argument while fixing all dates and conventions. Preserve the distinction between clean and dirty price; adding accrued interest to the price input would count it twice in this calculation.

Errors and troubleshooting

Omitting basis returned #N/A, so do not silently import another spreadsheet’s optional-basis convention. A zero price returned #NUM!. The inspected source rejects negative rate, nonpositive price or redemption, invalid frequency/basis, settlement later than maturity, and last_interest later than settlement. Invalid date conversion returns #VALUE! in the source. Use DATE rather than ambiguous text dates. Keep settlement strictly before maturity in a meaningful yield calculation; equality leaves a zero remaining interval and was not tested. Month-end and leap-year schedules deserve separate checks against the intended bond convention.

Recorded formulas and results

  • =ODDLYIELD(DATE(2024,4,1),DATE(2024,5,1),DATE(2024,1,1),0.06,99,100,2,0) → 0.1791044776119403
  • =ODDLYIELD(DATE(2024,4,1),DATE(2024,5,1),DATE(2024,1,1),0.06,100,100,2,0) → 0.059113300492610835
  • =ODDLYIELD(DATE(2024,4,1),DATE(2024,5,1),DATE(2024,1,1),0.06,99,100,2) → #N/A
  • =ODDLYIELD(DATE(2024,4,1),DATE(2024,5,1),DATE(2024,1,1),0.06,0,100,2,0) → #NUM!

Version, portability and verification scope

Official release history identifies ODDLYIELD as added in Gnumeric 1.1.6. The retained implementation and bounded native evidence are Gnumeric 1.12.57. No retirement or last functioning release is established. Function availability, argument defaults and numerical algorithms can differ in other spreadsheets; test exported workbooks in the receiving application rather than treating the name as a compatibility guarantee. These are synthetic calculation examples, not investment recommendations.

Native ssconvert recalculated the saved workbook on 17 October 2026 at 02:45 UTC. Input formulas, saved output cells and evidence-file hashes were rechecked after recovery. The 4 records above are engine evidence, not GUI screenshots. No new execution, untested extreme case or newer-version execution is claimed.

Official sources