OPT_FIXED_STRK_LKBK Function (Gnumeric)
Price fixed-strike lookback examples in Gnumeric with observed extrema, call/put branches and a disclosed nonzero-carry limitation.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
OPT_FIXED_STRK_LKBK computes a theoretical fixed-strike lookback option value. The option uses a favorable observed underlying price while keeping the strike fixed. A call depends on the maximum price observed, and a put on the minimum. These are path-history inputs, not forecasts of future extrema.
Supply “c” or “p”, current spot, observed minimum, observed maximum, strike, remaining time, rate, carry and volatility in that order. All nine arguments are required. Monetary inputs share units; time is a year fraction; rates and annualized volatility are decimal fractions. Use consistent history with minimum<=spot<=maximum.
Syntax
OPT_FIXED_STRK_LKBK(side, spot, spot_min, spot_max, strike, time, rate, carry, volatility)
Worked example and independent check
Put “c”, 100,90,110,100,1,0.05,0.03,0.2 into B2:B10 and enter =OPT_FIXED_STRK_LKBK(B2,B3,B4,B5,B6,B7,B8,B9,B10) in B12. The expected value is approximately 19.6244264287956. The existing maximum 110 is already above the fixed strike 100.
Keeping the other inputs but raising the call strike to 120 gives approximately 5.30205588865331. For a put with strike 100 the expected value is 15.0900416685169; lowering its strike to 80 gives 1.72322205286810. These controls exercise both strike-versus-extremum branches for each side.
Independent normal-CDF calculations reproduce these four values. For calls the code uses the observed maximum; for puts it uses the observed minimum. Supplying both extrema does not mean both drive each side’s formula.
| Native-test formula | Independently expected output |
|---|---|
=OPT_FIXED_STRK_LKBK("c",100,90,110,100,1,0.05,0.03,0.2) |
19.624426428795637 |
=OPT_FIXED_STRK_LKBK("c",100,90,110,120,1,0.05,0.03,0.2) |
5.3020558886533085 |
=OPT_FIXED_STRK_LKBK("p",100,90,110,100,1,0.05,0.03,0.2) |
15.090041668516946 |
=OPT_FIXED_STRK_LKBK("p",100,90,110,80,1,0.05,0.03,0.2) |
1.7232220528681004 |
=OPT_FIXED_STRK_LKBK("bad",100,90,110,100,1,0.05,0.03,0.2) |
#VALUE! |
Advanced use
Track the current spot and history extrema separately in a model workbook. Replacing the historical maximum with the current spot erases the call’s already observed opportunity, while replacing the historical minimum erases the put’s. A consistent observation window is part of the contract specification.
The implementation is an analytic lookback formula. These tests do not establish equivalence to a discretely sampled contract, transaction costs or a different monitoring convention. A future maximum or minimum is not supplied as an input; the model accounts for future uncertainty under its own assumptions.
Errors and limitations
An invalid side “bad” returns #VALUE!. Use positive spot, strike, extrema, time and volatility for the selected nonsingular domain. Crucially, the source divides by carry and has no separate zero-carry branch in this function. The examples therefore use carry 0.03; do not assume an exact zero-carry input receives the mathematical limiting value.
Check extrema ordering and monitoring history independently; a numeric answer is not proof that inputs describe a valid path. Expiry, zero volatility, zero carry and extreme parameters are outside this native certification. Preserve the distinction from a floating-strike lookback option.
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 · EXP