Path shape · return scale · liquidity state
ES ATR and Volatility Zones: Build a Reproducible State Card
Two ES sessions can end with the same average true range and still impose different risks. One may grind through overlapping bars; another may sit still, jump on a release and finish with a thin book. ATR records range scale. It does not, by itself, identify the path, the jump contribution or the cost of trading that path.
- Range
- True range + session range
- Path
- Returns + overlap
- Jump
- Gap/event share
- Liquidity
- Spread + depth
Make every calculation auditable
Define the Bar, Session and Smoothing Before Calculating ATR
“ES ATR” is incomplete. A reproducible record states the dated contract or continuous-series rule, bar interval, session boundary, timezone, treatment of missing bars, true-range formula, lookback and smoothing method. Changing any one can change the number.
Clock
What enters a bar?
Use exchange timestamps, retain UTC, and state whether bars span maintenance pauses. A “daily” RTH series is not interchangeable with a full Globex trade-date series.
Contract
Which price history?
Keep raw dated contracts. If research uses a back-adjusted series, store roll dates, adjustment method and the unadjusted returns used to prevent artificial roll ranges.
Scale
Points or returns?
Point ranges matter for stop arithmetic; percentage or log returns improve comparison across index levels. Preserve both when the decision needs both.
Classify the state, not a colored band
Use a Multidimensional ES Volatility Card
Estimate thresholds only from the training sample, preferably as rolling or expanding quantiles, and publish the observation count. Labels such as low, typical and high describe a sample-relative position; they are not permanent point values.
| Dimension | Candidate measure | Why ATR alone misses it | Failure check |
|---|---|---|---|
| Return dispersion | Absolute returns, realized variance, quantiles | Equal ranges can contain different close-to-close movement | Sampling interval sensitivity |
| Range path | True range, session range, overlap, directional efficiency | ATR does not say whether bars trend or overlap | Overnight and RTH boundary drift |
| Jump share | Large discrete moves as share of total variation | A jump can dominate an otherwise quiet session | Bad ticks and feed gaps |
| Liquidity stress | Spread, depth, sweep cost, fill shortfall | Price movement can occur with stable or depleted capacity | Insufficient book resolution |
| Persistence | State transition and dwell-time distributions | One ATR reading does not show how quickly state changes | Look-ahead in state labeling |
Example state-card fields
As-of time: 14:00:00 UTC; data: active dated ES contract; horizon: trailing, fully completed observations only; range percentile: calculated against the frozen training distribution; jump flag: rule declared before inspection; liquidity: spread and depth percentile; event: official calendar label; valid until: the next scheduled refresh or an integrity break.
The card does not need to force a single “volatility zone.” It can report combinations such as high range / low jump / normal depth or typical range / high jump / stressed depth. Those combinations preserve information that a one-color indicator discards.
Information regimes need explicit labels
Separate Scheduled Events From Unscheduled Jumps
Join official release calendars by exact publication timestamp, not by date alone. Mark pre-release, release and post-release windows without assuming a fixed reaction direction. A large move outside the calendar remains “unattributed” unless independent evidence supports a label.
Scheduled
Known time, unknown surprise
BLS and BEA releases and FOMC communications can be labeled in advance. Preserve the market state before the timestamp.
Unscheduled
Timestamp first, story second
Detect a path discontinuity from price data, then archive any contemporaneous official notice. Do not reverse-engineer a convenient cause.
Operational
Feed defect is not volatility
Sequence gaps, stale quotes, corrections and contract mix-ups must fail integrity checks before entering the distribution.
Unknown
Unattributed is valid
Keep the observation without a causal story or exclude it under a preregistered rule. Never invent an event label.
Use the official BLS release schedule, BEA release schedule and FOMC calendar. These sources establish timing, not a guaranteed ES response.
A state estimate changes permissions, not physics
Hand the Card to Sizing and Execution Without Promising Safety
A higher volatility classification does not mechanically dictate a smaller or larger trade. It changes the inputs that a separate risk policy must consider: stop distance, expected slippage, gap stress, order type, maximum exposure and the option to trade zero contracts.
Stop input
Use executable invalidation
Measure the distance from entry to a strategy-defined invalidation. ATR may provide context, but an arbitrary ATR multiple does not create a valid thesis.
Cost input
Stress the tail
Use state-matched spread and slippage distributions. A quiet-state average is not an event-state bound.
Permission
Allow zero
If whole-contract risk, tail cost or data quality exceeds policy, the valid result is no position.
Send the verified distance and stress assumptions to ES Position Sizing by Account Balance. Keep model-state estimation and account-risk authorization as separate versioned systems.
A volatility label needs an expiry
Reject the State When the Reference Distribution Decays
Monitor state coverage, forecast calibration and live execution rather than assuming yesterday’s bins remain meaningful. Rebuild after contract-roll, session-rule, data-vendor or structural changes, using only information available at each historical decision time.
Distribution shift
Recent return, range or liquidity values repeatedly fall beyond registered bounds.
Action: expire thresholdsClassification instability
Small, reasonable changes in bar interval or lookback reverse the state label.
Action: report unscorableExecution mismatch
Realized spread or shortfall exceeds the state-matched cost model.
Action: halt and recalibrate- Thresholds are learned only from data available before the classified observation.
- Every cell reports eligible observations, excluded observations and missingness.
- Back-adjustments cannot manufacture return jumps at a roll.
- Event-state and routine-state results remain separate.
- Point, return and dollar-risk scales are not substituted for one another.
- A stale state produces “unknown,” not forced low/medium/high.
No original ES ATR threshold, volatility-zone boundary, persistence estimate or trading result is reported. This article defines a reproducible classification protocol and its rejection conditions.
Sources, methods and editorial disclosure — reviewed August 28, 2026
- CME E-mini S&P 500 product and contract page for the underlying contract identity.
- CME Equity Index Data and CME futures and options data catalog for official settlement, volume, depth and historical-data categories.
- CME Equity Quarterly Roll Analyzer guide for identifying contract migration as a distinct research state.
- S&P U.S. Indices Methodology for the underlying S&P 500 index framework.
- BLS, BEA and Federal Reserve calendars for candidate scheduled-event labels.
Sources were reviewed August 28, 2026. Formula choices and state dimensions are a disclosed research design, not claimed exchange standards or completed findings.