Market tide: cumulative options premium
Net call premium and net put premium, added up from the session open. The curves are built from repeated readings of a delayed options chain, so each contract contributes the premium behind its volume for the day. These are not prints and this is not a tape.
Computed from a delayed options chain, not from a signed tape. Side is inferred from where the last trade sat relative to the quote, and contracts that printed mid-market stay unknown and are left out of the signed totals. Machine-readable version.
Session 2026-09-10, last completed session
488 distinct contracts have entered the curve so far, captured every 15 seconds, last updated 12:59 PT.
The same numbers as a table
Roughly one row per half hour, so nothing on the chart is readable only by colour.
| Time | Net calls | Net puts | Net tide | Contracts |
|---|---|---|---|---|
| 06:30 PT | $27.7M | $0 | $27.7M | 20 |
| 07:00 PT | $24.4M | -$26.1M | $50.5M | 195 |
| 07:31 PT | $116.1M | $465K | $115.6M | 270 |
| 08:02 PT | $16.2M | -$26.2M | $42.3M | 322 |
| 08:33 PT | -$119.6M | $5.3M | -$124.9M | 353 |
| 09:10 PT | $9.6M | -$35.6M | $45.2M | 371 |
| 09:40 PT | $93.8M | -$47.1M | $140.9M | 392 |
| 10:10 PT | $91.9M | -$30.3M | $122.1M | 407 |
| 10:42 PT | -$25.3M | -$4.4M | -$20.9M | 420 |
| 11:12 PT | -$5.0M | -$14.0M | $9.0M | 435 |
| 11:42 PT | $73.0M | -$13.6M | $86.6M | 449 |
| 12:13 PT | $24.3M | $9.7M | $14.6M | 473 |
| 12:44 PT | -$38.9M | -$12.6M | -$26.3M | 486 |
| 12:59 PT | $106.4M | -$28.3M | $134.7M | 488 |
The symbols behind the curve
This is not the whole market. The scanner rotates through 20 symbols, 2 of them every 8 seconds, so any one name is re-read about every 80 seconds. A contract only enters the curve when its volume is at least 1.5 times its open interest, which is the unusual activity filter the scanner already applies.
AAPL, MSFT, GOOGL, AMZN, NVDA, META, TSLA, AMD, NFLX, SPY, QQQ, IWM, COIN, PLTR, SOFI, BAC, JPM, GS, XOM, V
How the accounting works
The curve covers 20 symbols, not the whole market. The scanner reads 2 of them every 8 seconds, so any one name is re-read about every 80 seconds and whatever happens between two readings of a name is never seen on its own.
A contract enters the curve only when its volume is at least 10, its open interest is at least 1, and its volume is at least 1.5 times its open interest. Each reading of a symbol keeps only the 20 highest-scoring contracts on that symbol, so ordinary strikes never reach the curve at all.
Premium on contracts whose side could not be inferred is totalled on its own and shown beside the curves. It is never added into them, so the signed totals cover less than all of the premium observed.
Each contract carries one estimate and one inferred side, and a reading that shows more volume replaces both. When a contract counted as bought is later counted as sold, its whole estimate moves across, so the signed curve shifts by twice that estimate. A large jump can be a reclassification of premium already on the chart, not that much new buying or selling.
Copy for chat
SquawkFlow market tide, session 2026-09-10 (last completed) Cumulative net call premium: $106.4M Cumulative net put premium: -$28.3M Net tide (calls minus puts): $134.7M Unknown-side premium excluded from the signed totals: $86.3M, 12.3% of all premium observed Contracts tracked: 488. Peak on the chart scale: $200.0M. Universe: the 20 symbols the scanner rotates through, 2 every 8 seconds. A contract enters the curve only when its volume is at least 10, its open interest is at least 1, and its volume is at least 1.5 times its open interest. Each reading of a symbol keeps only the 20 highest-scoring contracts on that symbol, so ordinary strikes never reach the curve at all. Each contract carries one estimate and one inferred side, and a reading that shows more volume replaces both. When a contract counted as bought is later counted as sold, its whole estimate moves across, so the signed curve shifts by twice that estimate. A large jump can be a reclassification of premium already on the chart, not that much new buying or selling. Computed from a delayed options chain, not from a signed tape. Side is inferred from where the last trade sat relative to the quote, and contracts that printed mid-market stay unknown and are left out of the signed totals. Source: https://squawkflow.com/market-tide
How to read this
- Is this the same as Unusual Whales Market Tide?
- It is the same idea, built from different inputs. Both plot cumulative net call and net put premium through the session. Theirs is computed on trade prints. Ours is computed from repeated snapshots of a delayed options chain, so a contract contributes its day-cumulative volume rather than one trade at a time, and the symbol list is 20 names rather than the whole market.
- Is this real time?
- No. The upstream is a delayed options chain, and the scanner reads two symbols every eight seconds, so a given symbol is refreshed about every 80 seconds. Each point on the curve carries the time it was captured.
- How is the buy side and the sell side decided?
- It is inferred, not reported. A contract whose last trade sat at or near the ask is counted as bought and one at or near the bid as sold. A contract that printed mid-market, or that has no usable quote, stays unknown. Unknown premium is totalled separately and left out of the signed curves rather than assigned by guess.
- Why do the curves only ever rise?
- They are cumulative sums of premium that has already traded, so they carry every earlier reading forward. A single large contract early in the session lifts the level for the rest of the day. Read the slope, which is what is happening now, rather than the level, which is what has happened since the open.
- Why did the curve jump by more than the activity behind it?
- Because the curve holds one estimate per contract and replaces it whole on every new reading. That estimate carries a single inferred side, so a contract counted as bought and later counted as sold comes off the buy side and goes on the sell side in one step, and the signed curve moves by twice the estimate. A contract seen at 100 lots near 1.00 counts as about 10,000 dollars of buying; the next reading at 101 lots inferred as sold counts as about 10,100 dollars of selling instead, a swing of roughly 20,100 dollars on one extra contract of volume. Premium is also re-priced whenever volume rises: the whole day is valued at the current quote midpoint, so a quote that has moved since the last reading revalues everything already counted and not only the new lots. Read a sudden jump as a possible reclassification of premium already on the chart rather than as that much new buying or selling.
- What resets it?
- The session open, 06:30 America/Los_Angeles. Each session gets its own curve, and the previous session stays readable here after the close until the next one starts.
Nothing on this page is advice or a recommendation, and none of it is a forecast. See the risk disclosure.