Frequent emailer and commenter Rod sent me another good question yesterday, on the subject of trading system back-testing.
I want to backtest a strategy on some forex pairs. The timeframe would be 1 day, so I would be using EOD data. In this situation, how bad of a mistake, if at all, is it to rely on indicative data? If my forex broker cannot provide a historical database, what options do I have for a reliable test?
The difference between forex data and that provided by exchanges is an important one which a lot of folks don’t really appreciate. Exchange data is most traded price, meaning where actual transactions took place. Spot forex data is indicative price, which is the bid and/or offer where transactions could have taken place (but also may not have done).
Contrary to what Rod fears, using indicative prices is actually more realistic than using traded price. Why? Because you can be more accurate with where your fills would be. You don’t have to leave room for slippage they way you do testing something like stocks or futures where you don’t necessarily know what the bid/ask is. You know the price you could sell at (bid) and the price you could buy at (offer) – or at least one side of that with the ability to fairly easily determine the other in most cases.
The issue, however, is what data source you use. Ideally you want to be testing using the prices from the broker through whom you’ll be trading. This may not be as big a deal for EOD type trading, but for intradayÂ trading the little variances between the prices of different sources could make a big difference.