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
- Recipe 1: Institutional Options Buying - For swept blocks (ASK side)
- Recipe 6: T+1 Swing Confirmation - The detailed T+1 methodology
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.
You can run this strategy programmatically with the OptionData API. Use Historical SQL for backtests and screens, and the Realtime WebSocket for live flow.
-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"