What do bid side and ask side mean in options flow?

Bid side means an options print traded at or near the bid, ask side at or near the ask. It shows where the price landed, not who bought or sold.

"Bid side" means an options print traded at or near the bid, the highest price buyers were posting at that moment, and "ask side" means it traded at or near the ask, the lowest asking price sellers were posting. The side only shows where the price landed inside the spread, and it never shows who bought, who sold, or whether a position was opened or closed. That makes it a useful clue about urgency and a poor guide to anyone's intent.

What the bid, the ask and the spread are

The SEC's investor site defines the bid as the highest price a buyer will pay at a given time, the ask as the lowest amount a seller will accept, and the difference between the two as the spread.1 Options work the same way. The Options Industry Council (OIC) explains that the quotes in a typical option chain are built by OPRA, which collates prices from all the options exchanges into one national quote, the NBBO. Bid size and ask size are the number of contracts available at those prices.2 Our glossary entry on the bid-ask spread covers how wide spreads affect what you pay.

Every trade, called a print once it is reported, happens at one price. That price can sit at the bid, at the ask, or anywhere between them. Where it lands is what bid side and ask side describe.

Why the side is read as a clue

A market order to buy is typically filled at the ask, and a market order to sell at the bid.2 The SEC puts it the same way: a market order generally executes at or near the current bid for a sell order, or the ask for a buy order.3 So a print at the ask is commonly read as buyer-initiated, meaning the buyer crossed the spread to get filled, and a print at the bid as seller-initiated.

That is a reading, not a certainty. A limit order is an order to buy or sell at a specific price or better,3 so two traders posting limit orders can meet anywhere inside the spread. A print in the middle is often exactly that kind of meeting, and it gives no hint about which side was in more of a hurry.

How CaymanBot labels a print: five bands

CaymanBot measures where a price sat inside the spread with one number, the position:

position=price−bidask−bid\text{position} = \frac{\text{price} - \text{bid}}{\text{ask} - \text{bid}}

A position of 0 means the print traded at the bid, and 1 means it traded at the ask. The label then follows five bands:

  • Sold at bid: position 0.10 or less.
  • Below mid (leans sold): under 0.40.
  • At mid (side unclear): 0.40 to 0.60.
  • Above mid (leans bought): under 0.90.
  • Bought at ask: 0.90 or more.

A price under the bid reads "Below bid" and one over the ask reads "Above ask": those two labels mean the print sat outside the quote recorded at the print, and they are not a sixth band. With no usable quote, the label is a plain "bought" or "sold". These cut-offs are CaymanBot's own labeling rule, chosen for the app; they are not an exchange standard.

A hypothetical worked example

The numbers in this section are hypothetical: round, made-up figures for a hypothetical call option on an unnamed stock, chosen to show each band. They are not real trades and carry no date.

The call is quoted 2.00 bid and 2.20 ask. The spread and the mid-market price are:

spread=ask−bid=2.20−2.00=0.20\text{spread} = \text{ask} - \text{bid} = 2.20 - 2.00 = 0.20
mid=(bid+ask)÷2=(2.00+2.20)÷2=2.10\text{mid} = (\text{bid} + \text{ask}) \div 2 = (2.00 + 2.20) \div 2 = 2.10

Six prints of 10 contracts each trade on it. The first five see the same quote. Print F trades at the same price as Print C after the quote has moved up to 2.10 bid and 2.30 ask.

PrintPriceBidAskPositionBand
A2.002.002.200.00Sold at bid
B2.052.002.200.25Below mid (leans sold)
C2.102.002.200.50At mid (side unclear)
D2.152.002.200.75Above mid (leans bought)
E2.202.002.201.00Bought at ask
F2.102.102.300.00Sold at bid

Hypothetical prices for illustration; not real trades.

Step 1: compute the position

For Print B, put its price and the quote into the formula:

position=price−bidask−bid=2.05−2.002.20−2.00=0.050.20=0.25\text{position} = \frac{\text{price} - \text{bid}}{\text{ask} - \text{bid}} = \frac{2.05 - 2.00}{2.20 - 2.00} = \frac{0.05}{0.20} = 0.25

A position of 0.25 is under 0.40, so Print B reads "Below mid (leans sold)". Print D works the same way:

position=2.15−2.002.20−2.00=0.150.20=0.75\text{position} = \frac{2.15 - 2.00}{2.20 - 2.00} = \frac{0.15}{0.20} = 0.75

That is under 0.90, so Print D reads "Above mid (leans bought)".

Step 2: the edges of each band

On this 2.00 / 2.20 quote, a price of 2.02 is position 0.10 and still reads "Sold at bid". Prices of 2.08 and 2.12 are positions 0.40 and 0.60, and both read "At mid (side unclear)", because the edges count as mid. A price of 2.18 is position 0.90 and reads "Bought at ask". A print at 2.25 would be outside the quote:

position=2.25−2.002.20−2.00=0.250.20=1.25\text{position} = \frac{2.25 - 2.00}{2.20 - 2.00} = \frac{0.25}{0.20} = 1.25

Above 1, so it reads "Above ask".

Step 3: the same price, a different quote

Print C and Print F both trade at 2.10. Against the 2.00 / 2.20 quote, Print C sits in the middle. Against the moved 2.10 / 2.30 quote, Print F sits on the bid:

position=2.10−2.102.30−2.10=00.20=0.00\text{position} = \frac{2.10 - 2.10}{2.30 - 2.10} = \frac{0}{0.20} = 0.00

So the same price reads "At mid (side unclear)" once and "Sold at bid" the other time. The band depends on the quote at the moment of the print, never on the price alone.

Step 4: the premium

Each option contract covers 100 shares, so the premium of a print is its price times its size times 100. For Print B:

premium=price×contracts×100=2.05×10×100=2,050\text{premium} = \text{price} \times \text{contracts} \times 100 = 2.05 \times 10 \times 100 = 2{,}050

That is $2,050. Print E, at 2.20, comes to $2,200. Bigger premium does not change the band: the band only measures where the price sat.

How to read it, and what it cannot tell you

Each band says where the price landed between the bid and the ask at the print. Several things stay hidden:

  1. Who bought and who sold. Every trade has both a buyer and a seller. "Bought at ask" says the buyer paid the ask; someone sold at that same price.
  2. Opening or closing. Brokers require each options order to be marked as opening a new position or closing an existing one, which gives four order types.4 A band cannot show which of them happened on either side. Our post on what buy to open and sell to close mean explains the four, and why the next day's change in open interest is the first hint, and a net one at that.
  3. The whole order. A print can be one leg of a multi-leg order that executes against several legs at once, so its price against a single quote can look odd.
  4. The quote's timing. Quotes move between an order and its print, as Print F shows.

Because of that, no band is bullish or bearish by itself. One print's side is also a different thing from whole-market counts: the put/call ratio compares total put and call volume and ignores where any single print landed. A print makes more sense read with its strike, expiry, size and premium against the day's volume and open interest, which our post on unusual options activity works through. Our free guide to reading options flow covers each part of a print.

How to practice this

Take a few prints, write down the price, bid and ask of each, and compute the position by hand before you look at the label. CaymanBot's $100K paper account lets you practice reading options flow without real money at stake. In the first two Learning Mode stages, each trade on the feed comes with a plain-English sentence you can check against the strike, expiry and premium. A free account shows options data delayed 16 minutes (60 minutes without an account). New accounts start with a 14-day Premium trial.

Educational only, not investment advice.

Notes

  1. SEC Investor.gov glossary, "Bid Price", defining bid, ask and spread. https://www.investor.gov/introduction-investing/investing-basics/glossary/bid-price ↩︎

  2. Options Industry Council, "Understanding the Bid and Ask Prices for Options", on option chain quotes, OPRA, bid and ask size, and market order fills. https://www.optionseducation.org/news/understanding-the-bid-and-ask-prices-for-options ↩︎ ↩︎

  3. SEC Investor.gov, "Types of Orders", on market orders and limit orders. https://www.investor.gov/introduction-investing/investing-basics/how-stock-markets-work/types-orders ↩︎ ↩︎

  4. Options Industry Council, "Open Interest: Why It Matters", on the four opening and closing order types and how they change open interest. https://www.optionseducation.org/news/open-interest-why-it-matters ↩︎

  5. Options data from OPRA, delayed at least 60 minutes.

Frequently asked questions

What do bid side and ask side mean?

Bid side means an options print traded at or near the bid, the highest price buyers were posting. Ask side means it traded at or near the ask, the lowest asking price sellers were posting.

Does a print at the ask mean someone opened a bullish call position?

No. A print at the ask shows where the price landed in the spread. Every trade has a buyer and a seller, and the price alone cannot show whether either side opened or closed a position.

What does 'At mid (side unclear)' mean?

It means the print traded in the middle of the spread, at a position from 0.40 to 0.60 between the bid and the ask. A price in the middle gives no useful hint about which side was more eager to trade.

Why can a print show 'Above ask' or 'Below bid'?

The label compares the price with the quote recorded at the print. If the quote moved between the order and the print, or the print was part of a multi-leg or other special order, the price can sit outside that quote.

How does CaymanBot decide which band a print gets?

It computes position = (price - bid) / (ask - bid) and applies cut-offs at 0.10, 0.40, 0.60 and 0.90. Those cut-offs are CaymanBot's own labeling rule, not an exchange standard.

Put the research in one place

Start free. Free account: options data delayed 16 minutes. No account: 60 minutes. Premium adds alerts and Strategy Lab, and real-time options data for users who complete the OPRA non-professional attestation.

Start free