Seasonality of Intraday Volatility in FX
A Chart Fest of the Intraday Volatility by Session and Time-of-day of 60+ Currencies
Editor’s note: The plots say ‘Daily Range’ but it’s not the average daily range, it is the average range for that session or hour. There are 26 charts in this post (O.O) Buckle up.
FX trades 24 hours a day starting from Sunday 5pm EST. The trading sessions (in EST) are as follows:
Sydney: 5pm - 7pm
Sydney/Tokyo overlap: 7pm-2am
Frankfurt/Tokyo overlap: 2am-3am
London/Frankfurt/Tokyo overlap: 3am-4am
London/Frankfurt overlap: 4am-8am
New York/London/Frankfurt: 8am-11pm
New York/London overlap: 11pm-12pm
New York: 12pm - 5pm
The US/EU/London sessions and their overlaps tend to be the most volatile but not for all currencies.
WTIUSD moves by about 0.8% in the US/London and US sessions, about 0.52% in the Sydney/Tokyo Frankfurt/Tokyo and US/London/Frankfurt sessions, and 0.3-0.4% n the Sydney, and London/Frankfurt Sessions. Therefore oil is most volatile when the US session is active followed by the Tokyo session.
You would think GBPCHF would be most volatile in the London/Frankfurt overlap but it’s not. It’s actually the least volatile in that session and in the London/Frankfurt/Tokyo overlap, moving by about 0.1% It’s most volatile in the Frankfurt/Tokyo session moving 0.2% on average , and then the US session, where it moves by close to the same amount.
ZARJPY is most volatile in the Frankfurt/Tokyo overlap moving by about 0.4% on average, which makes sense because it is a JPY cross. It moves by roughly the same amount in the US session, and is least volatile in the London/Frankfurt session, moving by 0.25% on average.
Going by time-of-day for the same pairs, the most notable pattern is a drop in volatility after the NY Close/Sydney open (5pm EST). WTIUSD is most volatile in the 13th hour, an hour after the London close, which is when the US session is the only session that is active. The figure shows that it moves 7% on average but that is the long-run average from 2011 to 2024. Obviously you can’t expect such a move on any given day.
USDSEK is most volatile in the Frankfurt/Tokyo overlap moving by about 0.25% on average, followed by the US session where it moves by roughly the same amount. It is least volatile in the London/Frankfurt session.
USDMXN is most volatile in the US session moving by about 0.28% on average, followed by the US/London overlap where it moves by about 0.23%, and the Frankfurt/Tokyo and Sydney/Tokyo.
JPXJPY is the Nikkei in yen terms. It is most volatile in the London/Frankfurt overlap (mean= .4%) and Frankfurt/Tokyo (mean= .39%),and least volatile in the last hour of the Tokyo session when the London session is just starting (London/Frankfurt/Tokyo overlap) when it moves by 0.27% on average.
Looking at the intraday vol by time-of-day for the same pairs, the same pattern of a decline in volatility around the NY close/Sydney open is present. There is a steady increase in average vol starting from the Tokyo open and peaking at the NY Close/Sydney open. JPXJPY (Nikkei) has a volatility spike at the NY open.
SPXUSD is the S&P 500 in USD. It is most volatile in the US session (mean = .33%), followed by the US/London overlap (mean=.3%), and the US/London/Frankfurt overlap (mean= .27%). It is least volatile in the London/Frankfurt overlap when it moves by 0.15%, but has vol spike in the Frankfurt/Tokyo overlap when it moves by about 0.23%.
USDNOK’s peak intraday volatility is in the US session (mean=0.28%) followed by the Frankfurt/Tokyo overlap (mean=0.27%). In the London/Frankfurt session it moves by the least on average, about 0.14%.
EURUSD has it’s peak intraday vol in the US session, moving by about 0.19%, followed by the first hour of the European session (Frankfurt/Tokyo overlap) when it moves by 0.17%. It’s least volatile intraday period is the first hour of the London session (London/Frankfurt/Tokyo overlap) when it moves by 0.08%. In the US/London overlap it moves by 0.15% on average.
The time-of-day plot shows the aforementioned pattern of a steady rise in intraday vol from the Tokyo open to the NY close/Sydney close. For most of the pairs, volatility remains near flat and then picks up an hour before the NY open until the NY close. It peaks at the NY Close.
EURNZD, AUDUSD, USDCAD and EURJPY are most volatile in the US session, followed by the Frankfurt/Tokyo (first hour of EU session) overlap and then the US/London session. AUDUSD the most volatile of the batch in the Sydney session when it moves by 0.19%. That makes sense as you would expect domestic activity in the currency markets involving the pair to be high.
Here again we see that intraday volatility peaks at the NY close/Sydney open and that it steadily rises an hour before the Tokyo open to the NY close. The intraday vol is highest when the NY session is active.
HKXHKD is the Hang Seng index in Hong Kong dollars. It is most volatile in the London/Frankfurt overlap when it moves 0.44% followed by the Sydney session (mean=0.42%). EURPLN and EURCZK are most volatile in the Frankfurt/Tokyo session when they move 0.15% and 0.11% respectively, followed by the Sydney session when they move 0.7% and 0.6% respectively. This is different from most of the assets we’ve seen so far that are most volatile in the US session. EURDKK barely ever moves.
The interesting this in the corresponding time-of-day chart is that while most of the other assets show a drop in intraday vol after the NY Close, for the HKXHKD (Hang Seng index in HKD), the drop occurs after the Tokyo open.
AUDNZD is most volatile in the London/Frankfurt/Tokyo overlap when it moves by about 0.15%, followed by the US session (mean=0.14%) and Sydney session (mean=0.13%).
EURGPB is equally volatile in the first hour of the EU session, the Frankfurt/Tokyo overlap, and the US session, when it moves about 0.16%. it makes sense that it would be highly volatile when the EU session begins as institutional flows exchange Euros for British pounds and vice versa. It is also equally volatile in the Sydney session and the US/London overlap when it moves by 0.14%. It is least volatile in the London/Frankfurt session when it moves by 0.7%.
Interestingly GBPJPY and AUDCHF are equally volatile in the Frankfurt/Tokyo session and the US sessions when they move by 0.23% and 0.22% respectively.
Same old story here:
Intraday vol peaks at NY close.
Intraday vol steadily rises from an hour before Tokyo open to the NY close.
Intraday vol picks up when NY session is active.
EURTRY’s intraday vol is highest in the first hour of the EU session when it moves by 0.28%, followed by the US session and Sydney session when it moves by 0.27%. USDCHF’s intraday vol is highest in the Sydney session and Frankfurt/Tokyo session when it moves by 0.25%, followed by the Us session when it moves by 0.23%. USDPLN and NZDJPY are most volatile in the US session followed by the Frankfurt/Tokyo session wen they move by about 0.26% and 0.25% respectively, however, USDPLN’s intraday vol drops to about 0.12% in the London/Frankfurt session while NZDJPY’s intraday vol remains close to peak levels in that session but drops to 0.19% in the US/London/Frankfurt overlap.
USDCHF, NZDJPY and USDPLN show the patterns we’ve come to observe in these time-of-day charts but EURTRY and USDTRY breaks the norm. For the latter two, peak intraday vol is a the Frankfurt close not the NY close, even though the vol at the NY close is high. We also see intraday vol pick up an hour before the Frankfurt open/Sydney close then drop at the London open before picking back up.
BCOUSD is Brent crude oil in USD. It is most volatile in the US/London overlap moving by about 0.74%, followed by the US session when it moves by about 0.7%. It is also quite volatile in the Frankfurt/Tokyo overlap and the Tokyo/Sydney overlap moving 0.53% and 0.51%, respectively.
NSXUSD is the Nasdaq in USD and it is most volatile in the US session followed by the US/London overlap and then the US/London/Frankfurt session where is moves 0.41%, 0.39% and 0.32% respectively.
Similar to the Hang Seng index, BCOUSD’s intraday vol drop happens after the Tokyo open and not at the NY close like other assets.
UKXGBP is the FTSE 100 in GBP. It’s intraday vol peaks at the first hour of the EU session when it moves about 0.41%, followed by the US/London session when it moves by about 0.31%. It is least volatile in the London/Frankfurt session when it moves by 0.19%.
XAUUSD is gold in USD. It is most volatile in the US session moving about 0.37%.
Besides the usual patterns, we see gold’s intraday vol is picks up when the NY session is active.
For the AUDJPY, the most volatile session is the US session (mean=0.25%), followed by the Frankfurt/Tokyo session (mean=0.24%) and the Sydney session (mean=0.22%). Like the NZDJPY, it is also quite volatile in the London/Frankfurt session, moving 0.21%. The other pairs have their highest intraday vol in the US session followed by the Frankfurt/Tokyo session.
Same time-of-day patterns we’ve seen.
XAGUSD is silver in USD. It is most volatile in the US session when it moves 0.7%, then the US/London overlap when it moves by 0.55%, and the Frankfurt/Tokyo overlap when it moves by 0.48%. GRXEUR is the DAX in EUR and it’s peak intraday vol in the first hour of the EU session when it moves by 0.5% followed by the US session when it moves by 0.4%. EURHUF is also most volatile in the first hour of the EU session moving 0.2% followed by the US session when it moves by 0.08%.
Looks like the DAX’s vol doesn’t vary by time-of-day.
USDHUF is equally volatile in the US session and Frankfurt/Tokyo overlap when it moves by 0.27%. The interesting thing about this currency is how much intraday vol drops from the highs to the lows. In the London/Frankfurt session when intraday vol is the least, it moves by about 0.12%.
EURNOK is most volatile in the first hour of the EU session when it moves by 0.2%, followed by the US session when it moves by 0.19%. CADJPY is most volatile in the US session when it moves by 0.25% followed by the Frankfurt/Tokyo overlap when it moves by 0.2%. CADJPY’s intraday vol doesn’t vary by a lot like the other four pairs.
AUXAUD is the ASX 200 in AUD. It is most volatile in the London/Frankfurt session when it moves by 0.29%, followed by the US session and Frankfurt/Tokyo sessions when it moves by 0.27 % and 0.26%, respectively. It is least volatile in the Tokyo/Sydney session when it moves by 0.23%.
EURCHF is the most volatile in the first hour of the EU session, the Frankfurt/Tokyo session when it moves 0.13%, followed by the US session when it moves by 0.12%, and is least volatile in the London/Frankfurt session when it moves by 0.05%.
Same story on the time-of-day chart as we’ve seen before but AUXAUD (ASX 200 in AUD)’s intraday vol doesn’t drop as sharply as other pairs at the NY close. Instead it peaks 2 hours before the NY close and starts to drop gradually. Interestingly for USDHUF and CADJPY, intraday vol an hour before the Frankfurt close is almost as high as the intraday vol at the NY close.
GBPAUD’s intraday vol is highest in the US session when it moves by 0.208% followed by the Frankfurt/Tokyo session when it moves by 0.197%. It is equally volatile in the Sydney session and US/London session when it moves by 0.18%, and it is least volatile in the US/London/Frankfurt session when it moves by about 0.14%.
The time-of-day chart shows a similar story to what we’ve seen before, but we also see that intraday vol drops at the London close and then picks up again.
Conclusions
The time-of-day charts show a consistent pattern of:
Intraday vol peaks at NY close.
Intraday vol steadily rises from an hour before Tokyo open to the NY close.
Intraday vol picks up when NY session is active.
with a few exceptions like USDTRY, EURTRY, BCOUSD and HKXHKD.
The intraday-volatility-by-session charts show that for most currencies, the most volatile session is the US session followed by the first hour of the EU session, but there are also some patterns that are specific to some pairs due to domestic activity involving one of the pairs.
For me, this charts show that there could be some opportunities to for lead-lag plays on the hourly timeframe because even if two currencies move for the same reasons, their intraday volatilities might peak in different sessions. I only have intraday FX data for now but if I get some intraday data for other asset’s I’ll look into it.
Also, keep in mind that these are intraday vol figures and not returns. When I started trading FX in 2018, It was common knowledge that you never entered a trade in the first hour of the London open (two hours in into the Frankfurt session). It used to be that you could draw pivot points and a currency pair like EURUSD would start the London session by moving in the wrong direction which would then mark the day’s high/low or the session’s high/low. So there would be a rise in vol for that one hour but in the wrong direction. My trades nowadays are way less frequent and last days to weeks so I don’t pay attention anymore. Perhaps I will backtest that idea one day and write about it.
Thanks for reading. Until next time.
Brian