# Butterfly Arbitrage: Strike Convexity, Weighted Spreads, and Execution

Test call-price convexity with butterfly spreads, handle unequal strike spacing, and distinguish executable arbitrage from noisy quotes.

Canonical: https://wiki.fcontext.com/options/butterfly-arbitrage/
Fact checked: 2026-07-22

> For educational purposes only; not investment advice.

<a id="answer"></a>

## Direct answer

For one expiration and otherwise identical European calls, no-arbitrage prices must be nonincreasing and **convex in strike**. At equally spaced strikes `K−h`, `K`, and `K+h`:

`C(K−h) − 2C(K) + C(K+h) ≥ 0`

The left side is the price of a long call butterfly. Its expiration payoff is never negative. If the combination can actually be opened for a net credit, with no later liability beyond its nonnegative payoff, the quotes violate static no-arbitrage after accounting for all costs and constraints.

<a id="mechanism"></a>

## Convexity and unequal strike spacing

The equal-spacing butterfly buys one low-strike call, sells two middle-strike calls, and buys one high-strike call. Its payoff is zero below the low strike, rises to `h` at the middle strike, falls to zero at the high strike, and stays zero above it.

For unequal strikes `K₁ < K₂ < K₃`, the unweighted `1:−2:1` test is wrong. Define `w = (K₃−K₂)/(K₃−K₁)`. Convexity requires:

`C(K₂) ≤ wC(K₁) + (1−w)C(K₃)`

An equivalent weighted butterfly buys `K₃−K₂` low-strike calls, sells `K₃−K₁` middle calls, and buys `K₂−K₁` high-strike calls, subject to scaling into tradable contract quantities.

Convexity is also why the second strike derivative of call price corresponds to a nonnegative state-price density. A negative butterfly price implies negative local density in the idealized price curve.

<a id="example"></a>

## 90/100/110 quote violation

Suppose synchronized same-expiration European calls are quoted at theoretical executable prices:

| Strike | Call price |
| ---: | ---: |
| `$90` | `$15` |
| `$100` | `$10` |
| `$110` | `$4` |

The long butterfly cost is:

`$15 − 2×$10 + $4 = −$1`

It produces a `$1` initial credit per underlying unit while expiration payoff is zero or positive, peaking at `$10` when `S_T = $100`. With a 100-unit multiplier, the initial credit is `$100` before fees.

Real execution must instead use the asks for both purchased wings and the bid for two middle calls. If those executable prices make the cost positive, the midpoint “arbitrage” does not exist. All contracts must share expiration, exercise style, settlement, multiplier, and underlying.

<a id="risks"></a>

## Arbitrage verification checklist

- Use synchronized executable bid and ask prices, not last trades or independent midpoints.
- Confirm equal strike spacing before applying `1:−2:1`; otherwise calculate weights.
- Match expiration, underlying, exercise style, settlement, multiplier, and corporate-action status.
- Submit a complex order where possible; legging leaves directional and volatility exposure.
- Include commissions, exchange fees, financing, margin, taxes, and settlement charges.
- Check depth at the required quantity; a top-of-book price may cover only one contract.
- Prefer European-style contracts for the clean static test; American exercise and dividends complicate carrying cash flows.
- Verify broker permissions, position limits, liquidation treatment, and expiration operations.

<a id="misconceptions"></a>

## Common misconceptions

- “A negative midpoint butterfly is free money.” Midpoints are not executable prices.
- “The formula works for any three strikes.” `1:−2:1` requires equal spacing.
- “A nonnegative expiration payoff removes all risk.” Execution, assignment, settlement, and broker risks remain.
- “A negative fitted density proves a trade exists.” It may reflect interpolation or stale data rather than tradable quotes.
- “Each leg can be filled later at the displayed price.” Markets move and partial fills create open exposure.
- “Small violations remain profitable at scale.” Depth, fees, and market impact often grow faster than the edge.

<a id="related"></a>

## Related topics

- [Breeden-Litzenberger Formula](/options/breeden-litzenberger-formula/)
- [Bid-Ask Spread](/options/bid-ask-spread/)
- [Box Spread](/options/box-spread/)

<a id="sources"></a>

## Authoritative sources

- [Prices of State-Contingent Claims Implicit in Option Prices](https://doi.org/10.1086/296025) - Douglas T. Breeden and Robert H. Litzenberger
- [Characteristics and Risks of Standardized Options](https://www.theocc.com/company-information/documents-and-archives/options-disclosure-document) - Options Clearing Corporation
- [SPX Options Product Specifications](https://www.cboe.com/tradable_products/sp_500/spx_options/specifications/) - Cboe