OPT_BAW_AMER Function (Gnumeric)
Calculate the scoped Gnumeric OPT_BAW_AMER American-option approximation with verified argument order, time units and a no-dividend call control.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
OPT_BAW_AMER implements a Barone–Adesi–Whaley-style approximation for an American option. American exercise permits early exercise, so a general valuation can include an early-exercise premium. The tested control below deliberately uses a no-dividend call case where the implementation reduces to the ordinary European price; it does not validate every iterative approximation branch.
Executable argument order
=OPT_BAW_AMER(call_put_flag,spot,strike,time,rate,volatility,cost_of_carry)
All seven arguments are required by the inspected registration. Use “c” or “p”. spot and strike are prices, time is remaining years when rates and volatility are annualized, rate and carry are annual decimal rates, and volatility is annualized decimal standard deviation. The worked inputs use positive spot, strike, time and volatility.
There are two important help/source discrepancies in 1.12.57. The displayed help places cost_of_carry before volatility, but the callback actually reads volatility as argument six and carry as argument seven. It also labels time as days while the formula uses raw time with annual rates and no day conversion. This guide states the executable order and year-based interpretation explicitly rather than silently reproducing those help labels.
Reproducible non-early-exercise control
=OPT_BAW_AMER("c",100,100,1,0.05,0.2,0.05)
The independent expected result is approximately 10.4505835722. Here the carry equals the risk-free rate, corresponding to the standard no-dividend stock setup. The source takes its direct European-call branch when carry is at least rate, avoiding its critical-exercise-price iteration. Independent discounted-payoff quadrature supplies the expected value.
For a worksheet, enter “c”, 100, 100, 1, 0.05, 0.2 and 0.05 in A2:G2 and use =OPT_BAW_AMER(A2,B2,C2,D2,E2,F2,G2). Label F1 Volatility and G1 Carry. This explicit layout helps prevent the help-text ordering discrepancy from producing a different model without an obvious error.
What the control establishes
The control verifies function recognition, argument dispatch and the direct call branch. It does not measure the approximation error for dividend-paying calls, puts or inputs requiring a critical exercise boundary. A numerically correct no-early-exercise control cannot certify the quality or convergence of those other branches.
The word approximation matters. For an American option with a genuine early-exercise premium, different valuation methods can disagree even when they use the same economic assumptions. A careful comparison needs an independently converged method, matching units and matching exercise terms; simply comparing against a European price is insufficient.
Iteration and troubleshooting
The inspected critical-price routines use Newton-style loops without an explicit iteration-count cap. Poorly conditioned or invalid inputs can therefore pose a nontermination risk. This tutorial avoids those paths in its native fixture and does not encourage blind repeated recalculation of a problematic workbook. Keep a saved copy and isolate uncertain cases rather than assuming every input returns promptly.
Invalid flags and not-a-number results are translated to #NUM! by the wrapper, but this is not comprehensive financial-domain validation. Zero volatility, zero time and extreme values are not certified. If a control differs, first check the actual volatility/carry argument order, decimal percentage entry and time units.
Model limits
The result is a theoretical price in the units of spot and strike, not an observed quote or an instruction to trade. Contract-specific exercise terms, discrete dividends and other model assumptions require separate consideration. The available evidence establishes a scoped runtime and executable contract, not current accounting or market practice.
Verification scope and sources
On October 17, 2026, isolated Gnumeric ssconvert 1.12.57 runs recalculated the literal controls, returning 10.450583572185565. Each case used its own workbook and output cell F1; the instructional cell layouts are not separate GUI tests. Exact input and output files were retained. Other boundaries are source-derived unless expressly tested. Official 1.12.57 source was retrieved October 17, 2026. Original introduction and last functioning release are not established; no GUI screenshot or execution of another release is claimed. The stated input domain and test scope should travel with any compatibility comparison.