← Back to the portfolio

RESEARCH NOTE / v0.1 / 14 NOVEMBER 2026

What the numbers mean.

The payoff lab is a transparent arithmetic tool for illustrative options positions at expiry. Its premiums are invented examples. It contains no historical option quotations, performance estimates or connection to a trading account.

The calculation

For each leg: signed quantity × (expiry intrinsic value − premium paid) × contract multiplier − absolute quantity × entry fee. A positive quantity is long; a negative quantity is short. Call intrinsic value is max(settlement − strike, 0). Put intrinsic value is max(strike − settlement, 0). All dollar results are USD.

The example iron condor collects 6 points × $100 = $600 gross credit. Four opening fees of $1.25 reduce this to $595. Its 20-point wings give a $1,405 worst expiry loss. Break-evens are 5,934.05 and 6,065.95. These are arithmetic results, not evidence of executable prices.

Exact extrema, selectable view

Break-evens and maximum profit/loss are calculated from the piecewise-linear payoff across non-negative settlement prices, including strike vertices and the upper tail. Zoom changes only the displayed range; it does not change the extrema. Unbounded upper-tail gains or losses are labelled explicitly.

Dataset dictionary

FieldMeaning
example_idIllustrative portfolio identifier
option_typePUT or CALL
quantitySigned contract quantity; positive long, negative short
strikeUnderlying price units
premium_pointsOpening option premium in points
multiplier_usdUSD per option point per contract
entry_fee_per_contract_usdOne-time opening fee per contract
data_basisSynthetic example; not observed market data

Time and price scenarios

The dashed curve uses European Black-Scholes on a non-dividend-paying spot underlying. Annual IV and annual continuously compounded rate are explicit inputs. Time is calendar minutes divided by 365 x 24 x 60 (ACT/365). It is a generic teaching model, not an ES futures-option valuation. The timer reduces remaining time at the chosen playback speed and pauses when the tab is hidden. Changing price or time changes modelled P/L. The expiry profile changes only when positions, premiums or fees change.

Opening premiums are editable examples, so initial model P/L need not be zero. Constant IV, no skew and no dividends are simplifying assumptions. This does not predict returns or guarantee executable marks.

What is excluded

No intraday management, observed IV or skew changes, probabilities, future trades, slippage, assignment, exercise fees, taxes, financing, margin, settlement fees or futures delivery are modelled. Moving the settlement selector answers an expiry scenario, not what a position would be worth if the underlying moved there now.

A multiplier alone does not specify a product. SPXW index options and ES futures options have different contract and settlement conventions. This generic explorer cannot model physical delivery or account-level consequences.

Using the resources

Download example-scenario.json and portfolio_lab.py to the same folder, then run python portfolio_lab.py. It creates expiry and time/price CSVs. The browser can also export the currently displayed payoff range and an SVG chart. The browser CSV includes exact visible strikes and break-evens as well as regular samples.

These original example resources may be used and adapted with attribution to Chris Abela. They carry no market-data redistribution rights. No investment recommendation or fitness for trading is implied.