Bullish or bearish, how a print's sentiment is inferred

Options Sentiment Screener, 28 September 2026

Every row on the Flow tape is coloured green or red, or left neutral. That colour is the app's reading of which way the trade leans, and it is worth understanding exactly how it is produced, because it is an inference from the trade record rather than a fact reported by the trader. This guide explains the rule, the cases where it is confident and the cases where it is not.

The two inputs

The feed reports what was traded and at what price against the quote. It does not report who bought and who sold. So the app works from two things: the option type, call or put, and the execution, where the trade price sat relative to the bid and ask at the moment it printed.

A call is a right to buy the stock at the strike; its holder profits if the stock rises. A put is a right to sell; its holder profits if the stock falls. Whether the trade is bullish or bearish therefore depends on which side initiated it, and execution is the evidence for that. A trade at or above the ask was initiated by a buyer who paid the offer. A trade at or below the bid was initiated by a seller who hit the bid.

The rule

Put the two together and there are four clear cases.

  • Calls bought, at or above the ask: bullish. Someone paid up to be long the right to buy.
  • Puts bought, at or above the ask: bearish. Someone paid up to be long the right to sell.
  • Calls sold, at or below the bid: bearish leaning. Someone collected premium for the obligation to sell stock higher, most often against stock they hold. It is not a bet on a fall so much as a view that a large rise is unlikely.
  • Puts sold, at or below the bid: bullish leaning. Someone collected premium for the obligation to buy stock lower, a view that a large fall is unlikely.

The app applies this rule and tags each print Bullish, Bearish or Neutral. The tag drives the row colour, the edge bar, the Bullish and Bearish chips on the tape, the sentiment filter in the screener builder, and the bullish and bearish premium sums on the Pulse.

Where it is confident

The rule is strongest at the edges of the spread. A sweep above the ask in calls is about as unambiguous as the tape gets: multiple exchanges, paying more than the offer, in a bullish instrument. Its mirror, puts swept above the ask, is the clearest bearish print. The conviction score gives these prints the most execution points for the same reason.

Where it is not

A trade at the midpoint gives almost no information about who initiated it. The buyer and seller met halfway, and either could have been the one in a hurry. The app marks these Neutral rather than guessing.

The feed also carries more than one execution signal, from the raw price against the quote to the venue's own estimate of the aggressor, and they do not always agree. When they conflict, the app treats the side as unknown and the print as Neutral. That costs a little coverage and buys a lot of honesty: a neutral tag means the record was ambiguous, not that the trade was uninteresting.

Fast markets blur the picture too. In the opening minutes and around news, the quote the feed captured can be a moment older than the trade, and a fill at the new offer reads as above the old one. The label is still shown, and the bid and ask on the detail sheet let you judge how wide the quote was when the trade printed.

What sentiment does not know

The rule reads the trade. It does not read the portfolio behind it, and that is where the largest errors live.

A large put purchase tagged bearish may be a holder buying protection on a stock that has run up. The position is bearish; the holder is not.

A large call purchase tagged bullish may be a short seller buying a hedge against a squeeze. Again the option is bullish and the trader is the opposite.

A print may be one leg of a spread. A call bought above the ask at one strike and a call sold at the bid at a higher strike, printed within the same second, is a capped bullish spread, and the second leg alone would be tagged bearish. Look for a companion print in a neighbouring strike whenever a large one appears.

Reading with the inference, not through it

The practical approach is to treat the colour as a first sort, then read the prints that matter. Filter to Bullish or Bearish, sort by premium, open the detail sheet on the top prints, and check the execution label, the spread position and the expiry. Ask what else the trade could be. On most large prints the inference holds. On the ones where it does not, the detail sheet is where you find out, and that is why the app shows it on every print rather than asking you to trust the colour.

Put this to work in the Options Sentiment Screener web app. The same screen is in the iOS and Android apps.

Open the Flow tape