OPT_FRENCH Function (Gnumeric)
Use Gnumeric OPT_FRENCH with the verified trading-time and calendar-time argument order, decimal rates and native examples.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
OPT_FRENCH prices a European option using separate trading-time and calendar-time fractions. Trading time governs the variance term; calendar time governs discounting and carry. The 1.12.57 help lists these two arguments in the opposite order from the implementation. This guide follows the verified callback order, which matters whenever the two fractions differ.
Implemented syntax
OPT_FRENCH(side, spot, strike, trading_time, calendar_time, rate, volatility, cost_of_carry)
Use “c” for a call or “p” for a put. Spot and strike are in consistent price units. Trading time is the remaining trading-day count divided by the trading days in the chosen annual convention; calendar time is the corresponding calendar-year fraction. Rate, annualized volatility, and carry are decimal fractions.
All eight arguments are required by the descriptor. Although the reused help text says carry defaults to zero, this function’s callback reads its eighth argument directly. Supply it explicitly. Positive spot, strike, trading time, calendar time, and volatility keep these examples away from singular boundaries.
Worked example: unequal clocks expose the order
| Formula | Expected model price |
|---|---|
=OPT_FRENCH("c",100,100,1,1,0.05,0.2,0.05) |
10.4505835721856 |
=OPT_FRENCH("c",100,100,0.5,1,0.05,0.2,0.05) |
8.27780395944556 |
=OPT_FRENCH("c",100,100,1,0.5,0.05,0.2,0.05) |
9.16291110108648 |
=OPT_FRENCH("p",100,100,0.5,1,0.05,0.2,0.05) |
3.40074640951696 |
The second row uses half a trading year and one calendar year. The third reverses those fractions and changes the result. These deliberately artificial clock pairs are diagnostic inputs, not a claim that either describes a typical real contract.
The equal-clock first row matches the familiar generalized Black-Scholes example. An equal-clock test alone cannot reveal the help/order mismatch; the unequal-clock tests are essential.
Calculation and a practical worksheet layout
The implementation computes d1=(LN(spot/strike)+carry*calendar_time+volatility^2*trading_time/2)/(volatility*SQRT(trading_time)). It then subtracts volatility*SQRT(trading_time) for d2. Discount factors use calendar time. This source formula independently explains the different results when the clocks are swapped.
Put trading-day count, annual trading-day denominator, calendar-day count, and annual calendar-day denominator in separate cells. Calculate the two fractions visibly before passing them to the function. Do not put a raw number of days directly into a year-fraction argument. Record the annualization convention used for the volatility input as well.
When comparing with another application, check both parameter order and time convention; a similarly named model is not sufficient evidence of an identical worksheet interface. Keep the Gnumeric version with the saved formula because a future documentation or implementation correction could affect the apparent order.
Errors and limitations
=OPT_FRENCH("x",100,100,1,1,0.05,0.2,0.05) returns #NUM! for an invalid side selector. Use the explicit single-character selectors instead of relying on prefix acceptance. Zero trading time or volatility would divide by zero in the core formula; these limits were not executed here.
The output is a theoretical model price, not a market quote or a recommendation. This guide verifies arithmetic and the version-specific argument discrepancy, without validating a trading calendar, volatility estimate, or investment decision.
Version and verification
The guide is pinned to official Gnumeric 1.12.57 source checked on 17 October 2026. The first introduction and any last-working release are not established. The selected examples were recalculated in the actual 1.12.57 engine under C.UTF-8 on that date and compared with independent mathematical calculations. No GUI screenshot, extreme-domain certification, or newer-version equivalence is claimed.
Related functions
OPT_BS_DELTA · SQRT · EXP