What Is Butterfly Arbitrage?

Last reviewed: by .

Butterfly arbitrage is the structural no-arbitrage condition requiring that the call-price function be convex in strike, equivalently that the second derivative (the implied risk-neutral density) be non-negative everywhere. A surface that violates this condition implies negative probability mass at some strike - a free-money arbitrage that systematic option traders exploit. Butterfly-arbitrage absence is the central calibration constraint for any production volatility surface.

What Is Butterfly Arbitrage?

For a fixed expiration, the call price function C(K) maps strike K to call value. Three constraints from no-arbitrage:

The butterfly-arbitrage condition is the central no-arbitrage requirement because it has direct economic content: by Breeden-Litzenberger (1978), d^2 C / dK^2 = e^(-rT) * f^*(K), equivalently f^*(K) = e^(rT) * d^2 C / dK^2, where f^*(K) is the risk-neutral probability density at strike K. A negative second derivative means negative probability density - which is mathematically impossible and operationally exploitable.

The Butterfly Trade as the Arbitrage

If butterfly arbitrage exists, you can profit risk-free using a simple butterfly spread:

The payoff at expiration is non-negative everywhere: zero at extremes, peak at K. The cost of this position is C(K - delta_K) - 2*C(K) + C(K + delta_K), which approximates delta_K^2 * d^2 C / dK^2. If the second derivative is negative anywhere on the surface, the butterfly costs negative money to set up - you receive money for a position with non-negative payoff. That is the arbitrage.

Why Does the Butterfly Arbitrage Constraint Matter?

How Do Surface Models Enforce It?

The Roper Conditions

Roper (2010) gave the canonical algebraic specification of static no-arbitrage on a parametric implied-vol surface. For SVI, the relevant condition involves a function g(k) of the smile parameters; butterfly absence requires g(k) > 0 everywhere. The condition is:

g(k) = (1 - k * w'(k) / (2 * w(k)))^2 - (w'(k))^2 / 4 * (1/w(k) + 1/4) + w''(k) / 2 >= 0

where w(k) is the SVI total-variance function and primes denote derivatives in log-moneyness k. Practical calibration tests this on a dense grid of k values; violations trigger parameter rejection or regularization.

Worked Example

SPX 30-day SVI calibration produces parameters (a, b, rho, m, sigma) = (0.024, 0.18, -0.62, 0.005, 0.07). Computing g(k) on a grid k in [-0.30, +0.30]:

If a calibration produced negative g(k) at any k, the surface fit is flawed - either the input data has noise, the optimizer landed in a bad parameter region, or the model class is wrong for this regime. Production systems either retry with different starting points or fall back to a more flexible parameterization.

Calendar Arbitrage (Cross-Tenor)

A second arbitrage condition operates across tenors: total variance must grow monotonically in T at every log-moneyness k. Per-expiration SVI does not enforce this; SSVI/eSSVI do. Surface fitting that satisfies butterfly absence at each tenor but not calendar absence across tenors still has arbitrage - just one that requires options at multiple expirations to exploit.

Limitations and Caveats

Related Concepts

Risk-Neutral Density · SVI · eSSVI · Volatility Smile · Convexity · Calibration · Pricing Model Landscape

References & Further Reading

View live arbitrage-free SPY surface and RND ->

This page is part of the Pricing Model Landscape and the canonical reference set on options market structure. Browse all documentation.

Frequently asked questions

What is butterfly arbitrage?
Butterfly arbitrage is the structural no-arbitrage condition requiring that the call-price function be convex in strike. Equivalently, the implied risk-neutral density must be non-negative everywhere.
How is butterfly arbitrage tested?
Construct three calls at strikes K1 < K2 < K3 with K2 = (K1+K3)/2. The butterfly C(K1) - 2*C(K2) + C(K3) must be non-negative. A negative value means the call function is concave at K2 - an arbitrage.
Why does butterfly arbitrage matter for traders?
A negative butterfly is a free-money arbitrage in theory; in practice it usually flags quote noise rather than real opportunity. Surface fitters must filter or smooth around such violations to produce well-behaved implied densities.
When do butterfly arbitrage violations appear?
In thinly traded strikes where bid-ask noise dominates, immediately after large gap moves before quotes refresh, and in low-liquidity expirations. Listed-surface filtering tools flag and discard them.
How is butterfly arbitrage related to calendar arbitrage?
Butterfly arbitrage is a within-expiration constraint (convexity in strike). Calendar arbitrage is a cross-expiration constraint (forward variance must be non-negative). Both must hold for a coherent risk-neutral measure.