You should all be aware of FXCM’s recent spread changes. If not, please read this post. Today, I was running some manual unit tests against the SuperTrend strategy on some old test data. The tests failed, but in a good way – they reported the strategy had made more money than before.
Specifically, this is the backtesting results of SuperTrend from 1st November 2012 to 1st October 2014 using the old pricing before the change.
And this is the back-testing results with the new pricing.
Spot the difference? That’s right, a whopping $108.69 boost. What’s the big deal about a $108.69 boost you might say? Well, here’s why I’m concerned:
– It shouldn’t be any different. When it comes to testing, how do we know if the strategy has been compromised or not?
– Why is it different? Without knowing the reason why, the pnl could be vastly different for another strategy. Perhaps this difference is enough between making money and losing money?
So – let’s figure this out. The good thing is, my strategy logs both sides of the current price whenever there is a trade. So, if we put the old and new prices side-by-side, let’s look at the difference.
The image above shows a sample of the old and new prices from late 2012 to early 2013 (the start of the testing period). As you know, this date is well before the FXCM pricing change rolled out so the prices should be the same. However, as you can see they aren’t.
Now, the secret is in the last Diff column which compares the old spread to the new spread. Spot the trend? It looks like the spreads are always off by the same amount.
You see, as part of the pricing change, FXCM decided to move commissions out of the spread. Previously, if you weren’t aware, you had a choice as to how commissions were handled in your trading (at least for Active Trader accounts). Commission, at the end of the day, is just FXCM taking a cut/percentage of your trade size each trade. This can also be achieved by effectively taking some pips away from you too. So, before this change you used to be able to choose if you wanted to have the commission as part of the spread or outside the spread.
However, that is not the case anymore. Since the change commission is handled outside the spread, hence the consistent difference in spreads between the old and new prices. In this case it appears FXCM previously took 0.3 pips commission per side, or 0.6pips round trip. It is this extra 0.6 pips gained per trade is what is causing the PnL difference between the two tests.
So what have we learned then?
PnL differences depend on the number of trades.
Given the spread impacts each trade, the PnL difference from previous back-tests and back-tests run today is proportional to the number of trades made. If you have a high frequency scalping strategy, you better start taking into account commissions yourself.
The backtester does not take into account commissions outside the spread.
This, needless to say, is a big one. You have to take into account your commissions yourself from now on for all your strategies. If I recall correctly, FXCM’s commissions used to be $3.50 per side per 100k but I think it depends on the currency pair and pip-cost etc etc. Either way, it is probably a good idea to make sure your average win is more than 0.7 pips or so.
Next is to see if the strategies themselves can access commission data real-time. I have not yet modified any strategies to see if they have access to historical commission data in the back-test for data before or after the change, but when I do I will let you guys know. Otherwise, if anyone has any comments, please comment!