ODDFPRICE Function (Gnumeric)
Price an odd-first-coupon security in Gnumeric with ODDFPRICE, required day-count basis and independently reconciled cash flows.
Verification status: Bounded Gnumeric 1.12.57 native cases and source review; no GUI; SIMTABLE active rounds not executed. How formula examples are checked
Exact syntax
=ODDFPRICE(settlement,maturity,issue,first_interest,rate,yield,redemption,frequency,basis)
ODDFPRICE returns the clean price per 100 face value of a coupon security with an irregular first interest period. It is distinct from a regular-coupon price function and from a function for an odd last coupon. The calculation is a synthetic spreadsheet example, not a current market valuation or investment recommendation.
All nine arguments are required in the inspected Gnumeric registration, including basis. Settlement is the purchase settlement date, maturity the redemption date, issue the date interest starts, and first_interest the first coupon date. Rate is the nominal annual coupon fraction, yield the annual yield fraction, redemption the positive amount per 100 repaid at maturity, and frequency 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.
Use ordered dates issue <= settlement <= first_interest <= maturity and a plausible coupon schedule. The worked example avoids month ends and uses a short first coupon; it does not certify every long-first-period or leap-year convention.
Worked short-first-coupon example
Issue is 1 January 2024, settlement 1 February 2024, first coupon 1 April 2024, and maturity 1 October 2024. The annual coupon rate is 6%, yield 8%, redemption 100, frequency 2 and basis 0. The first recorded formula below returns approximately 98.732619427284.
Independent cash-flow arithmetic explains the result. A normal half-year coupon is 3. The short first coupon spans three 30/360 months and is 1.5. Settlement has accrued one month’s interest, 0.5. The remaining time to the first payment is two months, or 1/3 of a half-year, and the final receipt is 103 after another half-year. Discount at the per-period factor 1+0.08/2=1.04: clean price is 1.5/1.04^(1/3)+103/1.04^(4/3)-0.5.
Advanced application: yield sensitivity and dirty price
Changing only yield to 6% returns approximately 100.004837875110. Substitute 1.03 for 1.04 in the independent cash-flow equation to verify it. The irregular initial period means this example need not equal precisely 100 even when coupon rate and yield match under the implemented compounding convention.
Add accrued interest 0.5 to the clean price to get the settlement amount per 100 in this example. Do not add it to the redemption argument or silently treat clean and dirty prices as interchangeable. A worksheet can hold the yield in a separate input cell and preserve the dates, basis and payment amounts while comparing scenarios.
Errors and boundaries
The negative-rate fixture returns #NUM!; omitting basis returns #N/A. The inspected source rejects negative yield, nonpositive redemption, invalid frequency/basis and invalid date order. Date conversion failures are handled separately. Use DATE rather than ambiguous date strings.
Zero yield was deliberately not executed: the inspected helper contains a geometric-sum expression with a zero denominator at that limit. Handle such a boundary with an independently derived limiting calculation rather than assuming a numeric result. The original introduction is not established by the retained evidence; last functioning release and retirement are also unestablished. Similar spreadsheet names do not guarantee identical optional arguments or coupon-calendar handling.
Recorded formulas and results
=ODDFPRICE(DATE(2024,2,1),DATE(2024,10,1),DATE(2024,1,1),DATE(2024,4,1),0.06,0.08,100,2,0)→ 98.73261942728392=ODDFPRICE(DATE(2024,2,1),DATE(2024,10,1),DATE(2024,1,1),DATE(2024,4,1),0.06,0.06,100,2,0)→ 100.00483787511001=ODDFPRICE(DATE(2024,2,1),DATE(2024,10,1),DATE(2024,1,1),DATE(2024,4,1),-0.06,0.08,100,2,0)→ #NUM!=ODDFPRICE(DATE(2024,2,1),DATE(2024,10,1),DATE(2024,1,1),DATE(2024,4,1),0.06,0.08,100,2)→ #N/A
Verification and version scope
The implementation inspected and native executable tested are Gnumeric 1.12.57. The four bounded records above were freshly recalculated on 17 October 2026, then checked by reading both saved input formulas and output cells. Financial prices agree with independent discounted cash flows to absolute tolerance 1e-11; the inactive SIMTABLE selections and error outputs match exactly. Source and native evidence hashes were verified. This is engine evidence, not a GUI screenshot. No active simulation rounds, long-coupon edge cases, extreme inputs or later-version execution are claimed.