Skip to content

Option Price Improvement: Measuring Execution Quality

Measure option fills against a timestamped, size-aware NBBO; aggregate partial executions; and separate price improvement from delay, non-fill, and fee costs.

Updated

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

Direct answer

Option price improvement is an execution at a price better than a defined market benchmark. A practical gross benchmark for a marketable single-leg order is the size-aware NBBO when the broker or executing venue receives the order. For a buy, lower is better; for a sell, higher is better:

buy improvement = benchmark ask - fill price

sell improvement = fill price - benchmark bid

Multiply per-share improvement by the contract multiplier and filled quantity. A buy filled at $2.12 against a timestamped $2.00 bid / $2.20 ask improves by $0.08, or $8 for one contract with a 100 multiplier.

The customer’s limit is not the benchmark. A fill below a generous buy limit can satisfy the order without beating the market. A defensible comparison preserves the option series, side, quote time, displayed size, order-arrival time, route, and auction context.

Define the benchmark before calculating

Record the exact option series, side, quantity, order type, limit, time in force, broker-receipt and venue-receipt timestamps, contemporaneous NBBO with sizes, route or auction information, every fill, fees, cancellations, and unfilled quantity.

The displayed NBBO is a starting point, not unlimited liquidity. Its best-price size may cover only part of the order; quotes can change between submission and receipt; an auction may supply undisplayed improvement; complex orders trade at a net package price; and adjusted contracts can have nonstandard multipliers or deliverables.

For partial fills, calculate the quantity-weighted average execution price:

VWAP fill = Σ(fill price_i × quantity_i) / Σ(quantity_i)

If the benchmark changes while the order is working, compare each fill with the benchmark valid at that fill, or use a predeclared arrival-price method consistently. Never select whichever quote makes the result look best.

Price improvement is only one component of execution quality:

  • Quoted spread: ask - bid at the benchmark time.
  • Effective spread for a buy: 2 × (fill - midpoint); a negative value means a fill better than midpoint.
  • Delay cost: market movement while the order waits for a better price.
  • Opportunity cost: the outcome of intended quantity that never fills.
  • Fees and rebates: costs or credits that change net economics.

A fast fill at the ask has zero gross improvement against that ask but may be appropriate for urgent risk reduction. A patient limit may obtain improvement yet leave a hedge or exit unfilled. Do not maximize price improvement in isolation.

One order, three measurements

A five-contract buy reaches the benchmark point when the NBBO is $2.00 × 20 / $2.20 × 10. Its limit is $2.18. It fills two contracts at $2.12 and three at $2.16 while the benchmark ask remains $2.20.

VWAP fill = [(2 × $2.12) + (3 × $2.16)] / 5 = $2.144

improvement per share = $2.20 - $2.144 = $0.056

gross improvement = $0.056 × 100 × 5 = $28

The arrival midpoint was $2.10. The buy-side effective spread is:

2 × ($2.144 - $2.10) = $0.088 per share

The fill beats the ask but not the midpoint. Calling it a $0.036 improvement because it is below the $2.18 limit uses the wrong benchmark: the limit is the worst permitted buy price, not a competing market quote.

Now assume a second five-contract order waits for $2.10, receives no fill, and the market moves to $2.50 / $2.70. It has no realized price improvement because there is no execution. If the position is still needed, however, the unfilled order has delay or opportunity cost. A fill-only report hides that outcome.

For a two-leg spread, suppose the executable package market is $1.40 bid / $1.55 ask net debit and the package fills at $1.50. Gross buy improvement is $0.05 × 100 = $5 per spread. Adding separately measured leg “improvements” can double count or rely on leg quotes that were never simultaneously executable.

Measurement and execution risks

  • Wrong benchmark: a customer limit, stale quote, later midpoint, or model value is not the defined arrival benchmark.
  • Timestamp mismatch: milliseconds can matter in a moving option market.
  • Size mismatch: displayed best-price quantity may not cover the order.
  • Partial-fill bias: measuring favorable fills while ignoring the remainder overstates quality.
  • Survivorship bias: excluding canceled and unfilled orders hides opportunity cost.
  • Complex-order error: leg-level comparisons can misstate package execution.
  • Fee omission: exchange, clearing, regulatory, and broker charges alter net improvement.
  • Market-impact omission: the order itself can change available prices.
  • Adjusted-contract error: a wrong multiplier or deliverable distorts dollar results.
  • Urgency tradeoff: waiting for improvement can leave a hedge or risk exit undone.
  • Adverse selection: an apparently favorable fill may precede a move against the order.

Common misconceptions

  • “Any fill below my buy limit is price improvement.” Improvement is measured against the declared market benchmark, not merely the limit.
  • “A midpoint fill is always fair.” The midpoint may be stale or unsupported by executable size.
  • “More improvement always means better execution.” Delay, non-fill, impact, and fees also matter.
  • “The displayed ask was available for my entire order.” Its displayed size may be smaller.
  • “An unfilled order has zero execution cost.” It may create opportunity and risk-management costs.
  • “Each spread leg’s improvement can be added.” The executable package is the relevant benchmark for a complex order.
  • “Price improvement proves best execution.” Best execution is a broader, circumstances-based assessment, not one fill statistic.
  • “A favorable fill predicts investment profit.” Execution quality and the later market outcome are separate questions.

Authoritative sources

Navigation

Search the wiki...