Overview
Goal: Separate intraday noise from real swing positions using next-day open interest (OI).
Difficulty Level: Beginner-Intermediate
Time Horizon: 1-30 days (Swing Trading)
Best used: After a large option trade, to check whether institutions opened or closed.
Insight: OI updates overnight. If OI rose by roughly the trade size, the position was opened (conviction). If OI was flat, it was likely day-traded (noise for swings).
Run this strategy with the OptionData API: Query OI by date with our Historical SQL API to verify whether large trades were opened or closed; see the OptionData API card at the bottom for a T+1 OI snippet.
Key Terms
| Term | Plain-English meaning |
|---|---|
| Open Interest (OI) | The total number of option contracts that are still open (not closed or exercised). Updates once per day (typically before the open). |
| T+1 | "Trade date plus one", the next trading day. OI from today's trading is reflected in tomorrow's OI. |
| Opening | A new position: buyer and seller create a new contract. OI increases. |
| Closing | An existing position is closed (e.g. buyer sells to close). OI decreases. |
| Day trade | Opened and closed the same day. OI at that strike is unchanged the next day. |
Why T+1 matters: When you see a huge trade on Monday, you don't know if it's a new bet (opening) or someone closing. On Tuesday morning, if OI went up by roughly that size, it was an opening (conviction). If OI didn't change, it was a day trade (noise for swing traders).
The Core Concept
The Problem: Intraday Ambiguity
When a large option trade executes during market hours (e.g., 10k AAPL Calls), the tape does not reveal the trader's intent. Was it:
- New Opening? → Bullish Signal (requires holding overnight)
- Closing? → Bearish/Neutral (exiting an old position)
- Day Trade? → Noise (bought and sold same day)
The Solution: T+1 Open Interest Logic.
OI validates the net change in contracts. Since OI only updates overnight, we must wait until "T+1" (Trade Date + 1 Day) to reveal the truth.
Next-day OI change resolves a large trade into opening, day trade, or closing.
The Mechanism
- Open Interest (OI): Total count of active, outstanding contracts.
- Update frequency: Once per day (pre-market).
- Logic:
- If OI change ≈ trade size → The position was carried overnight (opening).
- If OI change ≈ 0 → The position was closed intraday (day trade).
- If OI decreases → Someone closed an existing position (closing).
Timeline (ASCII):
Day 0 trade prints; the Day +1 OI report (50k to 60k) confirms an opening.
Three OI Change Scenarios
Scenario A: OI Increased (OPENING Position)
- Old OI: 50,000
- Trade Volume: +10,000 contracts
- New OI: 60,000 (+10,000)
Verdict: CONFIRMED OPENING. The buyer committed capital overnight. This indicates conviction in a multi-day move. ACTION: TRACK.
Scenario B: OI Unchanged (DAY TRADE)
- Old OI: 50,000
- Trade Volume: +10,000 contracts
- New OI: 50,000 (No change)
Verdict: DAY TRADE. The trader bought and sold within the same session. This is "noise" for swing traders. ACTION: IGNORE.
Scenario C: OI Decreased (CLOSING Position)
- Old OI: 50,000
- Trade Volume: 10,000 contracts
- New OI: 40,000 (-10,000)
Verdict: POSITION CLOSING. A large existing position was liquidated. This is often a cautionary or reversal signal. ACTION: OPPOSITE SIGNAL.
Step-by-Step Verification Protocol
Step-by-step T+1 verification: detect, record, then check next-day OI.
Step 1: Detect a Significant Trade (Day 0)
Identify flow that suggests institutional urgency:
- Premium > $100k-$1M
- Volume > 50% of current OI
- ASK Side Execution
Example Trade (Day 0)
-
AAPL: $180 Calls
-
Contracts: 15,000
-
Side: ASK - Urgent
-
Current OI: 22,000
Record Trade Parameters
Log the exact ticker, strike, expiration, volume, and current OI.
Verify OI Next Morning (Day 1)
Timing: 9:00 AM - 9:30 AM (Pre-market). Source: Brokerage feed or OptionData platform.
Interpret the Deviation
Formula: Net Change = New OI - Old OI
Decision Logic
-
Increase: Open - Follow
-
Unchanged: Noise - Ignore
-
Decrease: Close - Fade
Execution Criteria
For Bullish Confirmed Openings:
- Strategy: Shadow the trade (buy same strike or spread).
- Stop Loss: If OI begins to decrease (indicating the whale is exiting).
Real-World Case Studies
Example 1: TSLA Confirmed Opening (illustrative example)
Day 0: 12,000 contracts of $200 Calls bought (ASK). OI was 18,000. Day 1 Check:
-
Old OI: 18,000
-
New OI: 30,000 - +12,000
-
Match: 100% - Perfect
-
Verdict: OPEN
Outcome: TSLA rallied to $205 over the next 3 days. Returns: illustrative: +194%.
Example 2: NVDA False Alarm (Day Trade)
Day 0: 8,000 contracts of $900 Calls (MID side). Day 1 Check:
-
Old OI: 25,000
-
New OI: 25,000 - No Change
-
Verdict: Day Trade - Ignore
Outcome: NVDA consolidated. Calls expired worthless. The T+1 check saved capital.
Example 3: Repeat Whale Pattern (Accumulation)
Week 1: Whale buys 8k MSFT Calls (OI +8k). Week 2: Whale buys another 5k MSFT Calls (OI +5k).
Analysis
-
Pattern: Adding
-
Signal: Strong Buy - Double Conviction
Outcome: MSFT breakout followed. Returns: illustrative: +371%.
Common Pitfalls
Pitfall 1: Premature Execution
Error: Trading immediately on Day 0 aka "chasing the tape". Correction: Always wait for OI confirmation unless scalping intraday.
Pitfall 2: Ignoring Expiration Curves
Error: Tracking weekly options (7 DTE) for swing trades. Correction: Focus on Swing (30-90 DTE) or LEAPS (>90 DTE) where OI is more stable and indicative of positioning.
Pitfall 3: Blind Copying
Error: "OI up, buy calls." Correction: Verify technical confluence. OI confirms interest, not timing.
🧮 T+1 Signal Strength Scoring
Assess the quality of a confirmed opening using this weighted model:
T+1 Signal Score = (Size) + (OI Match) + (Urgency) + (Expiry)
Size:
- Premium > $5M: +4
- Premium $1M-$5M: +3
OI Match:
- 100% Match (OI Change = Trade Size): +4
- 75% Match: +3
Urgency (Day 0):
- ASK side: +3
- MID side: +2
Expiry:
- LEAPS (> 180 DTE): +4
- Swing (60-180 DTE): +3
- Weekly (< 30 DTE): +1
TOTAL SCORE:
13-17: STRONG SIGNAL (High Conviction)
9-12: MODERATE (Standard Size)
0-8: WEAK (Ignore)
Data Lag Constraints
Open Interest data is delayed until the next trading day. This lag is a feature, not a bug, it filters out high-frequency noise and confirms overnight risk acceptance.
The Golden Setup
Look for 100% OI match + ASK side + LEAPS expiry. This combination represents the highest tier of institutional conviction.
T+1 Tracking Template
Spreadsheet Format:
| Date | Ticker | Strike | Expiry | Contracts | Side | Old OI | New OI | Change | Verdict | Action |
|---|---|---|---|---|---|---|---|---|---|---|
| 3/10 | AAPL | $180 C | 4/19 | 15,000 | ASK | 22k | 37k | +15k | OPEN | BUY |
| 3/12 | TSLA | $200 C | 4/15 | 8,000 | MID | 12k | 12k | 0 | Day Trade | IGNORE |
| 3/15 | NVDA | $900 P | 5/1 | 5,000 | BID | 18k | 13k | -5k | CLOSE | FADE |
Technical Implementation
Verifying T+1 Open Interest
You can run this strategy with the OptionData API: query OI per date with argMax(oi, time) via Historical SQL—POST https://www.optiondata.io/api/historical/sql with Authorization: Bearer YOUR_API_KEY (or body api_key) and sql. Use argMax(oi, time) so you get one OI value per day (latest trade’s OI). Paid plans can query the past 15 days of trades, so compare recent sessions.
Objective: Check how the OI of a TSLA $200 Call (nearest listed expiration) changed across the last week of sessions.
SELECT
date,
argMax(oi, time) AS oi
FROM RawOptionTrades
WHERE
symbol = 'TSLA'
AND strike = 200
AND put_call = 'CALL'
AND expiration_date = (
SELECT min(expiration_date)
FROM RawOptionTrades
WHERE symbol = 'TSLA' AND strike = 200 AND put_call = 'CALL'
AND date >= today() - 7 AND expiration_date >= today()
)
AND date >= today() - 7
GROUP BY date
ORDER BY date ASC
Result: Compare OI on the two dates. If the increase matches the trade size, the position is CONFIRMED OPEN.
One call instead of two queries: the Option Chain API returns
open_interestandopen_interest_changeper contract for any date in a single POST.
Run it with the OptionData API. Checking access… (no credit card). One API key covers the Realtime WebSocket, Historical SQL, Option Chain REST, and Market Structure APIs.
Related Recipes
- Recipe 3: Smart Money Block Trades - For identifying whale trades to track
- Recipe 1: Institutional Options Buying - For Day 0 detection methods
Run this with the OptionData API — one Pro key covers Realtime WebSocket, Historical SQL, Option Chain, and Market Structure.
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "sql=SELECT date, symbol, strike, expiration_date, put_call, argMax(oi, time) as oi FROM RawOptionTrades WHERE date >= today() - 5 AND symbol = 'AAPL' GROUP BY date, symbol, strike, expiration_date, put_call ORDER BY date DESC, oi DESC LIMIT 50"