Back to blog

Smart Money Block Trades | How to Track Institutional Options Flow

Follow institutional block trades to track longer-term positioning and whale conviction. Options flow and LEAPS strategy guide.

7 min readOptionData
block-tradessmart-moneyswingoptions-flow

Smart Money Block Trades: Tracking Whale Options Flow

Overview

Goal: Identify and track "whale" investors—institutional players positioning for strategic, longer-term moves.

Difficulty Level: Intermediate-Advanced

Time Horizon: Weeks to Months (Swing to Position Trading)

Best Used: To identify structural accumulation or distribution.

Key Distinction: Unlike high-frequency urgent "sweeps", block trades are single, massive transactions. They represent conviction and capital deployment, not necessarily immediate speed.

Run this strategy with the OptionData API: Use AGGREGATED mode on our Realtime WebSocket to see true block size; filter by premium and expiry. The OptionData API card at the bottom includes a snippet for whale flow.


Key Terms

| Term | Plain-English meaning | |------|------------------------| | Block trade | A very large options (or stock) trade, often 10k+ contracts or $1M+ premium. Usually negotiated or split across venues. | | Whale | A large institutional trader (hedge fund, asset manager) whose size can move the market. | | AGGREGATED mode | When your feed groups multiple small prints that belong to one large order, so you see the true block size instead of "noise." | | ITM / ATM / OTM | In-the-money (already profitable if exercised), at-the-money (strike ≈ current price), out-of-the-money (needs a move to be profitable). | | LEAPS | Long-dated options (often 1–2+ years). Used for long-term bets or stock replacement. | | Stock replacement | Using deep ITM calls instead of shares to get exposure with less capital. |

Why aggregation matters: Big players often split one 10,000-contract order into many small prints. Without aggregation you see dozens of small trades; with it you see one 10,000-contract block — a whale.


The Core Concept

Block Trades: The Institutional Footprint

A block trade is a privately negotiated transaction typically executed off-exchange or as a single print.

  • Size: 10k+ contracts or >$1M premium.
  • Purpose: Strategic positioning (Stock Replacement, Hedging, or Directional Bet).
  • Mode: Often hidden from standard feeds unless aggregated.

The Aggregation Problem (And Solution)

Institutions often "shred" their orders to mask their size from the public.

graph TD
    A[Whale Order: 10,000 Contracts] --> B{Execution Algo};
    B --> C[2,000 Contracts (Exchange A)];
    B --> D[3,000 Contracts (Exchange B)];
    B --> E[5,000 Contracts (Exchange C)];
    C --> F[Retail Feed: Looks Noise];
    D --> F;
    E --> F;
    F --> G[AGGREGATED MODE] --> H[Reconstructs 10,000 Block];

Key Insight: Without aggregation, a whale looks like five retail traders. With aggregation, the footprint becomes undeniable.


Key Indicators to Watch

1. Size Thresholds

Focus on premium that moves the needle for the specific market cap.

Premium Thresholds

  • Small Cap: $100k+ - < $10B Cap

$50B Cap" />

  • Mega Cap: $5M+ - AAPL, NVDA

50%" subtext="Critical Signal" />

2. Moneyness & Intent

The strike selection reveals the strategy.

  • Deep ITM (Delta 0.80+): Stock Replacement. Highly bullish. Substitute for owning shares with less capital efficient.
  • ATM (Delta 0.50): Directional. Balanced risk/reward.
  • OTM (Delta 0.30): Speculative. Expecting a move > implied volatility.
  • Deep OTM LEAPS: Structural. Long-term paradigm bet.

3. Execution Mode: AGGREGATED

Critical Setting: You MUST toggle AGGREGATED mode in OptionData. This combines split prints back into their original parent order, revealing the true size.

4. Side & Price

  • MID: Negotiated block. High conviction, lower urgency.
  • ASK: "Paying the spread". High conviction AND high urgency.

Step-by-Step Analysis Process

flowchart LR
    A[1. Enable AGGREGATED] --> B[2. Filter by Size]
    B --> C[3. Contextualize]
    C --> D[4. T+1 Confirm]

Step 1: Enable Aggregation

Action: In your OptionData (or flow) settings, set data mode to AGGREGATED.
Result: Split prints from the same parent order are combined, so you see the true block size instead of many small trades.

Beginner tip: If you leave "raw" or non-aggregated mode on, a 10,000-contract block might appear as 20 prints of 500 — and look like retail. Aggregation reveals the whale.

Step 2: Filter for Whales

Set filters to exclude noise:

  • Premium > $1M
  • Expiry > 14 days (filter out gamma scalpers)

Scan Example

  • Ticker: TSLA

  • Size: 12,000

  • OI: 8,000

  • Ratio: 150% - New Position

Contextualize the Strategy

Use the Decision Tree:

  • ITM + Call: Bullish Stock Replacement.
  • OTM + Call (< 30 DTE): Catalyst Speculation.
  • OTM + Call (> 90 DTE): Structural Bull.
  • ITM + Put: Bearish or Protection.

T+1 Confirmation

Crucial Step: Did Open Interest increase the next day?

  • Yes: They held. FOLLOW.
  • No: They closed or it was a complex hedge. IGNORE.

Real-World Examples

Example 1: NVDA Deep ITM LEAPS (Nov 2022)

The Setup: Deep in the "AI Winter", a massive block appeared.

  • Trade: $100 Call, Jan 2024 (LEAPS)
  • Stats: 25k contracts, $11.8M Premium, Delta 0.92.

Analysis:

Trade Analysis

  • Strategy: Stock Replace

  • Leverage: 30:1

  • T+1 OI: +25k - Confirmed

Outcome: NVDA rallied to $495. The Calls moved from $47 → $395. Return: +740%.


Example 2: AAPL Earnings Speculation

The Setup: 3 days pre-earnings.

  • Trade: $175 Call (OTM), Expiring in 2 weeks.
  • Stats: 18k contracts, $2.88M, Executed at ASK.

Analysis:

  • Urgency: ASK side execution = Impatient.
  • Timing: Pre-event.
  • Verdict: Betting on a beat.

Outcome: AAPL gapped up. Calls rose +493%.


Example 3: The "Raw" vs. "Aggregated" Lesson

Raw Feed: Showed 5 trades of $200k each. Looked like noise. Aggregated Feed: Showed 1 block of $1.04M. Verdict: A Whale was hiding. Lesson: Always use aggregation.


Common Pitfalls

Pitfall 1: Confusing Spreads

Mistake: Seeing a large Call buy but missing the simultaneous Call sell at a higher strike. Reality: Vertical Spreads have capped profit. Less bullish than naked calls. Solution: Check for paired trades.

Pitfall 2: Ignoring T+1

Mistake: Following a block that was actually a closing order. Solution: If T+1 OI decreases, they were exiting.

Pitfall 3: Time Frame Mismatch

Mistake: Day trading a LEAPS signal. Solution: Match your holding period to the signal. LEAPS signals are for months, not minutes.


Advanced Tactics

Tactic 1: The "Shadow Whale"

  • Strategy: Buy the same strike/expiry as the whale, but 1/10th the size.
  • Exit: Monitor the whale's OI. If OI drops, they sold. You sell too.

Tactic 2: Moneyness Arbitrage

  • Condition: Whale buys Deep ITM (safe).
  • Actions: You buy OTM (risky) for higher leverage, drafting off their directional conviction.

Tactic 3: Repeat Activity

  • Condition: Whale adds to position in Week 2.
  • Verdict: Double Conviction. Increase position size.

Quick Reference Checklist

Pre-Trade Validation:

  • [ ] Aggregation ON: Confirmed true size.
  • [ ] Size > OI: Confirmed new position.
  • [ ] Premium significant: >$100k-$1M.
  • [ ] T+1 Verified: Position held overnight.
  • [ ] Structure clear: Naked call/put vs Spread.
  • [ ] Moneyness aligned: Fits your risk tolerance.

Technical Implementation

Streaming Aggregated Block Trades

You can run this strategy with the OptionData API: use the Realtime WebSocket with AGGREGATED mode to see true block size. The OptionData API card at the bottom has a copy-paste snippet. Connect to wss://ws.optiondata.io with all filters as query parameters in the URL (no subscribe message).

Objective: Detect consolidated block trades with >$1M premium.

// Filters in URL: aggregation_mode, premium, expiry_days (min 14, no max = null)
const url = "wss://ws.optiondata.io?token=YOUR_API_TOKEN&aggregation_mode=AGGREGATED&premium=[1000000,null]&expiry_days=[14,null]";
const ws = new WebSocket(url);

ws.on('message', (data) => {
  const msg = JSON.parse(data.toString());
  if (msg.status === "SUCCESS") {
    console.log("Connected:", msg.msg);
    return;
  }
  // Each subsequent message is a trade object (aggregated block)
  console.log("Block:", msg.symbol, msg.strike, msg.put_call, "premium", msg.premium);
});

Related Recipes


Further Reading

  • Basic Concepts: Open Interest
  • Basic Concepts: Aggregation Mechanics
  • Basic Concepts: Moneyness (ITM/ATM/OTM)

🧮 Block Trade Scoring Model

Block Score = (Size) + (Moneyness) + (Timing) + (T+1)

TOTAL SCORE:
12-16: WHALE ALERT (Follow)
8-11: MODERATE
0-7: NOISE

Whale Fallibility

Institutions are smart, but not invincible. They hedge, they make mistakes, and they have liquidity needs you don't. Always confirm with your own technical analysis.

OptionData API

You can run this strategy programmatically with the OptionData API. Use Historical SQL for backtests and screens, and the Realtime WebSocket for live flow.

Run this strategy: Smart money blocks
See true block size with AGGREGATED mode; filter by premium and expiry for whale flow.
curl -X POST https://api.optiondata.io/api-portal/historical-trades-by-sql \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "api_key=YOUR_KEY" \
--data-urlencode "sql=SELECT * FROM RawOptionTrades WHERE premium >= 1000000 AND expiry_days >= 14 ORDER BY time DESC LIMIT 10"