Back to Research
Volatility Analysis 12 min read

How To Analyze Volatility Every Morning

Learn the complete 10-minute morning volatility routine for ThinkOrSwim day traders. Covers the 5-step process including VIX term structure analysis, overnight futures review, Volatility Box levels, squeeze alignment across timeframes, and ATR-based position sizing with a full ThinkScript dashboard code.

Published December 11, 2023 Updated February 25, 2026
How To Analyze Volatility Every Morning

Why a Morning Volatility Routine Matters

Professional day traders do not open ThinkOrSwim and immediately start clicking buy or sell. They run a structured volatility analysis first. A consistent morning routine reduces impulsive trades by up to 40% and helps you identify whether the market environment favors trend-following or mean-reversion strategies before risking a single dollar.

Volatility is the single variable that changes everything about your trading plan. It dictates your position size, your stop-loss distance, your profit targets, and even which setups you should prioritize. A 12-point ATR day on the S&P 500 requires a completely different approach than a 45-point ATR day.

10 minTime Required Each Morning
5Key Metrics to Check
40%Reduction in Impulsive Trades
3xWider Stops on High-Vol Days
Key Takeaway: A 10-minute morning volatility routine is the highest-ROI habit a day trader can build. It transforms reactive trading into proactive, data-driven decision making that keeps your risk consistent across all market environments.

Without this routine, you are essentially trading blind. You might size a position for a calm, range-bound day and then get destroyed when the VIX spikes 20% by noon. Or you might sit on the sidelines during a low-volatility day waiting for a breakout that never comes. The morning routine eliminates these costly mismatches between your strategy and the actual market environment.

The 10-Minute Morning Volatility Process

Every morning before the 9:30 AM ET open, professional traders run through a five-step volatility checklist. This process takes exactly 10 minutes and gives you a complete picture of the day's expected volatility regime. Each step builds on the previous one to create a comprehensive trading framework that adapts to any market condition.

VIX LevelStep 1: Macro Volatility
Overnight RangeStep 2: Futures Action
VB LevelsStep 3: Key Price Zones
Squeeze StatusStep 4: Compression Check
Position SizeStep 5: Risk Adjustment

The order matters. You start with the macro picture (VIX), zoom into futures price action, layer on your Volatility Box framework, check for squeeze conditions, and finally calibrate your position sizing. This top-down approach ensures you never miss a critical data point that could define your entire session.

Pro Tip: Set up a dedicated ThinkOrSwim workspace tab called "Morning Routine" with all five data points visible on a single screen. This eliminates tab-switching and keeps your process under 10 minutes consistently. Save it as a shared workspace so it loads automatically each morning.

Step 1: Check the VIX and VIX Term Structure

The CBOE Volatility Index (VIX) is your first and most important data point each morning. A VIX below 15 signals a low-volatility regime where mean-reversion strategies thrive. A VIX between 15 and 25 indicates normal volatility suitable for most strategies. A VIX above 25 demands caution, reduced size, and wider stops.

Beyond the raw VIX number, check the term structure by comparing the VIX to VIX3M (3-month volatility). When VIX is below VIX3M, the term structure is in contango. This is the normal state where short-term fear is lower than long-term uncertainty. Markets tend to grind higher or chop sideways during contango environments.

Term StructureConditionDay Trading ImplicationTypical VIX Range
ContangoVIX < VIX3MFavor mean-reversion, sell premium, tighter stops12-18
FlatVIX ≈ VIX3MTransitional. Watch for directional breakout18-22
BackwardationVIX > VIX3MFavor trend-following, buy premium, wider stops22-40+

When the term structure flips to backwardation (meaning VIX is above VIX3M) the market is pricing in more near-term fear than long-term uncertainty. This is a warning signal. Backwardation occurs roughly 15% of trading days and is associated with sharp directional moves, gap fills, and elevated intraday ranges that can catch unprepared traders off guard.

Warning: Never ignore a backwardated VIX term structure. Historically, the S&P 500 averages a 1.8% daily range during backwardation versus 0.7% in contango. Your stops and targets must reflect this 2.5x increase in expected movement or you will be repeatedly stopped out.

Step 2: Review Overnight Futures Action

Before the cash market opens, ES (S&P 500 futures) and NQ (Nasdaq 100 futures) have been trading for hours in the overnight session. Pull up the overnight range on your ThinkOrSwim chart and note three critical data points: the overnight high, the overnight low, and the current price relative to the prior day's close.

Gap analysis is essential for framing the open. A gap up or down of more than 0.5% on ES signals that overnight participants have established a directional bias. Gaps between 0.5% and 1.0% fill approximately 70% of the time by the end of the regular session. Gaps larger than 1.0% fill only about 50% of the time and often indicate a trend day.

Overnight Range Context: The average overnight range on ES is approximately 25-30 points in a normal VIX environment (14-18). When the overnight range exceeds 40 points, expect an elevated-volatility session with wider-than-normal intraday swings. Adjust your stop distances and profit targets accordingly.

Pay special attention to where price is within the overnight range at 9:15 AM ET. If ES is trading near the overnight high heading into the open, buyers have been in control and you should watch for continuation above that level. If price is mid-range, expect a more balanced open with potential for rotation in either direction.

Also check the volume profile of the overnight session in ThinkOrSwim. Thin overnight volume (below 500K contracts on ES) means the overnight levels are less reliable as support and resistance. Heavy overnight volume (above 1M contracts) gives those levels much more significance during the regular session.

Step 3: Analyze the Volatility Box Levels

The Volatility Box generates statistically-derived support and resistance levels using two models: the hourly model and the daily model. Each morning, these levels define the playing field for your trades. The hourly model captures short-term volatility cycles, while the daily model frames the broader expected range for the session.

Start by identifying where the current pre-market price sits relative to both sets of levels. If price is between the daily upper and lower Volatility Box levels, you are in the expected range. This favors mean-reversion trades at the extremes. If price has already breached a daily level in pre-market, expect a potential trend day with momentum continuation.

Key Takeaway: The Volatility Box levels act as a probability framework. Price stays within the daily model levels approximately 70-75% of the time. Trading against the levels with mean-reversion has a statistical edge in normal volatility, while breakouts beyond the levels signal rare but powerful trend days.

Layer the hourly levels on top of the daily levels to create a zone map for the session. When hourly and daily levels converge within a tight range (less than 5 points on ES), that zone becomes a high-probability reaction area. These confluences are where the best risk-to-reward entries occur during the regular session.

Step 4: Check the Squeeze Status Across Timeframes

The TTM Squeeze (Bollinger Band and Keltner Channel compression) is one of the most powerful volatility indicators for day traders. Each morning, check the squeeze status on three timeframes: daily, weekly, and monthly. When all three timeframes show an active squeeze, a major move is building and the eventual breakout will be explosive.

A daily squeeze alone fires every few weeks and produces moves of 1-3% on the S&P 500. A daily plus weekly squeeze alignment occurs a few times per quarter and produces 3-7% directional moves. The rare triple squeeze (daily + weekly + monthly) happens only 2-3 times per year and can produce moves exceeding 10%.

Squeeze AlignmentFrequencyExpected Move (SPY)Day Trading Impact
Daily OnlyEvery 2-3 weeks1-3%Normal breakout plays, standard sizing
Daily + Weekly3-4x per quarter3-7%Increase directional bias, add to winners
Daily + Weekly + Monthly2-3x per year7-12%+Maximum conviction, trend-follow aggressively
No SqueezeMost daysChoppy 0.3-0.8%Mean-reversion, reduce size, tight targets

When no squeeze is active on any timeframe, the market is in an expanded volatility state and likely to chop. These are the days where over-trading destroys accounts. Reduce your size by 30-50% and focus only on A-plus setups at key Volatility Box levels rather than forcing trades in directionless chop.

Warning: A squeeze firing does not tell you direction. Only that a volatility expansion is beginning. Always combine squeeze signals with price action context, the VIX regime, and Volatility Box levels to determine the probable breakout direction before committing capital.

Step 5: Set Position Sizing Based on Volatility

Position sizing is where your morning routine translates directly into risk management. The core principle is simple: when volatility is high, reduce your share or contract count. When volatility is low, you can increase size. This inverse relationship keeps your dollar risk per trade consistent regardless of market conditions.

Use the Average True Range (ATR) on the daily chart as your sizing denominator. Calculate your maximum dollar risk per trade (typically 1-2% of account equity), then divide by the current ATR to determine your position size. For example, if you risk 00 per trade and the 14-day ATR on SPY is .00, your maximum position is 100 shares.

1-2%Max Risk Per Trade
14-Day ATRSizing Denominator
50%Size Reduction on VIX > 25
1.5x ATRTypical Stop Distance

On high-volatility days (VIX above 25 or ATR at 1.5x its 20-day average), cut your standard position size by 50%. On low-volatility days (VIX below 14 or ATR at 0.7x its 20-day average), you can increase size by 25-30%. This dynamic sizing approach keeps your equity curve smooth and prevents catastrophic drawdowns during volatility spikes.

Key Takeaway: Your position size should be inversely proportional to current volatility. The formula is: Position Size = Dollar Risk / (ATR x Stop Multiplier). Run this calculation every single morning before placing your first trade to ensure consistent risk management.

ThinkScript: Morning Volatility Dashboard

Below is a ThinkScript study that creates a multi-label dashboard on your ThinkOrSwim chart. It displays the current VIX level, VIX term structure, the 14-day ATR, squeeze status, and relative volume. All five critical morning metrics visible in one glance. Add this to your daily SPY or ES chart as labels.

Morning Volatility DashboardThinkScript
# Morning Volatility Dashboard
# Displays VIX, ATR, Squeeze Status, and Relative Volume
# Add to SPY or ES daily chart as labels

# --- VIX Level ---
def vixClose = close("VIX");
AddLabel(yes, "VIX: " + Round(vixClose, 2),
    if vixClose < 15 then Color.GREEN
    else if vixClose < 25 then Color.YELLOW
    else Color.RED);

# --- VIX Term Structure ---
def vix3m = close("VIX3M");
def termStructure = vixClose - vix3m;
AddLabel(yes, "Term: " +
    (if termStructure > 0 then "BACKWARDATION" else "CONTANGO") +
    " (" + Round(termStructure, 2) + ")",
    if termStructure > 0 then Color.RED else Color.GREEN);

# --- 14-Day ATR ---
def atrValue = Round(ATR(14), 2);
def atr20Avg = Average(ATR(14), 20);
def atrRatio = atrValue / atr20Avg;
AddLabel(yes, "ATR(14): " + atrValue +
    " (" + AsPercent(atrRatio - 1) + " vs avg)",
    if atrRatio > 1.3 then Color.RED
    else if atrRatio < 0.8 then Color.CYAN
    else Color.YELLOW);

# --- Squeeze Status ---
def bbUpper = BollingerBands().UpperBand;
def bbLower = BollingerBands().LowerBand;
def kcUpper = KeltnerChannels().Upper_Band;
def kcLower = KeltnerChannels().Lower_Band;
def sqzOn = bbUpper < kcUpper and bbLower > kcLower;
def sqzCount = if sqzOn then sqzCount[1] + 1 else 0;
AddLabel(yes, "Squeeze: " +
    (if sqzOn then "ON (" + sqzCount + " bars)"
    else "OFF"),
    if sqzOn then Color.RED else Color.GREEN);

# --- Relative Volume ---
def avgVol = Average(volume, 20);
def relVol = if avgVol > 0 then Round((volume / avgVol) * 100, 0) else 0;
AddLabel(yes, "RelVol: " + relVol + "%",
    if relVol > 150 then Color.GREEN
    else if relVol < 70 then Color.GRAY
    else Color.YELLOW);

# --- Suggested Position Size Adjustment ---
AddLabel(yes, "Size Adj: " +
    (if vixClose > 25 then "50% REDUCED"
    else if vixClose > 20 then "75% NORMAL"
    else if vixClose < 14 then "125% INCREASED"
    else "100% STANDARD"),
    if vixClose > 25 then Color.RED
    else if vixClose < 14 then Color.CYAN
    else Color.WHITE);
Setup Instructions: In ThinkOrSwim, go to Charts, then Studies, then Edit Studies, then Create. Paste the code above and click OK. The labels will appear at the top of your chart with automatic color coding: green means favorable conditions, yellow means normal, and red means elevated caution requiring position size adjustment.

High Volatility vs Low Volatility Day Trading

Your entire trading approach must shift based on the volatility regime you identified in your morning routine. High-volatility and low-volatility days are different environments requiring different strategies, different sizing, and different psychological approaches. Trading the same way in both regimes is a guaranteed path to inconsistency.

FactorLow Volatility (VIX < 15)High Volatility (VIX > 25)
Position SizeStandard to 1.25x0.5x to 0.75x standard
Stop DistanceTight (0.5-1x ATR)Wide (1.5-2.5x ATR)
Profit TargetsModest (1-1.5x risk)Extended (2-4x risk)
Primary StrategyMean-reversion, fadesTrend-following, breakouts
Trade Frequency4-8 trades per day1-3 high-conviction trades
Time in Trade5-20 minutes30-90 minutes
Best SetupsRange fades at VB levelsBreakout and retest entries
Gap StrategyFade gaps toward fillTrade in gap direction
Overnight HoldsAcceptable with stopsAvoid unless hedged
Options StrategySell premium (iron condors)Buy premium (straddles, debit spreads)

The most dangerous mistake is applying low-volatility habits to a high-volatility day. Tight stops that work perfectly when SPY moves per day will get you stopped out repeatedly when SPY is moving per day. Conversely, wide stops on a low-volatility day mean you are risking far too much relative to your potential reward.

Key Takeaway: Let the morning volatility data dictate your playbook. Low-vol days favor patient, mean-reversion strategies with more trades and tighter ranges. High-vol days demand fewer trades, wider stops, larger targets, and a trend-following bias. Never trade the same way regardless of regime.

Reading the Volatility Box Morning Email

Volatility Box subscribers receive a morning email before the market open containing the calculated levels for both the hourly and daily models. This email is a critical component of your morning routine because it delivers the statistical framework directly to your inbox. No manual calculations or chart drawing required.

When you open the email, focus on three elements first. The daily upper and lower levels define your maximum expected range for approximately 70-75% of trading days. The hourly levels provide intraday rotation targets for shorter-term trades. And the model directional bias tells you whether the statistical edge favors long or short trades at the open.

How to Interpret the Levels: Think of the daily Volatility Box levels as the walls of a room. On most days, price will bounce between these walls. When price approaches a wall, look for reversal setups. When price breaks through a wall with conviction and volume, switch to trend-following mode because a rare expansion day is likely underway.

Cross-reference the Volatility Box levels with the VIX and squeeze data from your earlier steps. If the VIX is elevated and a squeeze is firing, the daily Volatility Box levels are more likely to be tested or breached. If the VIX is low and no squeeze is active, price will likely stay well within the levels, making the hourly model rotations your primary trading framework for the day.

Common Morning Routine Mistakes

Even traders who build a morning routine often sabotage it with avoidable errors. The most common mistake is rushing through the process. If you are spending less than 5 minutes, you are skipping critical data points. If you are spending more than 20 minutes, you are over-analyzing and creating paralysis. The sweet spot is 8-12 minutes of focused analysis.

The second critical mistake is ignoring the VIX term structure and only checking the VIX level. A VIX at 18 in contango is a completely different environment than a VIX at 18 that just dropped from 28 and is in backwardation. The term structure provides context that the raw number alone cannot deliver. Always check VIX relative to VIX3M.

Warning: Do not let your morning analysis create a rigid directional bias that you refuse to abandon. The morning routine sets your initial framework, but you must remain flexible. If price action during the session contradicts your morning thesis, adapt immediately. The market does not care about your pre-market analysis.

Other frequent mistakes include: not adjusting position size for the current volatility regime, ignoring overnight session data and only referencing the prior regular session close, skipping the squeeze check because no squeeze has been active recently, and failing to document your morning analysis in a trading journal for later review and improvement.

Finally, do not check Twitter, Discord, or financial news before completing your own independent analysis. Other opinions will anchor your bias before you have objectively assessed the data. Complete your 5-step process first, form your own thesis, and only then review external commentary to see if you missed anything material.

Tools for Your Morning Volatility Analysis

Building an effective morning routine requires the right tools working together. The combination of ThinkOrSwim native features with specialized volatility tools creates a complete analytical framework. Below are the core tools referenced throughout this guide that form the foundation of a professional-grade morning volatility process.

ThinkOrSwim provides the charting platform, VIX data, ATR calculations, and squeeze indicators natively. The Volatility Box adds statistically-modeled support and resistance levels recalculated each session. Together, these tools deliver every data point in your 5-step morning checklist without needing any additional software or paid data feeds beyond your TOS platform and Volatility Box subscription.

Key Takeaway: Your morning volatility routine does not require expensive Bloomberg terminals or complex spreadsheets. ThinkOrSwim plus the Volatility Box provides everything you need. The ThinkScript dashboard code in this guide consolidates the key metrics into a single visual display for maximum efficiency.
A thorough morning volatility routine should take 8-12 minutes, with 10 minutes being the target. This includes checking the VIX and term structure (2 minutes), reviewing overnight futures action (2 minutes), analyzing Volatility Box levels (2 minutes), checking squeeze status across daily, weekly, and monthly timeframes (2 minutes), and calculating your position size adjustment based on current ATR (2 minutes). Spending less than 5 minutes means you are likely skipping critical steps, while spending more than 20 minutes leads to analysis paralysis.
Three VIX thresholds should trigger changes in your approach. Below 15, use standard or slightly increased position sizes with mean-reversion strategies and tight stops. Between 15-25, trade normally with your full strategy toolkit. Above 25, reduce position sizes by 50%, widen stops to 1.5-2.5x ATR, switch to trend-following strategies, and limit yourself to 1-3 high-conviction trades. Also check VIX versus VIX3M. Backwardation (VIX above VIX3M) signals elevated near-term risk regardless of the absolute VIX level.
Each morning, identify where pre-market price sits relative to the daily and hourly Volatility Box levels. The daily levels define the expected range for approximately 70-75% of trading days. When price is inside these levels, favor mean-reversion trades at the extremes. When hourly and daily levels converge within a tight zone (less than 5 points on ES), that area becomes a high-probability reaction zone for entries. If price breaches the daily levels with volume in pre-market, prepare for a potential trend day rather than fading the move.
VIX contango (VIX below VIX3M) is the normal state indicating short-term fear is lower than long-term uncertainty. In contango, markets tend to grind higher or move sideways, favoring mean-reversion and premium-selling strategies. VIX backwardation (VIX above VIX3M) signals elevated near-term fear and occurs roughly 15% of trading days. During backwardation, the S&P 500 averages a 1.8% daily range versus 0.7% in contango, a 2.5x increase. Trade with wider stops, reduced size, and a trend-following bias during backwardation.
Use the formula: Position Size = Dollar Risk / (ATR x Stop Multiplier). First determine your maximum dollar risk per trade (typically 1-2% of account equity). Then divide by the current 14-day ATR multiplied by your stop distance multiplier (usually 1-1.5x ATR). On high-volatility days when the VIX exceeds 25 or ATR is 1.5x its 20-day average, cut your standard size by 50%. On low-volatility days with VIX below 14 or ATR at 0.7x average, you can increase size by 25-30%. This keeps your dollar risk consistent regardless of market conditions.
The TTM Squeeze detects when Bollinger Bands contract inside Keltner Channels, indicating a compression in volatility that typically precedes a large directional move. Check squeeze status on daily, weekly, and monthly timeframes each morning. A daily squeeze alone fires every 2-3 weeks producing 1-3% SPY moves. Daily plus weekly alignment occurs 3-4 times per quarter for 3-7% moves. The rare triple squeeze (all three timeframes) happens only 2-3 times per year and can produce moves exceeding 10%. Knowing the squeeze status helps you anticipate whether the day will be range-bound or trending.

Ready to Trade With an Edge?

Join 40,000+ traders using institutional-grade tools for ThinkOrSwim.

Get the Bundle