Back to blog

Validate Breakouts with Option Levels | Call & Put Walls Guide

Use call and put walls to confirm breakouts, bounces, and breakdowns with options flow. Support and resistance from options data.

7 min readOptionData
option-levelssupport-resistancebreakoutsoptions-flow

Validating Breakouts with Option Levels

Overview

Goal: Mitigate "fake-outs" by using option-based support and resistance levels to confirm technical price action.

Difficulty Level: Intermediate-Advanced

Time Horizon: Days to Weeks (Swing Trading)

Best Used: Synergistically with technical analysis to validate trend continuation or reversal.

Key Insight: Option levels (Call/Put Walls) represent structural market positioning. Unlike subjective chart lines, these levels are backed by real capital commitments and dealer hedging requirements.

Run this strategy with the OptionData API: Query OI by strike with our Historical SQL API to map call/put walls; use the OptionData API card at the bottom for a ready-to-use snippet.


Key Terms

| Term | Plain-English meaning | |------|------------------------| | Call Wall | The strike with the most call open interest. Dealers are short those calls, so they sell stock as price rises toward it — acts as resistance. | | Put Wall | The strike with the most put open interest. Dealers are short those puts, so they buy stock as price falls toward it — acts as support. | | Open Interest (OI) | Total number of option contracts that are still open (not yet closed or exercised). High OI at a strike = that level "matters" for dealers. | | Breakout | Price moving and holding above resistance (or below support) with conviction (e.g. volume). | | Fake-out | Price briefly breaks a level then reverses — often on low volume. Option levels help filter these. |

One sentence: Call and put walls are where dealers have the most exposure; they hedge there, so price often reacts at those levels. Use them to confirm breakouts and bounces.


The Core Concept

Option Levels > Chart Levels

Traditional support and resistance are often psychological or historical. Option levels are mechanical.

Mechanism of Action:

  1. Call Wall: The strike with the highest net Call Open Interest.
    • Effect: Resistance. Dealers are short calls → Long stock. As price rises, they sell stock to hedge, creating a natural ceiling.
  2. Put Wall: The strike with the highest net Put Open Interest.
    • Effect: Support. Dealers are short puts → Short stock. As price falls, they buy stock to hedge, creating a natural floor.
graph TD
    A[Price Approaches Call Wall] --> B{Breakout or Reject?};
    B -->|B1. Rejection| C[Dealers Sell Stock to Hedge];
    C --> D[Price Stalls/Reverses];
    B -->|B2. Breach| E[Dealers Forced to BUY (Gamma Squeeze)];
    E --> F[Explosive Breakout];

Implication: Prices tend to pin between these walls. A breach of a wall signals a regime change and potential volatility expansion.

Visual: price between the walls

  Call Wall  ═══════════════════  $180  (resistance — price often stalls here)
       ▲
       │  Trading range
       │
  Price  ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─  $170
       │
       │
  Put Wall  ═══════════════════  $160  (support — price often bounces here)

  Valid breakout: price CLOSES above $180 with volume > 2x average.

Key Indicators to Watch

1. Put Wall (Major Support)

Identification:

  • Strike with highest Put Open Interest.
  • Typically acts as a floor.

Strength Metrics:

  • OI > 10,000 contracts (Liquid Tickers)
  • Put GEX > $5M
  • Confluence with psychological levels (e.g., $100, $150).

2. Call Wall (Major Resistance)

Identification:

  • Strike with highest Call Open Interest.
  • Typically acts as a ceiling.

Strength Metrics:

  • OI > 10,000 contracts
  • Call GEX > $5M

3. Option Flow Confirmation

At Support (Put Wall):

  • Bullish Verification: ASK side Call sweeps appearing as price tests the Put Wall.

At Resistance (Call Wall):

  • Bearish Verification: ASK side Put sweeps appearing as price tests the Call Wall.

4. Volume Confirmation

Breakout Rule: A breach is only valid if accompanied by Relative Volume > 2.0x. Low volume breaches are typically traps.


Step-by-Step Analysis Process

flowchart LR
    A[1. Map Walls] --> B[2. Identify Setup]
    B --> C[3. Execute on Reaction]
    C --> D[4. Monitor Wall Flips]

Step 1: Map the Option Structure

Using OptionData Chain:

  1. Sort by Open Interest.
  2. Identify the Call Wall (Ceiling) and Put Wall (Floor).

Example (AAPL @ $170):

  • Put Wall: $160 (Support)
  • Call Wall: $180 (Resistance)

Levels Analysis

  • Support Zone: $160 - Put Wall

  • Resistance Zone: $180 - Call Wall

  • Trading Range: $160-$180

Step 2: Identify the Setup Type

Four Primary Scenarios:

  1. Setup A (Bounce): Price tests Put Wall + Bullish Flow.
  2. Setup B (Rejection): Price tests Call Wall + Bearish Flow.
  3. Setup C (Breakout): Price CLOSES above Call Wall + Volume.
  4. Setup D (Breakdown): Price CLOSES below Put Wall + Volume.

Step 3: Execute on Reaction

Usage Case: Setup A (Bullish Bounce at Put Wall)

Criteria:

  • [ ] Price within 1-2% of Put Wall
  • [ ] Bullish Call flow detected (ASK side)
  • [ ] Reversal candle pattern

Trade Example (AAPL)

  • Stock Price: $161 - approaching $160

  • Flow: $165 Calls - 5k @ ASK

  • Target: $175 - Call Wall

  • Risk/Reward: 1:5

Step 4: Monitor for Wall Flips

The "Flip" Concept:

  • If Price > Call Wall → Old Resistance becomes New Support.
  • If Price < Put Wall → Old Support becomes New Resistance.

This polarity change allows for re-entry on pullbacks.


Real-World Examples

Example 1: TSLA Bounce at Put Wall (March 2024)

The Setup:

  • TSLA Price: $165 (falling)
  • Put Wall: $160 (28k OI, Major Support)

Timeline (March 12):

  • TSLA: $161.50

  • Flow: $165 Calls - 8k @ ASK

  • Interpretation: Bounce - Front-running

Outcome: TSLA bottomed at $160.50 and rallied to $175. Profit: +133%.


Example 2: NVDA Rejection at Call Wall (June 2024)

The Setup:

  • NVDA Price: $132
  • Call Wall: $135 ($9.4M GEX)

Timeline (June 18):

  • NVDA: $134.80 - Testing Wall

  • Flow: $130 Puts - 5k @ ASK

  • Sentiment: Bearish - Rejection bet

Outcome: Failed to breach $135. Fell to $124. Profit: +224%.


Example 3: SPY Breakout Above Call Wall (May 2024)

The Setup:

  • SPY Price: $525
  • Call Wall: $530

Timeline (May 15):

  • SPY: $531.20 - Broke $530

  • Volume: 3.2x - High Conviction

  • Flow: $535 Calls - Chasing

Outcome: SPY ran to $539 in 2 days. Profit: +137%.


Common Pitfalls

Pitfall 1: Trading Intraday Spikes

Mistake: Buying the breakout the moment price touches the wall. Reality: Intraday spikes often reject. Solution: Wait for a Closing Candle on the hourly or daily timeframe above the wall.

Pitfall 2: Ignoring Volume

Mistake: Trusting a low-volume breakout. Reality: Low volume = Low conviction = Trap. Solution: Demand Volume > 2x average.

Pitfall 3: Expiring Walls

Mistake: Trading levels on expiration day (0 DTE). Reality: Gamma vanishes at expiration. Levels become unstable. Solution: Levels are most reliable with > 3 Days to Expiration.

Pitfall 4: Stale Data

Mistake: Using last week's levels. Solution: Refresh levels daily. Positions change dynamically.


Advanced Tactics

Tactic 1: The "Level Sandwich" (Iron Condor)

  • Condition: Stock sandwiched between strong Put Wall ($160) and Call Wall ($180).
  • Execution: Sell Volatility. Profit from range-bound chop.

Tactic 2: The "Wall Flip" Re-test

  • Condition: Price breaks $530 Call Wall.
  • Execution: Wait for pullback to $530 (now support). Buy Calls.

Tactic 3: Influence of Confluence

  • Condition: Put Wall ($160) aligns with 200-Day Moving Average ($162).
  • Verdict: HIGH PROBABILITY Support Zone.

Quick Reference Checklist

Before Trading Option Levels:

Checklist

  • Support: Put Wall - Highest Put OI

  • Resistance: Call Wall - Highest Call OI

  • Trigger: Closing Price - Wait for Close

For Bounces (Support):

  • [ ] Price within 1-2% of Put Wall
  • [ ] Bullish Call flow detected (ASK side)
  • [ ] Reversal candle pattern
  • [ ] Stop-loss set below Put Wall

For Breakouts:

  • [ ] Closing price above Call Wall
  • [ ] Volume > 2x average
  • [ ] Continued Call buying post-breakout

Technical Implementation

Mapping Option Levels with SQL

You can run this strategy with the OptionData API: query OI by strike via Historical SQL to build your level map. The OptionData API card at the bottom has a snippet. POST https://api.optiondata.io/api-portal/historical-trades-by-sql with api_key and sql (form-urlencoded); use argMax(oi, time) for end-of-stream OI per strike.

Objective: Find the Call Wall and Put Wall for SPY.

/* RawOptionTrades: date, time, symbol, put_call, strike, expiration_date, size, price, gamma, oi */
SELECT 
  strike,
  put_call,
  argMax(oi, time) AS total_oi,
  SUM(gamma * size * 100) AS net_gex
FROM RawOptionTrades
WHERE 
  symbol = 'SPY' 
  AND date = (SELECT max(date) FROM RawOptionTrades)
GROUP BY strike, put_call
ORDER BY total_oi DESC
LIMIT 5

Result: The strike with the highest Call OI is your Call Wall. The highest Put OI is your Put Wall.


Related Recipes


Further Reading

  • Basic Concepts: Gamma Exposure (GEX)
  • Basic Concepts: Open Interest
  • Basic Concepts: Dealer Hedging

🧮 Level Strength Calculator

Assess the reliability of a wall:

Wall Strength Score = (OI) + (GEX) + (Strike) + (Confluence)

OI:
- OI > 50k: +4 (Mega Cap)
- OI > 20k: +3
- OI > 10k: +2

GEX:
- GEX > $20M: +4
- GEX > $10M: +3
- GEX > $5M: +2

Strike:
- Round Number ($100, $200): +2
- Half-Round ($125, $175): +1

Confluence:
- Aligns with Technical Level: +2

TOTAL:
10-12: FORTRESS LEVEL (Fade hard)
7-9: STRONG
0-6: PERMEABLE

Dynamic Nature

Option levels are living structures. They evolve daily. Always re-map your levels before the market opens.

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: Call & put walls
Map support/resistance from open interest; use Historical SQL for OI by strike.
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 symbol, strike, put_call, argMax(oi, time) as oi FROM RawOptionTrades WHERE date = (SELECT max(date) FROM RawOptionTrades) GROUP BY symbol, strike, put_call ORDER BY oi DESC LIMIT 30"