← Back to Dashboard

Market Weather Grid

Direction × Magnitude × Volatility Regime
DATE
SPY
VIX
IV RANK
EXP MOVE
OFFLINE
Direction
Magnitude
Momentum
Vol Regime
Trail Length 1 day
The Three Axes

The grid plots three independent measures of market state:

  • DIRECTION (vertical axis) — Where is the market trending?
  • MAGNITUDE (horizontal axis) — How big are the expected price moves?
  • VOLATILITY REGIME (background heatmap) — How much should I trust the conditions?

Each axis is computed from different inputs and moves the dot or background independently.

Direction Axis (Vertical)

What it measures: The trend bias of SPY relative to its key moving averages.

Range: Strong Bull (top) → Lean Bull → Neutral → Lean Bear → Strong Bear (bottom)

Inputs:

  • SPY price vs 50-day SMA — How far above or below the medium-term trend line is the current price?
  • SPY price vs 200-day SMA — How far above or below the long-term trend line?
  • 50/200 SMA alignment — Is the 50-day above the 200-day (golden cross territory) or below (death cross)?
direction = (price_vs_50sma × 2) + (price_vs_200sma × 1) + (sma_alignment × 0.3) direction = clamp(direction / 0.50, -1, 1)

The 50-day moving average is weighted twice as heavily as the 200-day because it responds faster to current conditions. The alignment factor adds a small bias to reflect overall trend structure.

What pushes the dot UP (toward Strong Bull):

  • SPY rallying above its 50-day SMA
  • SPY trading above its 200-day SMA
  • 50-day SMA above 200-day SMA (uptrend structure intact)

What pushes the dot DOWN (toward Strong Bear):

  • SPY breaking below its 50-day SMA
  • SPY losing the 200-day SMA
  • 50-day crossing below 200-day SMA (death cross)
Magnitude Axis (Horizontal)

What it measures: How large is the market's expected price move compared to its recent baseline?

Range: Compression (left) → Below Avg → Normal → Above Avg → Expansion (right)

Inputs:

  • Expected move % — The market's implied 1-standard-deviation price range derived from ATM straddle pricing (or approximated from VIX × √DTE if straddle data unavailable)
  • 30-day rolling baseline — The average expected move over the last 30 days, used as the comparison point
magnitude = (current_expected_move - baseline) / baseline magnitude = clamp(magnitude, -1, 1)

This is a relative measure, not an absolute one. A 1.5% expected move could be "expansion" if the recent baseline was 0.8%, or "compression" if the baseline was 2.5%. The grid tells you whether expected moves are growing or shrinking compared to the recent normal.

What pushes the dot RIGHT (toward Expansion):

  • Expected move growing larger than recent baseline
  • Options market pricing in bigger moves (often before news events, earnings, or stress)
  • Straddle prices climbing

What pushes the dot LEFT (toward Compression):

  • Expected move shrinking below recent baseline
  • Options market pricing in tighter ranges
  • Quiet, consolidating market with low premium
Important distinction from volatility: Magnitude tells you the priced range of possible movement. It doesn't tell you whether the market will move violently or smoothly within that range — that's what the heatmap measures.
Volatility Regime (Background Heatmap)

What it measures: A composite read on overall market stress and the character of price movement.

Range: Clean (cool blue) → Caution (amber) → No Trade (red)

Inputs:

  • VIX level (50% weight) — The current VIX spot price, normalised so VIX 12 → 0 and VIX 40 → 1
  • IV Rank (30% weight) — Current implied volatility as a percentile of the last 52 weeks. High IVR means options are expensive relative to recent history.
  • VIX term structure (20% weight) — Front-month VIX futures vs second-month. Backwardation (front > second) signals near-term stress and is the most dangerous condition. Contango (front < second) is the calm default state.
volScore = (vix_score × 0.5) + (ivr_score × 0.3) + (term_structure_score × 0.2)

Thresholds:

  • CLEAN (volScore < 0.35) — Trade normal size
  • CAUTION (0.35 ≤ volScore < 0.70) — Reduce position size, tighten stops
  • NO TRADE (volScore ≥ 0.70) — Sit out entirely, capital preservation mode
Why volatility is separate from magnitude: A market can have a small expected move (compression) but a high volatility regime — meaning prices may stay roughly within a range but get there via violent whipsaws that stop you out. Conversely, a market can have a large expected move with low realised volatility — a smooth, orderly trend. The two axes capture genuinely different things and should be read together.

What pushes the heatmap RED (toward No Trade):

  • VIX spiking above 25
  • IV Rank climbing above 70 (options unusually expensive)
  • VIX futures going into backwardation (market expects near-term stress)
  • Combination of all three is the most dangerous signal

What keeps the heatmap COOL (Clean):

  • VIX below 18
  • IV Rank below 30
  • VIX futures in normal contango

Cell-level danger: Even in a generally clean regime, the bear + expansion cells (bottom-right of grid) get an inherent danger multiplier (+0.15 to volScore). This is because trades placed in that quadrant are inherently more vulnerable, regardless of overall market vol.

The Trail

The trail shows the dot's previous positions, fading out over time. It's a momentum visualiser:

  • Smooth diagonal trail — Trending market, regime in steady transition
  • Tight cluster — Range-bound, no clear regime shift
  • Sudden jump — Regime break (often around news, Fed days, or stress events)
  • Trail moving toward bottom-right — Market deteriorating (becoming more bearish AND more volatile)
  • Trail moving toward top-left — Market improving (becoming more bullish AND quieter)

Use the trail length slider to see different time horizons — from a single day's character to two weeks of regime context.

How to Read the Grid for Decision-Making
Top-Left: Bull + Compression / Clean

The premium-selling sweet spot. Bull put spreads and cash-secured puts have favourable conditions.

Top-Right: Bull + Expansion / Caution

Bullish bias but options are pricing larger moves. Iron condors are risky here. Consider directional bull call spreads with tighter strikes.

Bottom-Right: Bear + Expansion / No Trade

The danger corner. Defined-risk only, smaller size, or sit out entirely. Premium selling is mathematically attractive here but the gap risk is real.

Bottom-Left: Bear + Compression / Clean

Bearish drift in calm conditions. Bear call spreads work, but watch for regime change — bear quiet often precedes bear volatile.

Centre: Neutral + Normal / Clean

The textbook iron condor environment. Range-bound, predictable, low surprise risk.

Important Reminders

This grid is a decision-support tool, not a trade signal generator. It tells you what the market environment looks like — it does not tell you what to trade or when.

The thresholds and weights in the formulas are starting points and will be calibrated over time. If the dot consistently sits in one part of the grid for weeks, the normalisation needs adjusting.

Always combine the grid reading with the rest of the Angelrow Trading Systems framework: pre-trade gate, position sizing rules, beta limits, and 2× premium stop-loss discipline.