# Options NBBO and OPRA Market Data

Learn how OPRA consolidates U.S. listed-options quotes and trades, how an option NBBO is formed, and why best prices do not show total depth or guarantee execution.

Canonical: https://wiki.fcontext.com/options/options-nbbo-opra/
Fact checked: 2026-07-22

> For educational purposes only; not investment advice.

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

**OPRA**, the Options Price Reporting Authority, operates the national market system plan through which participating U.S. options exchanges collect and disseminate consolidated quotation and last-sale information for listed options. An option **NBBO** is the highest displayed Bid and lowest displayed Offer available across the included exchanges for the same contract at a given observation time.

OPRA is the data-consolidation framework; NBBO is a best-price result calculated from eligible venue quotes. Neither term means that every broker sees the update at the same instant, that the best price has enough size for an order, or that an order must fill at the midpoint.

<a id="mechanism"></a>
## How the consolidated quote is formed

For one exact option series, let each reporting exchange provide a Bid, Offer, displayed size, and timestamp. The price-only calculation is:

`National Best Bid = max(all eligible exchange Bids)`

`National Best Offer = min(all eligible exchange Offers)`

The Bid and Offer can come from different exchanges. Their associated sizes belong to those best-priced quotes, not to every venue or every price level. If several venues share a best price, a feed may present aggregate size or venue-level contributors depending on the product and display; users must know the field definition.

The practical path is exchange matching engine → exchange market-data message → OPRA processor and distribution → data vendor or broker → application. Network distance, processing, entitlements, throttling, display refresh, and whether a feed is real-time or delayed can make a screen differ from the market when an order arrives. Direct or proprietary feeds can also have different content and latency from consolidated data.

An NBBO is contract-specific. Strike, expiration, Call/Put, exercise style, multiplier, and adjusted deliverable must match. A single-leg NBBO also does not describe the executable net market for a complex order; strategy books and auctions may expose liquidity that is not visible by algebraically combining leg quotes.

<a id="example"></a>
## Best price is not full market depth

At one timestamp, the same standard Call is quoted on three exchanges:

| Exchange | Bid × size | Offer × size |
| --- | ---: | ---: |
| A | `$1.00 × 10` | `$1.20 × 8` |
| B | `$1.05 × 2` | `$1.15 × 1` |
| C | `$0.98 × 20` | `$1.18 × 12` |

The NBBO is `$1.05 × 2 Bid / $1.15 × 1 Offer`, and its arithmetic midpoint is `$1.10`. The national best prices both come from B, but only one contract is displayed at the best Offer.

A marketable order to buy five contracts cannot infer a five-contract `$1.15` fill from the NBBO. If quotes remain and routing reaches displayed liquidity, one might fill at `$1.15`; the remaining four may access C at `$1.18`, A at `$1.20`, hidden or auction liquidity, updated prices, or remain unfilled under a limit. A hypothetical fill of one at `$1.15` and four at `$1.18` averages:

`[(1 × $1.15) + (4 × $1.18)] ÷ 5 = $1.174`

For the standard `100` multiplier, premium cash is `$1.174 × 100 × 5 = $587`, before fees. This example is a static snapshot, not a routing prediction or promised fill.

<a id="risks"></a>
## Reading NBBO data correctly

- Verify the exact contract, condition codes, timestamp, time zone, and real-time or delayed status.
- Preserve best-price size and venue attribution; price without quantity is incomplete.
- Distinguish NBBO, Last, Mid, broker Mark, theoretical value, and an executable complex-order price.
- Expect quotes to update, cancel, lock, or cross while an order is transmitted and routed.
- Use limit prices to control the worst acceptable price, while recognizing they do not guarantee execution.
- Compare broker order and execution records with the market data available at the relevant time, not a later screenshot.
- Assess deeper levels and likely price impact when quantity exceeds displayed best size.
- Treat openings, halts, fast markets, news, expiration, and corporate actions as distinct data-quality and execution states.
- Confirm whether a vendor aggregates sizes, filters quotes, rounds values, or refreshes the interface less often than its feed.
- Evaluate multileg strategies with a package quote where available rather than assuming leg midpoints are jointly executable.

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

**“OPRA is an options exchange.”** It is the reporting-plan infrastructure for consolidated listed-options market data, not a venue where an investor sends an order.

**“NBBO shows the whole order book.”** It shows best displayed prices and associated top-level size, not all depth, hidden interest, or complex-order liquidity.

**“A price inside NBBO must fill.”** It may be a valid limit, but execution requires opposing interest and queue priority while the market remains available.

<a id="related"></a>
## Related topics

- [Option-chain Bid, Mid, and Ask](../option-chain-bid-mid-ask/)
- [Option fill-price playbook](../option-fill-price-playbook/)
- [Option price improvement](../option-price-improvement/)
- [Options liquidity and executable capacity](../options-liquidity/)

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

- [Options Price Reporting Authority](https://www.opraplan.com/)
- [SEC, Market Data](https://www.sec.gov/marketstructure/market-data)
- [Cboe, U.S. Options Rule Book](https://www.cboe.com/us/options/regulation/rule_book/)
- [FINRA, Options](https://www.finra.org/investors/investing/investment-products/options)