Help us double down on what's working, instead of guessing. Takes 5 seconds, totally optional.
ES Expected Move Today: How to Read the S&P 500 Futures Implied Range
The ES expected move is the options-implied 1-sigma range for E-mini S&P 500 futures - price times ATM IV times the square root of time. FlashAlpha reports it for the day, week, and month, plus a 0DTE remaining-session move that shrinks mechanically into the close, so you can frame the day's range before you trade it.
Every morning the same question repeats on the desk: how far can ES go today? The expected move answers it with the only number that already prices in everything the options market knows - implied volatility. It is not a forecast of direction and it is not a hard cap; it is a probabilistic envelope, quoted in index points, that you can read off the front-expiry chain on the E-mini S&P 500 future.
What the expected move is
The expected move is the 1-standard-deviation (1-sigma) implied range around the current price over a given horizon. Because a 1-sigma band on a roughly normal distribution covers about 68% of outcomes, the expected move says: there is about a two-in-three chance ES finishes the horizon inside this band, and a one-in-three chance it closes outside it. That last clause matters - the expected move is a probabilistic range, not a hard cap. Roughly a third of the time price breaks it, and the breaks are exactly the sessions traders remember.
The input is ATM implied volatility: the average IV of the nearest-to-spot out-of-the-money contracts in the front expiry. Options on ES are priced with Black-76 on the forward, so the IV that goes into the expected move is the same surface that prices the chain - no separate model, no cash-vs-futures fudge.
The formula and the intuition
The 1-sigma expected move over a window of days trading sessions is:
expected_move = price × ATM_IV × sqrt(days / 252)
Implied volatility is quoted as an annualized number, so you scale it down to the horizon by the square root of time - 252 trading days in a year. The intuition is simple: volatility accumulates with the square root of time, not linearly, which is why a one-week move is far less than five times a one-day move. Double the horizon and the range grows by only about 1.41x. A worked example: with ES at 6,000 and front-expiry ATM IV at 12%, the one-day expected move is 6000 × 0.12 × sqrt(1/252) ≈ 45 points - so a 1-sigma session frames roughly 5,955 to 6,045.
Day, week, and month horizons
FlashAlpha reports the expected move at three standard horizons, each scaled from the same ATM IV:
1-day - days = 1. The session envelope. This is the number you frame the day against and the one most traders mean by "ES expected move today."
1-week - days = 5. The swing envelope, about 2.2x the daily move. Useful for sizing a weekly spread or judging whether a multi-day target is realistic.
1-month - days = 21. The positioning envelope, about 4.6x the daily move. This is the band macro and overnight-risk traders watch around CPI, FOMC, and OpEx.
All three are quoted in index points off the ES future and carry the same caveat: each is a 1-sigma, ~68% band, not a ceiling.
The 0DTE remaining-session move
On expiration day the standard "days" scaling is too coarse - by lunchtime there are only a few hours of life left in the contract, not a full session. FlashAlpha's 0DTE remaining-session expected move scales by the hours left until the close instead:
The effect is that the expected move contracts mechanically through the day. At the open there is a full session of variance to price; by 15:00 ET only an hour of variance remains, so the implied range shrinks toward zero into the bell - independent of where price actually goes. This is why a 0DTE straddle decays so fast in the afternoon, and why an expected-move band drawn at 09:30 is far too wide to use at 15:30. Read the late-session number, not the morning one. The mechanics live in the 0DTE API docs.
How to use it
The expected move is a framing tool, and it earns its keep three ways:
Frame the day's range. Draw the 1-sigma band around the open: the upper and lower edges are your "normal day" boundaries. A push to the edge with hours left is a stretched move; a close beyond it is the ~32% tail that did happen.
Pick strikes and straddle width. Selling premium? The expected-move edges are the natural strikes for an iron condor or strangle - you are quoting the price the market puts on a 1-sigma break. Buying a straddle? Its breakevens should sit right at the expected-move edges, because that width is the straddle price.
Set expectations against the gamma walls. The expected move tells you how far ES is likely to travel; the gamma walls tell you where dealer hedging may pin or accelerate it. When a call wall sits inside the upper expected-move edge, that's a likely brake; when the edge sits beyond every wall, there's nothing structural in the way of the tail. Read the two together - see GEX on ES & NQ futures.
ES vs NQ
The formula is identical for both index futures; the multipliers and underlyings differ. ES is the E-mini S&P 500 (cash index SPX) at $50 per point; NQ is the E-mini Nasdaq-100 (cash index NDX) at $20 per point. NQ almost always carries a higher ATM IV than ES, so its expected move is larger in points - and because each NQ point is worth $20 versus $50 on ES, you convert points to dollars per contract before comparing risk. A 45-point ES move is $2,250 of notional travel per contract; a 160-point NQ move is $3,200. Read the implied range in points, size the position in dollars.
Reading it live on FlashAlpha
The expected move is a Quick-Stat on the /futures/es and /futures/nq pages - the 1-day / 1-week / 1-month bands render off the live ATM IV, in index points. For the expiration-day number, the 0DTE remaining-session move is on the same pages and via the API. The futures symbols are ES=F and NQ=F; URL-encode the = as %3D in the path:
# Expected move (1-day / 1-week / 1-month) on ES futures
curl -H "X-Api-Key: YOUR_KEY" \
"https://lab.flashalpha.com/v1/expected-move/ES%3DF"
# 0DTE remaining-session expected move on ES
curl -H "X-Api-Key: YOUR_KEY" \
"https://lab.flashalpha.com/v1/exposure/zero-dte/ES%3DF"
# Same for NQ
curl -H "X-Api-Key: YOUR_KEY" \
"https://lab.flashalpha.com/v1/expected-move/NQ%3DF"
The expected-move and 0DTE endpoints accept ES=F and NQ=F with the same response schema used for equities, so existing code works by swapping the symbol. Both are Growth-tier features, and CME index futures are included from Growth. The pricing model behind the numbers is documented in the futures methodology.
Caveats
The expected move is only as good as its inputs, and there are three failure modes worth naming. First, the 1-sigma band is ~68%, not a ceiling - roughly a third of sessions close outside it, by design. Second, IV can be wrong: the expected move is the market's estimate of future volatility, and realized vol regularly comes in above or below it. Third, events distort it. Around CPI, FOMC, OpEx, and overnight macro headlines the front-expiry IV is carrying a known event premium, so the implied range can be both wider than a quiet day and still too narrow for the actual gap. Treat the expected move as a calibrated frame, not a guarantee.
Frequently Asked Questions
The ES expected move today is the options-implied 1-sigma range for the E-mini S&P 500 future over the current session, computed as price times ATM implied volatility times the square root of (1/252). It is quoted in index points and covers roughly 68% of outcomes. FlashAlpha renders the live 1-day expected move as a Quick-Stat on the /futures/es page.
Expected move = price times ATM IV times sqrt(days / 252). ATM IV is the average implied volatility of the nearest-to-spot OTM contracts in the front expiry, and options on ES are priced with Black-76 on the forward. The square-root-of-time term scales the annualized IV down to the horizon, so a one-week move is about 2.2x the one-day move, not five times it.
The 0DTE remaining-session expected move scales by the hours left until the close: price times ATM IV times sqrt(hours_to_close / (365 times 24)). As the day runs down there is less variance left to price, so the implied range contracts mechanically into the bell regardless of where price goes. A band drawn at the open is far too wide to use in the last hour - always read the late-session number.
No. The expected move is a 1-sigma range, which covers about 68% of outcomes - so roughly one session in three closes outside it by design. It is a probabilistic envelope, not a ceiling. It also assumes IV is right, which it often is not, and event days (CPI, FOMC, OpEx) carry an IV premium that can leave the band both wider than a quiet day and still too narrow for the actual gap.
The formula is identical, but NQ (E-mini Nasdaq-100, cash NDX) usually carries higher ATM IV than ES (E-mini S&P 500, cash SPX), so its expected move is larger in index points. Convert to dollars before comparing risk: ES is $50 per point and NQ is $20 per point. Read both live on /futures/es and /futures/nq. Expected move and futures are Growth-tier.
The ES expected move is the cleanest one-number answer to "how far can it go today" - price times ATM IV times the square root of time, quoted in index points and covering a ~68% band. Read the 1-day / 1-week / 1-month horizons and the shrinking 0DTE remaining-session move live on /futures/es and /futures/nq, pull them from /v1/expected-move/ES%3DF and /v1/exposure/zero-dte/ES%3DF, and pair the range with the gamma walls to see where dealer hedging may brake or accelerate it. New to futures on FlashAlpha? Start with the ES & NQ futures handbook, browse all futures, and read the futures methodology.