Contact

PRICEDISC Function (Gnumeric)

Financial Intermediate Gnumeric Gnumeric 0.33–0.35 (grouped release notes)

Use Gnumeric PRICEDISC to calculate a discounted security price. Rebuild its linear discount equation and check rate, redemption and calendar assumptions.

Verification status: See the evidence and test scope described in this guide. How formula examples are checked

Quick answer: =PRICEDISC(DATE(2026,1,15),DATE(2026,7,15),0.05,100) has independently expected result 97.5. This guide explains the calculation and its Gnumeric-specific date rules; the result was not observed in a running application.

Availability and evidence dates

  • Introduced: Recorded as implemented in the grouped Gnumeric 0.33, 0.34 and 0.35 release notes. The exact first release within that interval and the release date are not established.
  • Documented support: Registered in Gnumeric 1.12.62. No retirement is established.
  • Last functioning version: Unverified. Source registration is not a native application test.
  • Dates and scope: Pinned official source was retained from the October 13–14, 2026 audit. This complete guide and independent calculations were checked October 15. There was no new source retrieval, native engine execution or GUI test.

What PRICEDISC calculates

PRICEDISC calculates redemption×(1-discount×A/B). It deducts a simple time-proportional discount from redemption, rather than discounting a series of coupons. Although the help describes a price per 100 face value, the implementation scales directly with the redemption argument; it does not replace your supplied redemption with 100.

Syntax and arguments

=PRICEDISC(settlement,maturity,discount,redemption,[basis])

discount is the annual discount rate, entered as a decimal or percentage. redemption is the maturity value on the intended pricing scale, conventionally per 100 face value. Four arguments are required. Optional basis defaults to 0. There is no recurring coupon or compounding-frequency argument.

Use valid worksheet dates produced by DATE, rather than locale-ambiguous text. The registration requires four numeric/date arguments and permits one additional basis argument. The shared basis converter truncates nonnegative fractional inputs below 6; use the documented integer values explicitly instead of relying on that conversion.

basis Official description Important implementation scope
0, default US 30/360 Use the specific helper described below; do not infer identical month-end rules in every financial function.
1 Actual days The year denominator depends on the called helper.
2 Actual/360 Actual elapsed days divided by 360.
3 Actual/365 Actual elapsed days divided by 365.
4 European 30/360 A 30/360 convention; helper details still matter.

Reproducible worksheet

Create DiscountedPrice with B2 =DATE(2026,1,15), B3 =DATE(2026,7,15), B4 0.05, B5 100 and B6 0. Put =PRICEDISC(B2,B3,B4,B5,B6) in B8. Its expected result is 97.5. B9 =B5*B4*180/360 shows the 2.5 discount and B10 =B5-B9 independently reconstructs B8. Dates, rate and redemption remain separate input cells so that the pricing basis can be audited.

Checked formulas and boundaries

Each row is independent and uses whole DATE values. Numeric results are source-derived reference expectations rounded to twelve decimal places where needed. Error results follow explicit callback guards, not a native error-display test.

Formula Independently expected result
=PRICEDISC(DATE(2026,1,15),DATE(2026,7,15),0.05,100) 97.5
=PRICEDISC(DATE(2026,1,15),DATE(2026,7,15),0.05,100,0) 97.5
=PRICEDISC(DATE(2026,1,15),DATE(2026,7,15),0.06,100,0) 97
=PRICEDISC(DATE(2026,1,15),DATE(2026,7,15),0.05,1000,0) 975
=PRICEDISC(DATE(2026,1,15),DATE(2026,7,15),0,100,0) 100
=PRICEDISC(DATE(2026,1,15),DATE(2026,7,15),-0.05,100,0) 102.5
=PRICEDISC(DATE(2026,1,15),DATE(2026,7,15),2,100,0) 0
=PRICEDISC(DATE(2026,1,15),DATE(2026,7,15),3,100,0) -50
=PRICEDISC(DATE(2026,1,15),DATE(2026,7,15),0.05,0,0) 0
=PRICEDISC(DATE(2026,1,15),DATE(2026,1,15),0.05,100,0) #NUM!
=PRICEDISC(DATE(2026,1,15),DATE(2026,7,15),0.05,100,2) 97.486111111111
=PRICEDISC(DATE(2026,2,15),DATE(2026,3,15),0.05,100,0) 99.611111111111
=PRICEDISC(DATE(2026,2,15),DATE(2026,3,15),0.05,100,4) 99.583333333333

Advanced application and cross-check

For 10,000 face value quoted per 100, the illustrative cash price is =B8*10000/100, or 9750. This scaling calculation is separate from the worksheet function and assumes the quote and face amount use the same currency and convention. Setting the redemption argument itself to 1000 gives a function result of 975, not 97.5. Mixing these two approaches can introduce a factor-of-ten error.

The sensitivity to the annual discount rate is linear for fixed dates: changing 0.05 to 0.06 lowers the per-100 price from 97.5 to 97. A manual slope is =-B5*180/360, equal to -50 price units per rate unit; a 0.01 change therefore moves price by -0.5. Recover the original rate with =(B5-B8)/B5*360/180. That expected 0.05 is a useful independent audit of rate units and redemption scaling.

Calendar behavior in the inspected source

These results follow the local days_monthly_basis helper, not a borrowed implementation of a similarly named financial function. For basis 4 it uses 30*month_difference + day_difference. Basis 0 starts with that expression, then subtracts 2 for a non-leap-year February settlement when maturity is outside February in the same year, or 1 in a leap year. Thus February 15 to March 15, 2026 counts as 28 under basis 0 but 30 under basis 4. The helper does not apply a universal 30th-day clamp to all month ends.

For bases 1–3 it uses elapsed date serial days. The annual denominator helper returns 360 for bases 0, 2 and 4, 365 for basis 3, and the settlement year’s 365 or 366 for basis 1. Accordingly January 15 to July 15, 2026 has 181 actual days but 180 days under the illustrated 30/360 helpers. These literal source rules explain the examples; they are not a promise of interchangeable day-count conventions across products.

Errors and troubleshooting

The explicit guard rejects nonpositive counted days and invalid basis/year denominator. It does not reject negative discounts, zero or negative redemption, or nonpositive computed prices. For the main dates, discount zero returns redemption unchanged; discount -0.05 produces 102.5; discount 2 produces zero; discount 3 produces -50. These are the inspected callback’s arithmetic results, not acceptable pricing assumptions for every instrument.

A numeric answer therefore is not sufficient input validation. Add a policy check for the desired sign of redemption and allowed rate/time combinations. A negative price is not fixed by changing the number format, and a displayed percentage must correspond to the intended decimal input.

Use actual numeric inputs for these fixtures. Blank cells, numeric text, localized formula entry, time-of-day fractions, historical date-system anomalies and floating-point extremes were not executed. Keep the original inputs and a separately calculated time fraction available when investigating a disagreement. The model verifies the stated contract and examples; it does not certify an installed release or a financial market’s required convention.