IV (%) by moneyness and date. Choose the method — raw observed (gaps where no option trades), the simpler spline, or the SVI fit. Both charts share one color scale so they are directly comparable.
For each listed expiration, implied volatility is solved from the bid/ask mid price using the Black-76 forward pricer. The forward F, risk-free rate r and dividend yield q are backed out per expiration from put-call parity, so call and put IVs agree at every strike. The three methods below are different ways of turning those solved points into a surface — switch between them with the Method dropdown above.
Raw (from market) — the solved IVs plotted exactly as observed, one point per strike using the out-of-the-money convention (puts at/below spot, calls above). Nothing is smoothed, fit, or filled, so the surface is faithful to the quotes but sparse: cells are left blank wherever no option trades. Best for seeing the real, unmassaged data.
Spline (basic) — a smoothing cubic spline is fit through each expiration's observed smile, then interpolated across time onto the dense 60–140% moneyness grid over every NYSE trading day. Quick and hugs the data closely, but it can wiggle where quotes are noisy and simply flat-extrapolates beyond the observed strikes — no arbitrage controls.
SVI (Industry Standard) — each smile is fit with Gatheral's raw SVI parameterization, a five-parameter shape built to stay arbitrage-free:
w(k) = a + b·[ρ(k − m) + √((k − m)² + σ²)] with k = ln(K / F) and w = σ²·T
The fitted slices are then filled by interpolating linearly in total variance across time, on the same 60–140% grid and trading-day calendar. Smooth and robust — the market-standard choice, and the default here — though as a parametric fit it won't pass exactly through every observed quote.
Data sources: AAPL option chain & price history — Yahoo Finance (yfinance); SPX option chain — CBOE delayed quotes.
Two years of daily closing prices — AAPL (left axis) and SPX (right axis).
| # | Asset | Quantity | Cost / share | Cost date | Price | Embedded gain | Current value | % weight |
|---|
Proof-of-concept model: SPX Basket and SPX Derivative are assumed to be unrelated for tax purposes. “SPX Basket” is a placeholder for any other stocks held in the portfolio that may carry embedded gains/losses, but can be sold to realise a net gain/loss.
Optional. Units of AAPL, SPX or cash you already own, with cost basis. Price is the current spot (cash = 1.00); Embedded gain is Quantity × (Price − Cost/share). Tick “Include current holdings” under the chart to overlay their change in value, Quantity × (price − cost), on the payoff.
The legs above are scanned for common US options tax landmines. SPX Basket and SPX Derivative are treated as unrelated for tax purposes (a simplification of this model).
Recognised packages are tinted (e.g. a collar shows long put in blue and short call in green). A 🛑 in the Tax Flag column marks a triggered rule — hover it for the detail; ℹ marks informational treatment. Not tax advice — strike spacing, basis, holding period and dividends all matter; for a real position consult a derivatives-savvy CPA.
Sources: Rev. Rul. 2002-66 (IRS) · Collar / QCC straddle guidance (Tax Notes) · 26 U.S.C. §1092(c)(4) (Cornell LII)
| # | Side | Qty | Underlying/Asset | Type | Expiry | Strike | Tax Flag | Moneyness | Price | Premium | Net Gain | Delta | Gamma | Vega | Theta | Notional wt | Delta wt |
|---|
Proof-of-concept model: SPX Basket and SPX Derivative are assumed to be unrelated for tax purposes. “SPX Basket” is a placeholder for any other stocks held in the portfolio that may carry embedded gains, but can be sold to realise a net gain/loss. The SPX Derivative “E-mini” is any other stocks held in the portfolio that may carry embedded gains, but can be sold to realise a net gain/loss. The SPX Derivative “E-mini” is just a notional futures contract ($50 per index point) for exposure modelling — it carries no premium and has no adjustment for carry/financing costs etc.
| # | Side | Qty | Underlying/Asset | Type | Expiry | Strike | Tax Flag | Moneyness | Price | Premium | Net Gain | Delta | Gamma | Vega | Theta | Notional wt | Delta wt |
|---|
A PVF monetises the covered AAPL as a single grouped package: it adds three legs — the floor put, the ceiling call and the cash raised today — sharing one remove control and one colour. Cash now = covered value (spot × shares) − financing + the collar's net premium; financing = covered value × rate × years to the collar expiry. Strikes stay editable (the cash adjusts as they change); side, quantity, type, asset and expiry are locked. The cash stays in this package — it is not added to Current holdings.
Forward P&L heat map for each underlying: price history to the left of today, then the package's P&L from today to the last expiry (priced off the fitted vol surface, intrinsic at expiry). Green = gain, red = loss; dashed grey lines mark ±% moves from spot and each option's strike (labelled e.g. “long put”, “short call”). The SPX chart combines all SPX positions (Basket + Derivative).
Net P&L = payoff minus net premium paid/received, ×100 per contract. Dotted lines are each leg at its own expiry; bold lines are the combined package. Pre-expiry valuation dates are priced off the fitted vol surface. Tick the dates to display (expiry shown by default). The top two charts split the package by underlying — each x-axis is shown in both price and moneyness; the lower chart combines all legs.
Edit the model trade package below — it stays in sync with the Create Package tab.
Marginal rates applied to realised gains/losses in the after-tax forecast (built next). Tax-loss harvesting on the SPX Basket reduces realised tax later. Not tax advice.
Raises this much cash (after tax) at the date above. Existing cash is used first; the rest is funded by selling whichever stock — AAPL or the SPX basket — is most tax-effective (lowest realised tax per dollar raised), allowing for holding period (long vs short term) and any tax-loss harvesting set above. Computed for every simulation. The date must be on or after the day after the last option expiry in the package, so all options have settled.
The optimizer works on package A only (package B's PVF is left untouched). It only changes the quantity and strike of the legs already in package A — it does not add or remove leg types or underlyings. It searches those to maximise the mean after-tax net wealth at the goal across the filtered simulations. Each leg is capped by a notional-weight limit: an AAPL option leg's notional (qty × 100 × spot) can't exceed the value of the AAPL holding, and each SPX derivative leg's notional is capped at 100% of the portfolio value. Tax rules apply in the objective — including a §1259 constructive-sale charge on the held AAPL if the result forms a tight collar (long put & short call within 15% of spot). The result drives the optimized A scenario in the charts below. Re-run after changing package A, the goal or tax inputs.
| # | Side | Qty | Underlying/Asset | Type | Expiry | Strike | Tax Flag | Moneyness | Price | Premium | Net Gain | Delta | Gamma | Vega | Theta | Notional wt | Delta wt |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| run the optimizer to see the result | |||||||||||||||||
Left: mean simulated portfolio value over time under four cases — current holdings only; holdings + model package A; holdings + the optimised package A; and holdings + package B (the PVF). Package B is a prepaid variable forward: it monetises the pledged AAPL shares for a cash advance now, and at the goal it is exited by delivering those shares to the counterparty (rather than paying cash). The advance is kept untaxed (a loan, not a sale); only the net collar premium (call received − put paid) is taxed at exit. Any SPX basket bought with the cash is taxed as a stock position — capital gains with the tax-loss-harvesting benefit above — not at the §1256 index rate. Right: the resulting net wealth after tax at the goal date for each case, stacked into cash raised for the goal, the remaining AAPL and SPX basket, and the realised tax (shown negative).
Every transaction that contributes to the realised tax at the goal date for the selected scenario, averaged across the filtered simulations. Sales made to fund the goal show the quantity sold, terminal price, cost basis, gain and tax; package option/derivative P&L and the PVF collar premium are realised at exit. For the AAPL collar (§1092 identified straddle) a gain is taxed now but a loss is deferred into the AAPL cost basis (shown as a “deferred” line with $0 tax now — the benefit lands in a lower AAPL sale gain). A negative tax is a net benefit (harvested losses). Not tax advice.
| Tax transaction | Quantity | Price | Cost basis | Gain | Eff. rate | Tax |
|---|---|---|---|---|---|---|
| open the Forecast and tax tab to compute… | ||||||
Left: every simulated portfolio value for the chosen scenario (bold = mean). Right: the after-tax net wealth at the goal date for every simulation (one stacked bar each, sorted by net wealth).
Monte-Carlo paths from today to the last option expiry, drawn from each asset's historical daily drift & volatility, with AAPL and SPX correlated (ρ from history). Simulation #i for AAPL and #i for SPX form one joint scenario, so portfolio impacts line up later.
Filter by terminal moneyness. Set the share (%) of simulations you want to finish in each band (terminal price ÷ today's spot, at the last expiry), then click Filter to filter the joint scenarios down to those weights — simulations are only removed, never duplicated, so the kept set is smaller. The initial #, filtered # and result % columns show how each band is thinned for both assets. The filtered set drives the charts and later calculations. Use the Filter on toggle to pick which asset's weights drive the filter. By default it's AAPL, filtered to below-the-money outcomes (0% above the money, 25% in each band below it) — the typical worry of an investor holding a large, concentrated AAPL position that it falls in value. The other asset is a fallout: it follows through the joint pairing, and its columns simply report the resulting distribution (e.g. SPX skews down with AAPL). Click Reset filter to drop the filter.
| Terminal moneyness | AAPL | SPX | ||||||
|---|---|---|---|---|---|---|---|---|
| weight % | initial # | filtered # | result % | weight % | initial # | filtered # | result % | |
| Total | — | — | — | 100% | — | — | — | 100% |
History to the left of today's dashed line; simulated paths fan out to the right. Bold line = median, dotted = 5th / 95th percentile across the (filtered) scenarios.