Options and hedging research

Volatility arbitrage research: model value vs realized hedging costs

Volatility arbitrage usually means trading options against a forecast or relative valuation while hedging some underlying price exposure. Its profit is uncertain: implied volatility is a model input inferred from an option quote, realized volatility describes an observed path, and discrete hedge trades create their own gains and costs. An option with IV above historical volatility is a research candidate, not proof of a risk-free arbitrage.

See the decision guide

Four volatility inputs answer different questions

Specify a contract, timestamp, horizon and model before comparing numbers. The following distinctions prevent a backward-looking statistic from becoming an unsupported trading claim.

  • A relative-value book can compare options across strikes or expiries, but each leg brings different gamma, vega, exercise and liquidity exposure. Matching initial delta only offsets a local first-order price sensitivity.
  • Variance risk premium research asks about compensation for variance exposure, often comparing risk-neutral expected variance with a physical expected variance for a matched future horizon. Using subsequent realized variance gives an ex-post observation. Neither quantity is the same as one option IV minus trailing HV, and neither is an executable hedge ledger.
QuantityMeaningResearch constraint
Market IVThe volatility that makes a chosen pricing model match a particular option quote.Record bid, ask, strike, expiry, underlying, rates, dividends and exercise style. A midpoint IV is not an executable fill.
Forecast volatilityAn estimate of future underlying variation over the holding horizon.Freeze the forecast before the trade. Historical volatility may inform it but does not establish the future path.
Hedge-model volatilityThe input used to calculate option delta and target underlying holdings.State whether it stays fixed or follows a dated surface. Changing it changes trades even with identical option entry prices.
Realized path volatilityA statistic calculated after the observed price movements.Declare sampling times, annualization and return definition. A daily close statistic omits intraday movements that a faster hedge may trade.

Price a hypothetical call before declaring it expensive

Use a European cash-settled call on a fictional share with spot S = $100, strike K = $100 and three trading-day intervals remaining. Assume T = 3/252 years, zero rates and dividends, and a one-share multiplier. Fractional hedge shares are allowed. These are synthetic accounting assumptions, not market quotes or a contract recommendation.

  • For positive S, K, volatility sigma and remaining time tau, d1 = [ln(S/K) + 0.5 × sigma² × tau] / (sigma × sqrt(tau)); d2 = d1 - sigma × sqrt(tau). With N the standard normal cumulative distribution, C = S × N(d1) - K × N(d2), and call delta = N(d1). At expiry use max(S - K, 0), not a formula that divides by sqrt(0).
  • At an assumed market IV of 20%, C = $0.870546 per share and delta = 0.504353. Repricing the same inputs with a forecast of 15% gives $0.652915. The $0.217631 difference expresses the model valuation disagreement; it is not cash earned by selling the option.
  • Suppose the researcher sells the call for $0.870546 and hedges using a fixed 20% volatility. The short call has negative delta, so the hedge initially buys 0.504353 shares. The next section calculates what actually happens to this position.

Reproduce a three-day hedge ledger

Take the price path $100 → $102 → $98 → $100. At times 0, 1 and 2, calculate delta at the current price with remaining time 3/252, 2/252 and 1/252. Trade immediately at the stated price, then hold those shares until the next observation. At time 3 the call expires with zero payoff and all hedge shares are sold. Instant fills at observations are a simplifying assumption; a live close-based signal requires a later executable price.

  • Cash starts at C0 - delta0 × S0. Each rebalance subtracts (new shares - old shares) × current spot. Negative cash is borrowing under the assumed zero funding rate. Use unrounded deltas internally; the table rounds to six decimals.
  • An independent check is short-call gross P&L = C0 - max(ST - K, 0) + sum(delta_i × [S_(i+1) - S_i]). Here it is 0.870546 + 0.504353 × 2 + 0.868713 × (-4) + 0.055106 × 2 = -$1.485389, within rounding.
  • With r_i = ln(S_(i+1)/S_i), define annualized realized path variance as (252/3) × sum(r_i²). The three returns are approximately 0.019803, -0.040005 and 0.020203. Their realized path volatility is 44.9066%. This uncentered quadratic-return measure differs from a sample standard deviation that subtracts the mean and divides by n - 1.
  • A second path, $100 → $100 → $100 → $100, has the same endpoint and zero option payoff. Its hedge price-change P&L is zero, so gross profit is the $0.870546 premium. Endpoint return alone cannot explain either result.
Time / spotHedge shares after tradeShares tradedCash after trade, before costs
0 / $1000.504353+0.504353-$49.564727, including option premium
1 / $1020.868713+0.364360-$86.729483
2 / $980.055106-0.813607-$6.995991
3 / $1000-0.055106-$1.485389, after zero option payoff

Charge turnover and keep hedge schedules comparable

For an illustrative execution allowance, charge 5 basis points of absolute hedge notional at every trade, including entry and liquidation, plus a $0.02 option entry fee per one-share unit. Costs below are assumptions applied to frictionless prices. If actual fills already include the spread or slippage, do not deduct the same expense again.

  • For the oscillating path, absolute traded hedge notional is 0.504352731 × 100 + 0.364360349 × 102 + 0.813607056 × 98 + 0.055106024 × 100 = $172.844123. Multiplying by 0.0005 gives $0.086422. A 100-share multiplier would scale all positions, cash flows and this assumed fee schedule by 100.
  • Holding only the initial hedge happens to win on this returning path. It leaves changing delta exposed and can lose on a directional path. Selecting the best hedge frequency after seeing the path creates hindsight bias; these rows demonstrate path dependence, not a preferred schedule.
  • For a real test, add debit funding, short-stock borrow when applicable, dividends, option bid/ask execution, exchange fees, settlement charges and margin constraints. Report dollars and required capital separately; premium received is not the capital denominator.
Path and hedge policyGross P&L per share unitHedge costs + option feeNet P&L
100 → 102 → 98 → 100; daily rehedge-$1.485389$0.086422 + $0.020000-$1.591811
100 → 100 → 100 → 100; daily rehedge+$0.870546$0.050435 + $0.020000+$0.800111
100 → 102 → 98 → 100; initial hedge held to expiry+$0.870546$0.050435 + $0.020000+$0.800111

A gamma explanation is an approximation, not the ledger

For a short option with a delta hedge, fixed model volatility, zero rates and dividends, and a small time step, the local approximation is P&L_i ≈ 0.5 × Gamma_i × S_i² × [sigma_model² × dt - (dS/S_i)²], before costs. Gamma_i is the positive gamma of the corresponding long vanilla option. This explains why a short option can collect time decay and lose from movement between hedges.

  • Each step has a different gamma and spot weight. A single whole-period IV/HV comparison does not determine the exact sum. Large moves, near-expiry curvature and discrete hedge errors can make a quadratic expansion inaccurate.
  • Artur Sepp studies the interaction of discrete hedging and costs under explicit volatility assumptions. The useful distinction is between variation that rehedging can reduce and residual risks such as jumps. The exact cash-flow calculation above does not rely on the gamma approximation.
  • If the position closes before expiry, use an executable option exit price. Changing implied volatility, skew and term structure affect that mark. Holding to expiry removes the need for an option exit mark in the terminal payoff, but interim margin demands can still force liquidation.

Separate forecast error from hedge-model error

In the worked trade, the 15% forecast was followed by a 44.9066% sampled path. That is a forecast miss. A different error is using hedge deltas that do not capture the sensitivity of the actual option. Both can occur while a pricing formula has been implemented correctly.

FailureObservable consequenceRequired stress or record
Hedge-model sensitivityOn the same oscillating path and same $0.870546 premium, 15% hedge deltas produce -$1.816828 gross; 40% hedge deltas produce -$0.549457 gross.These are alternative predeclared model inputs, not a forecast contest. Recalculate each turnover ledger and cost separately.
Jump between hedge timesThe hedge cannot trade at prices skipped by an overnight gap.Stress a jump and delayed fills; increasing scheduled frequency cannot trade through a closed market.
Wrong contract modelA European formula omits possible early exercise of American options.Record exercise, dividends, deliverables, expiry timestamp and settlement rules; use a suitable valuation and assignment model.
Stale or incompatible IVAn old underlying price or mismatched maturity creates a false valuation gap.Synchronize quotes and horizon; reject missing or crossed quotes under declared rules.
Funding or liquidity failureA solvent terminal payoff can coexist with an unaffordable interim margin call.Track interim option marks, hedge cash, financing limits and forced-exit prices.

Observe daily path volatility in Pine

This indicator calculates 100 × sqrt(A/n × sum(r²)) from the last n completed daily returns. A defaults to 252 observations per year. It implements the path statistic used above, without estimating option IV, forecasting volatility or placing trades. Use standard daily candles and document the feed adjustment policy.

  • With n = 3, A = 252 and the synthetic closes 100, 102, 98, 100, the formula returns 44.9066%. Four closes are needed for three returns. A constant positive price series returns zero; an incomplete window or a nonpositive supplied close produces a blank result.
  • The monitor rejects chart timeframes other than one day and waits for the current bar to close. It cannot detect a missing session that the data vendor omits entirely. Holidays, halts and 24/7 markets require an explicit observation and annualization convention.
  • Do not paste a current IV quote across historical bars and label the spread a historical signal. An IV comparison needs dated contract quotes with matching maturity and units. The code deliberately plots only observations that its price inputs support.
Pine Script v6 observation indicator. Syntax checked; it is not an options strategy backtest.pine
//@version=6
indicator("Observed daily path volatility", overlay = false)
int observations = input.int(20, "Daily returns", minval = 2, maxval = 500)
int daysPerYear = input.int(252, "Observation days per year", minval = 1, maxval = 366)
if not timeframe.isdaily or timeframe.multiplier != 1
    runtime.error("Use a standard one-day chart.")
bool valid = not na(close) and not na(close[1]) and close > 0 and close[1] > 0
float r = valid ? math.log(close / close[1]) : 0.0
float validCount = math.sum(valid ? 1.0 : 0.0, observations)
float sumSquares = math.sum(r * r, observations)
bool ready = validCount == observations and barstate.isconfirmed
float pathVol = ready ? 100 * math.sqrt(daysPerYear * sumSquares / observations) : na
plot(pathVol, "Annualized observed path volatility (%)", color = color.blue, linewidth = 2, style = plot.style_linebr)

Test the trade in an options ledger; use Pine for observations

Save the forecast, selected contract, market quote, hedge model, decision times and cost assumptions before evaluation. Reconstruct expired contracts, executable quotes and every hedge trade on later data. Reconcile the terminal cash balance to option payoff plus hedge P&L minus costs, and preserve rejected trades and forced exits.

  • Compare a small predeclared set of hedge schedules and volatility models across untouched periods. Report gross and net P&L, turnover, drawdowns, margin use and model failures. Keep the total number of tried specifications with the result.
  • Pine Script AI Coding Agent can draft the observable calculations and request syntax checks. Review timing, missing-data handling and the final source. Syntax validation does not validate the forecast or prove that option quotes were tradable.
  • Strategy Optimizer can compare supported inputs in a TradingView strategy. This indicator has no strategy orders to optimize. A separate single-chart experiment may test a volatility filter with explicit fills and costs, but it cannot validate the combined option and underlying ledger or supply missing historical option chains.
Where Pineify fits

Pine Script AI Coding Agent

Draft a daily volatility observation indicator with explicit units, confirmed bars and missing-data rules. Review the source and request syntax validation before using its output in research.

Also useful: Strategy Optimizer. Compare supported inputs of a separate TradingView strategy after checking timing and costs. An indicator or chart proxy does not establish a historical options hedge result.

Draft a volatility monitor

Frequently asked questions

Educational research, not investment advice. All prices, paths, volatilities and fees in the example are hypothetical. Option and hedge positions can incur substantial losses and margin calls. No historical performance or risk-free trade is claimed.

Sources and verification

Published by Pineify. Pineify is an independent product and is not affiliated with TradingView. Sources support the technical explanations; examples do not establish trading performance.