OPT_BARRIER in Collabora Office: Monitoring, Payoffs and Rebates
Price illustrative barrier contracts with independent absorbing-density integration, knock-in/out controls and careful rebate interpretation.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer: =OPT_BARRIER(100;0.2;0.04;0.01;1;100;0;120;0;"c";"o";"c") has independently expected model value 1.143873876. This is a one-year continuously monitored upper knock-out call with strike 100 and barrier 120, not a vanilla call or a terminal-price probability.
Syntax and argument groups
=OPT_BARRIER(Spot; Volatility; Rate; ForeignRate; Maturity; Strike;
LowerBarrier; UpperBarrier; Rebate;
PutCall; InOut; BarrierMonitoring [; Greek])
The official OPT_BARRIER help documents thirteen positions. The first twelve are required; Greek is optional. Spot and annual decimal Volatility must be positive. Rate and ForeignRate are continuously compounded annual decimal rates. Maturity is years; Strike is a nonnegative price. All price-like inputs must use consistent units. Zero disables a lower or upper barrier.
Use lowercase "c"/"p" for call/put, "i"/"o" for knock-in/knock-out, and "c"/"e" for continuous/expiry-only monitoring. These codes have different meanings in different positions. In particular, the final required "c" is a monitoring choice, not another call flag.
Omitting Greek returns the modeled value. The source also accepts value/price/v/p for value and named sensitivities delta, gamma, theta, vega, volga, vanna, rho and rhof, with their documented one-letter forms. Sensitivity units and scaling are not demonstrated by the value examples here. Do not label a Greek result as a price or presume that a unit derivative is a per-1%-change sensitivity.
Complete upper knock-out fixture
| Cell | Meaning | Value |
|---|---|---|
| B2 | Spot | 100 |
| B3 | Annual volatility | 0.20 |
| B4 | Domestic rate | 0.04 |
| B5 | Foreign/carry rate | 0.01 |
| B6 | Years | 1 |
| B7 | Strike | 100 |
| B8 | Lower barrier | 0 |
| B9 | Upper barrier | 120 |
| B10 | Rebate | 0 |
The cell-based call is =OPT_BARRIER(B2;B3;B4;B5;B6;B7;B8;B9;B10;"c";"o";"c"). The expected value is 1.143873876 in the same domestic value units as the payoff. This is a theoretical value under constant-parameter diffusion assumptions. It is not a market quote, trading recommendation or a claim about realized returns.
The risk-neutral proportional drift is r−rf=0.03. The log-price drift is r−rf−σ²/2=0.01. Confusing these two produces a different distribution even when the same volatility is used.
Independent payoff integration
Let x=ln(S at maturity / 100), a=ln(120/100), v=0.2²×1=0.04 and m=0.01. Write n(x;m,v) for a normal density with mean m and variance v. For paths that never reach the upper barrier, the absorbing-boundary density below a is:
q(x) = n(x;m,v) − exp(2a×0.01/0.2²) × n(x;m+2a,v), x<a
The independent value is exp(−0.04) times the integral of (100×exp(x)−100)×q(x) from zero to a. The lower limit zero corresponds to the strike 100; below it the call payoff vanishes. Integrating this density with Simpson quadrature gives 1.143873876235718. An independent closed-form evaluation of the same truncated normal moments gives 1.143873876235737, agreeing within about 2×10^-14. Halving the integration grid gives the same displayed result.
This construction is an original mathematical control, not a run of the vendor’s source or a spreadsheet engine. The source’s barrier model supplies the contract interpretation; the integration supplies the numerical cross-check.
Change monitoring without changing the payoff
Replace only the last required argument with "e":
=OPT_BARRIER(100;0.2;0.04;0.01;1;100;0;120;0;"c";"o";"e")
Expected value becomes 2.844165861. Expiry-only monitoring admits paths that crossed 120 earlier but finished between 100 and 120. Its independent integral uses the ordinary terminal density rather than the absorbing density. Therefore it is larger than the continuously monitored knock-out value in this fixture.
This difference is substantive contract behavior. Do not treat monitoring as an optional display choice or compare two workbooks until their monitoring codes agree.
Knock-in/out identity and rebate control
With the same inputs and zero rebate, change InOut to "i" while retaining continuous monitoring. The independently expected knock-in value is 8.175864579. The ordinary vanilla-call model value is 9.319738455, and 1.143873876 + 8.175864579 = 9.319738455 to displayed precision. Knock-in/out parity is a useful model consistency check; it does not mean either option separately equals a vanilla call.
For the original knock-out contract, set Rebate to 2. The expected value becomes 1.871425095. The source adds two times the continuously monitored domestic knock-in touch value, 0.363775609: 1.143873876 + 2×0.363775609. This is a maturity-paid rebate with discounting, not a payment made immediately when the boundary is first crossed.
There is an important documentation nuance: the Help’s brief description says a rebate is paid if the barrier is hit, but the exact helper adds a touch payoff of the opposite in/out type. For a knock-out example that is the hit event; for a knock-in it is the no-hit event. Do not generalize the short Help sentence to all knock-in rebates. The worked rebate control intentionally uses knock-out, where both descriptions agree.
Troubleshooting and limits
The entry point validates positive spot/volatility, nonnegative time/strike, flag recognition and finite results. It does not promise that every conceivable barrier arrangement receives a particular visible error. Use a sensible enabled barrier outside the initial spot for these examples.
Zero volatility, zero-time limiting cases, double barriers, nonzero knock-in rebates, all Greeks and arbitrary tail precision are not numerically certified here. Those are further model cases, not reasons to substitute guessed outputs. OPT_TOUCH isolates a fixed contingent payoff; OPT_PROB_HIT reports a probability under an explicit drift. Neither is interchangeable with this variable-payoff value.
Product scope and verification
This guide covers the new Collabora Office desktop for Linux, identified by Flathub source tag coda-26.04.4.3-1 and commit 81339d176148d0d5c81ff05d82540f58f8aaa117. The desktop release notes and Linux package manifest establish the product mapping. The manifest is a dated source observation from October 18, 2026, not verification of an installed binary.
Versioned vendor Help, exact-commit registrations and evaluator code were reviewed on October 18, 2026. All numerical outputs in this guide are independently calculated expectations, not native Collabora observations. No Collabora application was run and no application screenshot is presented. Source availability does not establish identical Classic, Online/CODE, Windows, macOS or mobile behavior. First introduction and retirement dates are not established; no deprecation claim is made.
Examples use English names and semicolon separators. Adapt separators to the workbook’s formula settings. The documented extension function is outside standard OpenFormula 1.3; workbook portability and file-format round trips require separate checks.