Trading costs are very important to profitable trading, simulating trading costs erroneously or taking trades when costs are too high can make an unprofitable strategy seem profitable and vice versa. Since most people who run long term simulations in FX trading use constant spread simulations – where the spread is never changed through the test – it is important to ask whether this assumption leads to accurate enough simulations and what precautions must be taken to avoid having simulations that exploit some artificial price aspect generated as a consequence of the constant spread simulation assumption. In today’s post I want to talk about a cyclical spread increase phenomenon that invalidates the constant spread assumption reason why you should take special care if you’re creating systems that enter trades at certain trading hours.
–
–
Spreads in FX are generally expected to remain fairly constant except when a high volatility event happens. This means that the constant spread assumption holds true most of the time, except when you have something like an NFP release or the Brexit. However, when looking at Oanda spread data – as well as tick data from other brokers – we find out that there are systematic spread increases that do not follow any high volatility event. This happens exactly at 17 US EST every single day. So why do we have these spread increases, what are their consequences and how can we ensure that we do not create systems that take advantage of an artificially low spread at these times?
The increases in spread at this time happen at the New York market close as you can see in the image above. Since most FX position swaps are credited/debited at this time it is fair to assume that this is somehow a consequence of how positions are rolled over which seems to generate a liquidity void in the market that tends to increase the spread. The increases in the spread are also not slight with the GBP/JPY chart above showing a base spread of around 3 pips and jumping to 5 or even 10 pips at these times. This means that if you were always entering trades at the New York close you would be taking in a permanent spread increase which might make the average spread much higher than what you use in your constant spread simulations.
–
–
If you are doing simulations where the entry time is not defined – you don’t enter at any precise hour – then you must also ensure that your entries are not falling disproportionately within these times. You might not be making a conscious effort to always trade at a given hour but depending on how you trade most of your positions might be triggered at these times. If your simulations use low spreads then entering at these times would look like an edge because in the real market such a favorable entry would be impossible due to the increases in the spread value. This is especially important when employing data-mining techniques as these will inevitably find artificial inefficiencies created by abnormally low spreads.
If you have access to your simulation software’s code then the next thing you can do is to increase your spread within these times accordingly. Since the increase in the spread is systematic – it always happens at the NY close – you can use this information to modify your simulations to account for this phenomenon. Of course you would then need to make an assumption about how much you expect the spread to increase but you can derive this information from recent market data or make it worse than expected. For example you could assume that the spread increases 3x every time, which is in line with the worst cases observed within recent data for Forex majors.
–
–
These increases in cost have the highest potential systematic effect – because they always happen at the same times – but there are much worse spread increases that happen across news events (especially important events) where assuming a low spread can mean the difference between a very profitable trade and an unprofitable trade. We will discuss ways in which we can deal with these events in a future post. If you would like to learn more about automated trading and how you too can use a simulator where you have full access to the entire source code please consider joining Asirikuy.com, a website filled with educational videos, trading systems, development and a sound, honest and transparent approach towards automated trading.strategies.
Great analysis. Just out of curiosity, where are generating your data/charts from?
Hi Brian,
Thanks for writing. Oanda has a page where you can get graphs for recent spreads (https://www.oanda.com/forex-trading/markets/recent), this is where the graphs for this post come from. However my conclusions were drawn from live bid/ask spreads I have recorded myself plus a few other tick data resources. Let me know if you have other questions,
Best Regards,
Daniel