Skip to content

Calendar Arbitrage: Total Variance, Forward Moneyness, and Execution

Test European option surfaces for calendar consistency with total variance, matched forward moneyness, executable quotes, contract controls, and residual-trade boundaries.

Updated

For educational purposes only; not investment advice. Investing may result in loss.

Direct answer

Surface calendar arbitrage is a failure of maturity consistency in a normalized option-price surface. It is not synonymous with a discretionary calendar-spread trade. Under a common European claim family, deterministic carry, one Black implied-volatility convention and matched log-forward moneyness, define discount factor D(T), forward F(T), k = ln(K/F(T)), and total variance w(k,T) = σ_BS(k,T)²T. The normalized call price is c(k,T) = C(K,T)/[D(T)F(T)].

In that framework, a smooth surface is free of calendar-spread arbitrage only if ∂w(k,T)/∂T ≥ 0 at fixed k; on two fitted maturity slices, the discrete diagnostic is w(k,T₂) ≥ w(k,T₁) for T₂ > T₁. The interval forward-variance rate is v_fwd = [w(k,T₂) − w(k,T₁)]/(T₂ − T₁). A negative result has no real-valued forward volatility and flags inconsistent data, carry, contracts or fitting. It does not by itself identify an executable, pathwise nonnegative trade.

Seven-step surface test

  1. Lock the claim family. Record underlying and root, call or put, strikes, expirations, last trading times, European or American exercise, cash or physical settlement, AM or PM convention, official settlement source, multiplier, deliverable, currency and adjustment status. Do not mix unlike legal payoffs because their labels look similar.
  2. Synchronize executable data. Use one valuation timestamp, feed, session and quote condition; retain bid, ask and displayed size. Remove or flag zero, one-sided, locked, crossed, stale and corrected quotes. A midpoint may support diagnostics, but it is not an executable package.
  3. Build discount and forward inputs. For each exact year fraction, construct consistent D(T) and F(T) from rates, dividends, borrow, discrete distributions and currency conventions. Preserve the curve and corporate-action versions used by the implied-volatility solver.
  4. Map to one coordinate. Convert each strike to k = ln(K/F(T)). Interpolate or fit price and implied variance at matched k, rather than comparing the same nominal strike across different forwards. Use one Black quotation, day-count and annualization convention.
  5. Run independent constraints. Calculate Δw = w₂ − w₁, v_fwd = Δw/ΔT, and sqrt(v_fwd) only when nonnegative. Also test price bounds, call-spread monotonicity, strike convexity or butterfly constraints, tail behavior and bid-mid-ask uncertainty; calendar monotonicity alone is not a complete arbitrage-free surface.
  6. Diagnose apparent violations. Recheck American early exercise, discrete dividends, borrow, stochastic or negative carry, cash versus physical delivery, AM versus PM settlement, holidays, time zones, corporate actions, interpolation and extrapolation. If the contractual claims differ, return to claim-price bounds rather than forcing the simple total-variance rule.
  7. Separate signal from trade. If claiming executable arbitrage, state every buy at ask, sale at bid, size, ratio, fee, margin, funding and hedge, plus the near-expiry delivery and residual far-option exposure. Otherwise label the result a surface, model or data-quality inconsistency rather than guaranteed profit.

Worked examples

  • Negative forward-variance diagnostic. At matched k, let T₁ = 30/365, T₂ = 90/365, σ₁ = 40%, and σ₂ = 20%. Then w₁ = 0.40² × 30/365 = 0.013150685, w₂ = 0.20² × 90/365 = 0.009863014, and ΔT = 60/365. Thus v_fwd = (0.009863014 − 0.013150685)/(60/365) = −0.020000. There is no real sqrt(v_fwd) to report. Audit synchronized quotes, forwards, dividends, solver and contracts before interpreting the negative rate.
  • Lower far IV that passes. Keep the same maturities but use σ₁ = 30% and σ₂ = 20%. Now w₁ = 0.30² × 30/365 = 0.007397260, w₂ = 0.009863014, and v_fwd = 0.015000. Forward volatility is sqrt(0.015000) = 12.247449%. The far IV of 20% is below the near IV of 30%, yet total variance rises and this calendar test passes.
  • Same strike is not matched moneyness. Let S₀ = 100, continuous r = 5%, continuous q = 1%, T₁ = 0.25, and T₂ = 0.75. Then F₁ = 100e^[(0.05−0.01)×0.25] = 101.005017 and F₂ = 100e^[(0.05−0.01)×0.75] = 103.045453. Using K = 100 twice gives k₁ = ln(100/F₁) = −0.010000 but k₂ = ln(100/F₂) = −0.030000. To match k₁ at the far maturity, use K₂ = F₂e^(−0.01) = 102.020134, subject to interpolation between listed strikes.
  • A calendar spread is not locked profit. Suppose the executable opening is to buy a far call at its $7.20 ask and sell a near call at its $4.80 bid, for a $2.40 debit per unit before costs. At near expiry, if S = K = $100, the near payoff is $0 and the far executable bid is $3.10, so liquidation P&L is $3.10 − $0 − $2.40 = +$0.70. If instead S = $115, the near payoff is $15 and the far bid is $15.80, so P&L is $15.80 − $15 − $2.40 = −$1.60. Continuing to hold the far option leaves additional spot, volatility, time and liquidity risk.

Risks and validation controls

  • Keep the underlying, option side and legal claim family consistent across maturities.
  • Distinguish a same-strike comparison from a fixed-k surface comparison.
  • Version the discount curve, forward curve, rates and exact year fractions.
  • Model declared and special cash dividends at their contractual timing and amount.
  • Include stock borrow, hard-to-borrow cost and recall effects in forward construction.
  • Stress negative, stochastic and currency-dependent rates or carry rather than assuming deterministic inputs.
  • Separate American early-exercise value and assignment from European surface conditions.
  • Keep cash settlement and physical delivery in different claim families unless formally bridged.
  • Match AM or PM convention and the contract’s official exercise-settlement value.
  • Align last trading time, quote timestamp, session, time zone, holiday calendar and expiry clock.
  • Verify multiplier, deliverable, strike and corporate-action adjustment for every series.
  • Reject stale, asynchronous, corrected, locked, crossed or one-sided feeds as clean observations.
  • Treat midpoint and model marks as diagnostics rather than executable proceeds.
  • Preserve bid, ask, depth, integer quantity and package-order availability.
  • Validate implied-volatility inversion, price bounds, units and numerical tolerance.
  • Constrain interpolation and extrapolation instead of assuming smoothness prevents arbitrage.
  • Test strike monotonicity, butterfly convexity and tail limits separately from calendar order.
  • Report raw-quote uncertainty, fit residuals, model version and sensitivity to carry inputs.
  • Include fees, funding, margin, slippage, legging, hedge and liquidation costs in trade claims.
  • Stress near-expiry delivery, residual far-option exposure, gaps and dynamic-hedge failure.

Common misconceptions

  • “A lower far-month IV is calendar arbitrage.” Total variance can rise even when annualized far IV falls.
  • “The same strike has the same moneyness.” Different maturity forwards give different k values.
  • “Negative forward variance guarantees a profitable order.” It first identifies inconsistent surface inputs or assumptions, and execution may not exist.
  • “Buying far and selling near locks a riskless payoff.” The near claim settles first and the far option retains market exposure.
  • “A smooth fitted surface is arbitrage free.” Calendar, butterfly, bounds and tail constraints must be imposed and tested independently.

Authoritative sources

Navigation

Search the wiki...