Do businesses exchange currencies in predictable ways that FX traders can exploit? This post explores an intraday EUR.USD strategy based on the hypothesis that businesses cause currencies to depreciate during local business hours and appreciate during foreign business hours.
Business patterns in foreign exchange
Academic research shows that currencies tend to depreciate during local business hours and appreciate during foreign business hours. Researchers postulate that businesses are net buyers of foreign currencies, and since businesses are primarily active during their local business hours, they cause foreign currencies to rise against the local currency. Later, when foreign businesses are open, the process is reversed.
Example 1: European importer of US goods
You are a European company that imports goods from the US and sells them in Europe. Your predominantly European customers pay you in euros, while your US suppliers invoice you in US dollars. Therefore you must regularly exchange EUR for USD. This creates downward pressure on the euro during European business hours, the time of day when you are most likely to convert your currency.
Example 2: US-based international investment fund
You are a US-based investment fund that buys international stocks including European ones. When new customers give you their US dollars to invest, you must exchange them for euros in order to buy more European stocks for your fund. This creates upward pressure on the euro during US business hours, the time of day when you transact.
EUR.USD returns by time of day
Using hourly data for EUR.USD from 2005 to the present from Interactive Brokers, I calculate EUR.USD's mean return by hour of day in order to compare the return during European vs US business hours.
On average, the euro depreciates against the US dollar during the European business day (3 AM to 11 AM New York time), then appreciates against the dollar through the close of the US business day.
The source paper provides a similar figure for the period 1997-2007. Thus, the time-of-day pattern observed by the researchers has persisted in later years.
EUR.USD trading strategy
Next, I create a trading strategy that sells EUR.USD from 3 AM to 11 AM New York time (9 AM to 5 PM Europe time), then buys EUR.USD from 11 AM to 4 PM New York time. The key section of Pandas code looks like this:
closes = prices.loc["Close"]
# Get a DataFrame of times
times = closes.index.get_level_values("Time")
times = closes.apply(lambda x: times)
# Sell EUR.USD when Europe is open
sell_eur = (times >= "03:00:00") & (times < "11:00:00")
# Buy EUR.USD when Europe is closed and US is open
buy_eur = (times >= "11:00:00") & (times < "16:00:00")
Transaction cost analysis
To accurately model transaction costs, I collect 1-month of EUR.USD bid/ask data from Interactive Brokers aggregated to 1 minute bars. I calculate the average EUR.USD spread to be 0.15 basis points (0.1-0.2 pips) at the times of day this strategy trades. Expecting to pay half the spread, I model slippage at 0.1 basis points per trade. I also incorporate IB's FX commission rate into the backtest, which is 0.2 basis points.
The strategy's compound annual growth rate is 6.2% with a Sharpe ratio of 0.70. The gross and net cumulative returns as well as commissions and slippage are shown below:
The next plot shows the strategy's returns against the benchmark returns of EUR.USD. EUR.USD itself meanders sideways, reflecting that the time-of-day effects produced by the European and US business day cycles offset one another.
Finally, a plot of the strategy's performance by year suggests that the business day effect has not substantially diminished or disappeared over time:
The FX market is the largest market in the world, and it is dominated not by speculative traders but by market participants exchanging currencies for reasons other than speculation. The behavior of businesses located in different time zones creates predictable upward and downward pressure on currency pairs over the course of the day.
EUR.USD is an attractive currency pair for exploiting this time-of-day pattern because it has the tightest spreads of any pair. Additionally, EUR.USD's massive liquidity reduces the likelihood that competing traders will degrade the strategy's performance.
Explore this research on your own
This research was created with QuantRocket. Clone the fx-bizday repository to get the code and perform your own analysis.
quantrocket codeload clone 'fx-bizday'