Calculate EUR/USD Pip Volatility in London-NY Overlap
At 13:00 GMT, EUR/USD stops trading like a regional session instrument and starts behaving like a consolidated execution venue. London is still active. New York is opening. Dealer books refresh. Resting liquidity gets repriced.

The question is not whether the pair is “volatile.” That is imprecise. The operational question is how to check calculate EUR/USD pip volatility in London-NY overlap with enough consistency to set stops, size risk, and separate real expansion from spread noise. The window is narrow: typically 13:00–16:00 GMT. The method is mechanical: isolate the session, record high and low, convert the difference into pips, then compare it with a rolling baseline such as ATR.
The 13:00–16:00 GMT Window: Why This Slice Carries the Signal
The London-New York overlap is not just a convenience on a trading calendar. It is a liquidity collision. London enters its closing phase. New York starts price discovery. EUR/USD, as the primary dollar pair and the deepest FX pair, absorbs order flow from both centers.
The result is not always directional movement. Often it is range expansion with heavy two-way trade. That distinction matters. A 42-pip overlap range can be produced by a clean directional run, a failed breakout, or two separate stop sweeps. Same gross volatility. Different execution quality.
For pip volatility measurement, the basic window remains fixed:
| Segment | GMT time | Market condition | EUR/USD measurement use |
|---|---|---|---|
| Pre-overlap | 10:00–12:59 | London-dominant flow | Baseline range and pre-positioning |
| Overlap open | 13:00–13:30 | New York liquidity enters | First expansion test; spreads may tighten then jump |
| Core overlap | 13:30–15:00 | Highest combined participation | Main volatility sample |
| Overlap close | 15:00–16:00 | London exits; NY takes control | Range completion or reversal check |
This is why the calculation should not use a full-day candle when the task is overlap volatility. A daily ATR includes Asian compression, London open movement, New York afternoon drift, and late-session book thinning. Useful for broader risk. Too blunt for stop placement inside 13:00–16:00 GMT.
The cleaner metric is the overlap high-low range:
Pip volatility = (session high − session low) / 0.0001
For EUR/USD, one pip is 0.0001. If the overlap high is 1.0876 and the overlap low is 1.0839, the range is 0.0037. Divide by 0.0001. Result: 37 pips.
No model. No interpretation. Just range converted into pips.
The overlap range is not a forecast. It is a measurement of how much price the market actually printed while both major books were open.
Manual High-Low Calculation: The Cleanest First Pass
Manual calculation is still the least ambiguous method if the data source is clean. The procedure is simple, but errors usually enter through bad timestamps, chart timezone settings, and bid/ask confusion.
Use GMT. Not platform local time. Not broker server time unless it is converted correctly. If the chart uses UTC+2 or UTC+3, the 13:00–16:00 GMT window must be shifted accordingly. Failure here corrupts the whole sample.
A precise workflow:
1. Set the chart timezone or convert the session manually.
The target window is 13:00–16:00 GMT. If the platform runs on GMT+2, the window appears as 15:00–18:00 server time. If daylight saving changes the broker offset, verify the conversion again.
2. Use 1-minute, 5-minute, or 15-minute candles for the window.
Hourly candles can work, but only if the candle boundaries align with GMT. For audit precision, 5-minute bars are usually sufficient. Tick data is superior if execution replay is required.
3. Mark all candles whose open time falls inside the window.
Include 13:00. Exclude anything after 16:00 unless the candle itself opened before 16:00 and belongs to the defined sampling rule. Consistency matters more than stylistic preference.
4. Record the highest traded price and lowest traded price.
If using mid-price data, keep all samples mid-price. If using bid candles, keep all samples bid. Do not mix bid high with ask low.
5. Convert the range into pips.
EUR/USD pip = 0.0001. Formula: `(High − Low) / 0.0001`.
Example:
| Input | Value |
|---|---|
| Pair | EUR/USD |
| Window | 13:00–16:00 GMT |
| Session high | 1.0918 |
| Session low | 1.0872 |
| Decimal range | 0.0046 |
| Pip volatility | 46 pips |
This 46-pip value is the gross overlap range. It is not the tradable capture. It ignores spread, slippage, missed queue priority, reject latency, and fill fragmentation. For market analysis, gross range is acceptable. For execution design, it is incomplete.
Bid, Ask, and Mid: Which Price Should Be Used
EUR/USD volatility changes depending on the price stream. Retail charting systems often display bid candles. Institutional analytics often use mid-price. Execution systems care about the side that actually fills the order.
The distinction is not academic.
| Data type | What it measures | Best use | Weakness |
|---|---|---|---|
| Bid candles | Highest and lowest bid prints | Sell-side stop analysis; common retail charting | Understates buy-stop trigger levels |
| Ask candles | Highest and lowest ask prints | Buy-side stop analysis | Less commonly displayed |
| Mid-price | Average of bid and ask | Clean market movement estimate | Not directly executable |
| Trade/tick data | Actual prints or quote updates | Microstructure analysis | Requires filtering and storage discipline |
For a standard volatility baseline, mid-price or bid-only data is acceptable if used consistently. For stop placement, side-specific data is better. A long EUR/USD position exits via sell order. The stop is exposed to bid. A short position exits via buy order. The stop is exposed to ask. Using the wrong side can understate stop vulnerability by the spread plus any temporary widening.
During normal liquid overlap conditions, EUR/USD spread can be tight. During news spikes, it can widen. The exact broker-side impact is not stable and should not be hard-coded into the volatility metric unless the data comes from that broker’s own quote stream.
ATR During the Overlap: Rolling Volatility Without Full-Day Contamination
Average True Range is the standard volatility indicator. It measures range while accounting for gaps between bars through the true range calculation. On liquid spot FX, weekend gaps and event gaps matter, but inside a three-hour intraday window the main utility is smoothing.
For the London-New York overlap, ATR can be configured in two useful ways.
First, use hourly bars and set the ATR period to match the overlap length. A 3-period ATR on hourly EUR/USD candles covering 13:00, 14:00, and 15:00 GMT gives a compact rolling estimate of the window’s volatility behavior. Some platforms use four hourly bars depending on candle boundary treatment. The rule must be defined before comparing samples.
Second, use a longer lookback on intraday bars. A 14-period ATR on 15-minute candles gives a 3.5-hour volatility estimate. That roughly maps to the overlap plus a small buffer. A 20-period ATR on 15-minute candles covers five hours and smooths the signal. A 50-period ATR is more stable but slower, useful for comparing current overlap expansion against recent session structure.
| ATR setup | Data interval | Approximate coverage | Use case |
|---|---|---|---|
| ATR(3) | 1-hour | 3 hours | Direct overlap proxy |
| ATR(4) | 1-hour | 4 hours | Overlap plus boundary tolerance |
| ATR(14) | 15-minute | 3.5 hours | Dynamic intraday stop reference |
| ATR(20) | 15-minute | 5 hours | Smoother session volatility baseline |
| ATR(50) | 15-minute | 12.5 hours | Broader regime comparison |
ATR is not the same as high-low overlap range. ATR smooths bar-level true ranges. High-low measures total excursion. A three-hour EUR/USD period can print a 50-pip high-low range while a short ATR window reads lower if movement occurred in one impulse and then compressed. Conversely, choppy price action can lift ATR while the total window high-low remains moderate.
Use both.
The high-low range answers: how far did EUR/USD travel inside the window.
ATR answers: how much range is being printed per bar after smoothing.
High-low range defines the outer boundary. ATR defines the engine temperature inside that boundary.
Timestamped Breakdown: Turning Raw Candles Into a Volatility Record
A single day’s overlap range has limited value. The edge comes from comparable records. Same window. Same data source. Same formula. No discretionary edits after the fact.
A basic volatility record should capture at least the following fields:
| Field | Example | Purpose |
|---|---|---|
| Date | YYYY-MM-DD | Session index |
| Window | 13:00–16:00 GMT | Fixed measurement boundary |
| Open at 13:00 | 1.0844 | Reference price |
| High | 1.0889 | Range ceiling |
| Low | 1.0828 | Range floor |
| Close at 16:00 | 1.0871 | Settlement of overlap |
| Gross range | 61 pips | Main volatility metric |
| Directional change | +27 pips | Close minus open |
| Max adverse move from open | 16 pips | Stop-pressure estimate |
| ATR reference | Platform-derived | Smoothed comparison |
| Event flag | CPI / NFP / FOMC / none | News distortion marker |
The directional change is not a substitute for volatility. If EUR/USD opens the overlap at 1.0844 and closes at 1.0871, the net move is +27 pips. If the high-low range is 61 pips, then nearly half the movement was internal rotation, not terminal direction. That is the difference between range printed and range captured.
A sample timestamp sequence:
| GMT timestamp | EUR/USD event | Microstructure reading |
|---|---|---|
| 13:00 | Overlap begins | New York books begin affecting top-of-book depth |
| 13:15 | First range extension | Initial liquidity test; stops near pre-NY levels vulnerable |
| 13:30 | US data risk point if scheduled | Spread and slippage conditions may detach from baseline |
| 14:00 | Second liquidity wave | Directional continuation or reversal validation |
| 15:00 | London exit pressure begins | Inventory reduction and position handoff |
| 16:00 | Measurement window ends | Final high-low range locked |
This format removes narrative bias. It also prevents the common error of labeling every large candle as “volatility” without context. A 20-pip candle at 13:30 GMT on a scheduled US release is not equivalent to a 20-pip candle at 14:20 GMT with no data catalyst. Both count in the range. They should not be treated identically in execution rules.
For structured learning outside FX execution mechanics, institutional calendars and training pathways are often easier to compare through broad education resources such as course and study preparation platforms, but EUR/USD overlap analysis itself still requires live market data, correct timestamps, and disciplined recordkeeping.
Stop-Loss Placement: Volatility Is an Input, Not a Cushion
Stop placement based on overlap volatility should start with range distribution, not arbitrary round numbers. A 10-pip stop inside a session that routinely prints 35–50 pips of overlap range is not “tight.” It is structurally exposed. A 60-pip stop inside a low-range environment may be inefficient unless the trade horizon extends beyond the overlap.
The correct use is conditional.
Suppose the recent 20-session median overlap range is around the mid-30s in pips, while the current session has already printed 28 pips by 13:45 GMT. A stop placed 8 pips beyond a local micro level is sitting inside an active expansion environment. It may still be valid if the trade is scalping with strict execution controls. It is not valid as a volatility-adjusted swing stop.
A better framework:
1. Measure current overlap range already printed.
At 14:00 GMT, calculate high minus low since 13:00. If EUR/USD has already printed most of its typical range, breakout continuation needs stronger confirmation.
2. Compare current range with the rolling median.
Median is more robust than average when event days distort the sample. A single FOMC session can inflate a simple mean.
3. Locate the stop outside normal noise, not outside pain tolerance.
If the 15-minute ATR implies repeated 6–8 pip bars, a 5-pip stop is mostly a spread-and-noise order.
4. Adjust for the side of execution.
Long stops trigger on bid. Short stops trigger on ask. The chart may not show the side that fills.
5. Separate news sessions from non-news sessions.
Nonfarm payrolls, inflation prints, central bank decisions, and policy speeches can invalidate normal overlap baselines. Do not merge them blindly with regular sessions.
The stop formula can remain simple:
Minimum volatility stop distance = recent intraday structure level + fraction of overlap ATR
The fraction depends on trade style. A short-horizon execution model may use a small ATR fraction. A discretionary intraday position may require more. The important point: the stop is derived from observed movement, not from a fixed pip habit.
Gross Range Versus Net Tradable Range
The overlap high-low range is a gross market statistic. It does not mean the range was tradable. Execution leakage reduces usable movement.
Consider the layers:
| Layer | Effect on measured volatility | Effect on execution |
|---|---|---|
| Gross high-low range | Full printed range | Theoretical boundary only |
| Spread | Usually small in liquid EUR/USD; can widen | Reduces entry/exit efficiency |
| Slippage | Not visible in candle data | Converts signal into worse fill |
| Latency | Not visible in static chart | Changes queue position |
| Partial fills | Venue-dependent | Fragments realized entry |
| Requotes/rejections | Broker-dependent | Breaks model assumptions |
For market-rate analysis, candles are enough. For execution audit, use tick data and order logs. Ideally, match quote timestamps with fill timestamps. If FIX API execution is available, extract order send time, acknowledgement time, fill time, price, quantity, and venue or liquidity provider tag where available. Then compare intended stop logic with realized fill behavior.
A volatility model without execution data is a chart model. Useful. Incomplete.
News-Driven Spikes: Keep Them in the Dataset, Flag Them Separately
Volatility is not constant. EUR/USD overlap movement is highly sensitive to scheduled US and euro-area data, central bank decisions, and policy communication. A clean statistical record should include event sessions but mark them.
Do not delete high-volatility days because they are inconvenient. That creates a false calm baseline. Also do not blend them without labels. That produces stop distances too wide for normal sessions and still too naive for event execution.
A practical tagging system:
| Event tag | Examples | Treatment |
|---|---|---|
| None | No major scheduled release | Use for normal overlap baseline |
| US data | CPI, payrolls, retail sales, ISM | Separate event-volatility sample |
| Central bank | FOMC, ECB decision, press conference | Separate regime-shock sample |
| Speech | Fed or ECB speaker with policy relevance | Flag if price reaction occurs |
| Liquidity anomaly | Holiday, month-end, quarter-end | Keep, but do not treat as standard |
At 13:30 GMT, many US releases hit the market. That timestamp sits directly inside the overlap. The result can be a fast range expansion before normal depth replenishes. A high-low calculation captures the movement. ATR captures part of the shock depending on bar interval. Neither tells whether a stop order would have filled near its trigger.
That requires execution data.
The distinction is critical for stop-loss design. A stop placed beyond a technical level may survive ordinary overlap rotation. The same stop may fail during a data release because the book gaps through levels. In spot FX, “gap” often means quote discontinuity and spread expansion rather than an exchange-style gap. The operational effect is similar: the stop becomes a market order into degraded liquidity.
Building a 20-Session Overlap Volatility Baseline
A useful baseline does not need complexity. It needs clean sampling. Fourteen, 20, and 50 periods are common volatility lookbacks. For overlap work, 20 sessions is a practical middle ground: enough data to reduce single-day noise, short enough to adapt when the market regime changes.
The calculation table can be maintained manually or automated through chart export.
| Session | High | Low | Range pips | Event flag |
|---|---|---|---|---|
| 1 | 1.0862 | 1.0834 | 28 | None |
| 2 | 1.0911 | 1.0868 | 43 | US data |
| 3 | 1.0894 | 1.0861 | 33 | None |
| 4 | 1.0847 | 1.0802 | 45 | ECB |
| 5 | 1.0878 | 1.0856 | 22 | None |
After 20 sessions, calculate:
- Mean overlap range. Sensitive to event spikes. Useful for broad risk sizing.
- Median overlap range. Better normal-session reference.
- Upper quartile range. Useful for identifying expansion sessions.
- Event-only average. Required if trading through data releases.
- Non-event average. Cleaner baseline for ordinary overlap conditions.
- Current-session percentile. Shows whether today is compressed, normal, or expanded.
If current overlap range reaches the 75th percentile by 14:00 GMT, the session is already expanded. New entries need tighter execution logic or wider structural stops. If the range remains below the lower quartile near 15:00 GMT, late breakouts may face either compression failure or delayed expansion. The data does not decide the trade. It defines the mechanical environment.
Platform and Data Errors That Distort the Measurement
Most bad EUR/USD overlap volatility calculations are not mathematical failures. They are data hygiene failures.
Common defects:
1. Wrong session boundary.
The platform clock is mistaken for GMT. A 13:00–16:00 server-time sample may not be the overlap.
2. Mixed candle sources.
One day uses broker bid data. Another uses TradingView-style composite data. Another uses mid-price export. The record becomes non-comparable.
3. Including the wrong 16:00 candle.
A 15-minute candle opening at 16:00 belongs outside the window if the defined sample ends at 16:00. A candle opening at 15:45 belongs inside.
4. Ignoring daylight saving shifts.
London and New York seasonal adjustments can alter local-time interpretation. GMT/UTC anchoring reduces this risk.
5. Using post-event revised charts without tick audit.
Some platforms smooth or reconstruct historical candles. For execution disputes, stored tick data is better.
6. Confusing pip and pipette.
EUR/USD quoted to five decimals displays pipettes. A move from 1.08500 to 1.08510 is one pip, not ten pips.
This last error is still common. Five-decimal EUR/USD pricing creates visual noise. The standard pip remains 0.0001. The fifth decimal is one-tenth of a pip.
Technical Verdict
EUR/USD pip volatility in the London-New York overlap is best measured as a fixed-window high-low range from 13:00 to 16:00 GMT, converted by dividing by 0.0001. That is the primary statistic. ATR is secondary. Useful for smoothing and stop calibration, but not a replacement for the actual overlap range.
For execution-grade use, the process must be timestamp-clean, side-aware, and separated by event regime. Bid, ask, and mid-price data cannot be mixed. News sessions must be flagged. Spread and slippage remain outside gross candle volatility and require order-level records.
The strict operating rule: calculate the range mechanically, compare it against a rolling 14-, 20-, or 50-session baseline, then size stops against the current volatility state rather than a fixed pip number. Anything else is not overlap analysis. It is chart annotation.