OPT_BJER_STENS Function (Gnumeric)
Use Gnumeric Bjerksund-Stensland American-option approximation with explicit carry, year-fraction time and verified argument requirements.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
OPT_BJER_STENS computes an American-option theoretical value using the Bjerksund-Stensland approximation. Use “c” for a call and “p” for a put. Its output is a model value in the same monetary units as spot and strike; it is neither a quoted market price nor a guarantee of exercise performance.
All seven arguments are required in the 1.12.57 registration. The help describes carry as optional, and the callback contains a default, but the registered signature does not allow omission. The six-argument native control returns #N/A; supply carry explicitly, including zero when intended.
The help also labels time as days. The implementation applies time directly to annualized rate, carry and volatility terms without dividing by a day count. The coherent convention demonstrated here is time in years with annualized decimal rates and volatility. This source/help discrepancy is material: enter 1 for one year, not 365.
Syntax
OPT_BJER_STENS(side, spot, strike, time, rate, volatility, carry)
Worked example and independent check
Put side “c”, spot 100, strike 100, time 1, rate 0.05, volatility 0.2 and carry 0 into B2:B8. Use =OPT_BJER_STENS(B2,B3,B4,B5,B6,B7,B8) in B10. The expected value is approximately 7.64252849052574. Changing only the side to “p” yields the same value in this particular symmetric example; call and put prices are not generally equal.
With carry 0.05 instead, the call value is approximately 10.4505835721856. The implementation’s call branch uses the generalized European formula when carry>=rate, because early exercise is not optimal under those model assumptions. An independent normal-CDF calculation reproduces this control.
The explicit zero-carry example exercises the American approximation branch. Independent evaluation of its threshold and normal-CDF terms agrees with the native result.
| Native-test formula | Independently expected output |
|---|---|
=OPT_BJER_STENS("c",100,100,1,0.05,0.2,0) |
7.642528490525741 |
=OPT_BJER_STENS("p",100,100,1,0.05,0.2,0) |
7.642528490525741 |
=OPT_BJER_STENS("c",100,100,1,0.05,0.2,0.05) |
10.450583572185565 |
=OPT_BJER_STENS("c",100,100,1,0.05,0.2) |
#N/A |
Advanced use
Keep carry separate from rate. For a stock-style model it is commonly the risk-free rate minus a continuous dividend yield, but the function does not infer that relationship from asset type. Entering zero and omitting carry are not equivalent in the registered interface.
For puts the implementation transforms the problem into a call calculation with swapped spot/strike, transformed rate and negated carry. This explains why a call-only comparison is insufficient to validate every put case. Compare small synthetic cases with a separate numerical method before using a model outside this bounded tutorial.
Errors and limitations
Use positive spot, strike, time and volatility, and sensible finite rates. The approximation contains divisions and square roots whose boundary limits are not comprehensively validated by these examples. Do not assume zero volatility, expiry or every negative-rate case receives a useful limiting answer.
The demonstrated omission error is #N/A, not proof that the function is absent. Check arity, year-fraction units and decimal scaling before interpreting a numerical disagreement. First introduction and last functioning release are not established from the retained evidence.
Version and verification
First introduction is not established; generic release notes about option pricers do not identify this function precisely. The guide is scoped to official Gnumeric 1.12.57 implementation and selected native checks. The selected formulas were evaluated in isolated, time-bounded Gnumeric 1.12.57 native engine runs under C.UTF-8 on 17 October 2026. Observed results agree with the independent calculations within numerical tolerance; original input workbooks, outputs and execution logs are retained. No GUI screenshot or newer-version equivalence is claimed. A retirement date and last functioning release are not established.
Related functions
OPT_BS · OPT_BS_DELTA · SQRT