Measuring volatility: start with a clear definition
Volatility is a summary of how much an exchange rate varies over time. In FX, you can measure this variation from an observed price series (for example, an EUR/USD or USD/JPY spot rate). A key point is that volatility is not a direction forecast; it describes dispersion in movements within a chosen measurement window.
To measure volatility, you must choose (1) what series you use (spot vs another reference), (2) how you define a “time step” (daily, hourly, etc.), (3) which statistic you compute, and (4) whether you annualize or keep it in the original time units. These choices strongly affect the number you get.
Two common mechanics: return-based vs range-based measures
A practical way to measure volatility is to compute it from returns. A return captures the proportional change between consecutive observations.
Return-based example (conceptual):
- Choose a time step, such as one day.
- Compute log returns: (r_t = \ln(P_t/P_{t-1})), where (P_t) is the exchange rate at time (t).
- Over a window of (N) steps, estimate volatility as the standard deviation of (r_t).
If you want a comparable “per year” figure, you may annualize using a scaling assumption (often proportional to the square root of time). This requires you to state the assumption explicitly; otherwise, comparing values across sources or windows can be misleading.
A second approach is range-based volatility, which uses high/low information rather than dispersion of returns.
- Over a window, measure how far prices move between a high and a low.
- You can then express this as a percentage range relative to a reference level.
Range-based measures can be useful when you have reliable high/low data, but they can also react strongly to occasional spikes. In practice, return-based and range-based measures can disagree because they emphasize different aspects of movement.
Evidence and example: how measurement choices change EUR USD vs USD JPY comparisons
Suppose you want to compare volatility across the EUR/USD and USD/JPY rates. Even without real-time data, you can see why results can differ.
-
Same method, different market behavior: If EUR/USD tends to move in smaller day-to-day steps while USD/JPY makes larger jumps, return-based volatility will typically be higher for USD/JPY for the same window length.
-
Window length changes responsiveness:
- A short rolling window (for example, a 10-day window) reacts quickly to recent conditions.
- A longer window (for example, a 60-day window) smooths out temporary spikes.
-
Data frequency matters: Hourly series often show different volatility than daily series because micro-movements contribute to dispersion.
-
Choice of series and adjustment: If you use mid prices vs executed prices, or if your data source applies different conventions, the computed volatility can shift. Costs, bid-ask spreads, and timing (execution) are not part of a pure “market price” volatility calculation, but they affect real trading outcomes—so you should separate measurement of market movement from measurement of investable results.
Limitations and failure modes you should account for
Material limitations include:
-
Historical estimates are not future guarantees. Volatility can cluster: quiet periods and high-volatility periods alternate. A number computed from past data may not represent upcoming behavior.
-
Sensitivity to assumptions. Annualization depends on a scaling assumption. If that assumption does not hold for the data you use, the annualized figure can be distorted.
-
Data quality and definition drift. Missing timestamps, inconsistent price conventions, corporate or data-source changes, or different handling of weekends and holidays can alter computed volatility.
-
Market microstructure effects. Using a proxy price (like mid) instead of a transaction-based measure can understate realized movement, especially during fast markets.
-
Outliers and event days. One unusual day can dominate standard deviation or range-based metrics in a short window, making the volatility measure unstable.
Verification and next questions
To independently verify volatility measurements, use a repeatable workflow:
- Fix your definitions (price series, time step, window length, and whether you compute returns or ranges).
- Recompute volatility for both EUR/USD and USD/JPY using the same settings.
- Test robustness by changing one choice at a time (for example, window length) and see how much the result moves.