Use cases at a glance
Morning VIX & regime check
Is volatility elevated or depressed overnight? Use this to set your risk management for the day.
High-OI strike map for SPY/QQQ
Where is the market pinned? What's the max pain strike for today's expiration?
Overnight sweep activity
Did anyone load up on calls or puts after-hours on your watchlist tickers?
Economic events for the day
Is CPI, Fed news, NFP, or earnings on the calendar? Check impact level.
Open position Greeks review
For swing traders holding overnight positions: delta, theta, and time decay context.
Tradier API setup
Tradier is the backbone of the pre-market scanner. It provides a free developer API with full options chain and Greeks data. Here's how to set it up:
- Go to
developer.tradier.comand create a free account. - In your account settings, generate an API token. You'll get a sandbox token (for testing) and a production token (for real market data). Start with sandbox.
- Store your token securely in a
secrets.envfile:TRADIER_API_TOKEN=your_token_here - Never commit this file to version control or share the token.
VIX morning check
VIX (CBOE Volatility Index) measures the market's expectation of 30-day S&P 500 volatility implied from options prices. It's the single best macro regime indicator for an options trader's morning.
- VIX < 12: Complacency. Spreads are tight, premium selling is unrewarding, buyers take risk.
- VIX 12–20: Normal range. Fair premium value for both buyers and sellers.
- VIX 20–30: Elevated. Fear is priced in, volatility is real, spreads are wide. Good conditions for premium selling if timing is right.
- VIX > 30: Panic. This is rare and usually means a major catalyst. Use extreme caution.
The pre-market agent checks the VIX against its 20-day moving average. This tells you if overnight volatility shifted the regime. The CBOE public API is free:
GET https://cdn.cboe.com/api/global/delayed_quotes/charts/historical/_VIX.json
A sample response includes the current VIX level, yesterday's close, and historical data for computing the 20-day MA. The agent flags if VIX is currently elevated (>20) or if it spiked overnight (>2 points from previous close).
OI concentration scan — where is the market pinned?
Open interest (OI) concentration reveals institutional positioning and max pain theory. The agent pulls the full options chain for SPY, QQQ, and any tickers on your watchlist, then maps OI by strike for the nearest two expirations.
Max pain theory: The strike with the highest OI tends to be where the underlying price gravitates at expiration because market makers hedge delta exposure at that level. It's a rough guide but useful for context.
Here's a snippet of the config YAML for the pre-market agent:
agents:
premarket-scanner:
description: "Morning pre-market options brief"
tools:
- tradier-api
- cboe-public
- http-fetch
config:
tradier_token: "${TRADIER_API_TOKEN}"
tradier_mode: "delayed"
watchlist:
- SPY
- QQQ
- AAPL
- TSLA
- NVDA
vix_elevated_threshold: 20
vix_extreme_threshold: 30
oi_scan_expirations: 2
oi_concentration_strikes: 5
economic_calendar: true
output:
format: markdown
channel: slack
time: "08:45"
timezone: "America/New_York"
The oi_concentration_strikes: 5 means the agent maps OI for the 5 strikes above and 5 strikes below current price. For SPY at $445, you'd see OI at $435, $440, $445, $450, $455, etc.
Overnight unusual activity check
Did anyone load up on calls or puts after-hours? The agent checks for tickers in your watchlist where overnight options volume (since last close) exceeded a baseline average by 3x or more.
Economic calendar pull
The agent fetches today's economic calendar from a public data source (e.g., Investing.com calendar or BLS release schedule). It flags events with HIGH impact level: Federal Reserve decisions, Non-Farm Payroll (NFP), CPI, GDP, earnings surprises.
Each event is noted with release time (often 8:30 AM ET for labor data) and expected move impact. If NFP is today, the agent flags: "NFP today at 8:30 AM — expect 50–100 bps VIX reaction within 5 minutes of release."
Assembling the morning brief
The agent combines all the above into a single formatted markdown brief sent to your Slack channel or email. Here's the structure:
- VIX & Regime: Current VIX, change from yesterday, 20-day MA, and one-sentence regime summary.
- OI Concentration: Max pain strikes for SPY, QQQ, and any other top watchlist tickers for the nearest two expirations.
- Overnight Activity: Any tickers with >3x average overnight volume, broken down by call/put, contract type, and estimated premium moved.
- Economic Events: Today's major events by impact level (HIGH, MEDIUM, LOW) with times and expected market reaction.
- Position Greeks (swing traders only): Current delta, theta, and vega for any open positions you've listed in the config.
HEARTBEAT schedule
The pre-market scanner runs every trading day at 8:45 AM ET (13:45 UTC). Cron expression:
45 8 * * 1-5
This gives you 45 minutes before the 9:30 AM open to review the brief and plan your day. If you trade the first 30 minutes aggressively, consider a second lighter scan at 9:15 AM to catch last-minute changes:
15 9 * * 1-5
Sample morning brief output
Here's what your 8:45 AM brief looks like on a typical Monday:
FAQ
What time should I run the pre-market scanner?
Run it at 8:30–9:00 AM ET — after futures have settled from overnight but with enough time to review before the 9:30 open. The default is 8:45 AM ET. If you trade the first 30 minutes aggressively, add a second lighter scan at 9:15 to catch last-minute changes.
Does Tradier's free tier work for pre-market data?
Tradier's free developer API provides 15-minute delayed quotes during market hours and delayed options chain data. For pre-market scanning purposes — checking overnight OI buildup and planning the day — delayed data is usually acceptable since you're looking at positioning, not live prices. For real-time pre-market quotes you'll need either a Tradier brokerage account or Polygon.io.
What is VIX and why does it matter for pre-market prep?
VIX measures the market's expectation of 30-day S&P 500 volatility implied from options prices. A VIX above 20 indicates elevated fear and wider options spreads — strategies like buying premium become more expensive. VIX below 15 suggests complacency — premium selling strategies tend to be less rewarding. The pre-market scanner checks VIX vs its 20-day average to flag unusual regime changes overnight.
How do I interpret max pain?
Max pain is the strike with the highest open interest for a given expiration. Theory suggests the market price gravitates toward max pain because market makers hedge delta exposure there. Use it as context, not gospel. Combine max pain with other signals: institutional flow, earnings dates, technical support/resistance.
Should I trade based on overnight volume spikes?
Overnight volume is a signal, not a setup. Combine it with price action, your own technical analysis, and market regime (VIX, earnings calendar). A 3x overnight volume spike on NVDA calls is interesting; NVDA 3x overnight calls + VIX elevated + NVDA breaking out on pre-market volume is a setup worth trading.