Volume differences among data sources and it's affect on Testing quality?

 

As far as I know the Tester interpolates the same amount of ticks in each bar as the value of VOLUME in that bar. Obviously O/C/H/L are still simulated accurately, but within that bar the prices vary according to the amount of ticks produced; so the larger the Volume, the smaller the changes between tick price quotes and the more ticks in a bar. Now technically, the more ticks we have, the slower the Tester performs in real time (I mean the actual time it takes to perform testing/optimization).


Now my problem is that among the different data sources Volume information differs greatly. Alpari UK for example has Volume value usually in the range of 10's per M1. Dukascopy has values of 100's-1000's per M1. But some data sources have "no" volume information, cause their volume is fixed at 4 for all bars - for example data from forextester.com.


Since there are more ticks produced with higher volume, dukascopy data might take hours and hours to test while forextester data takes minutes. My question is how does this affect testing accuracy? Can I take dukascopy data for example, change all volume value to 4 and test on it. It would save me hours, but will it be as accurate? Alternatively if I scale the volume down (let's say I divide dukascopy volume value by 10 and round, with a minimum value of 4) will the accuracy of testing change?


I'd appreciate any opinions on the subject. 10x.

 
gordon:

Dukascopy has values of 100's-1000's per M1 [...]

If that's an average rather than a peak then I think that Dukascopy's volume must be trades rather than price-changes (the latter being the usual MT4 definition of volume).


I'd be concerned if differences solely in volume caused a major change to the results coming out of the strategy tester. It would tend to imply either that the strategy could not meaningfully be backtested using MT4's interpolated ticks, or that the strategy had been inadvertently designed/optimised against the behaviour of MT4's simulator.

 

Sure, you can do whatever you like, but if your indicator is based on volume, obviously you gonna' get wrong data and results.

First of all, you'll have to understand how the volume works in MT. It's not actually a "volume" of all trades in the Forex market. It's more like a view of it from that particular broker that you are using. Generally should represent the volume of trades executed in that Brokerage, but not from the entire market. Sometimes, by observation only, the volume represents only tick movements in that particular bar, easily observed on chart, when there is a movement, the volume is increased with +1.

This issue is ignored from most of the beginners, but from experience, the volume based indicators are quite useless without a real volume data.

It's quite possible that Dukascopy would use quotations and volumes from some ECN sources. IMO this should somewhat more reliable then those from MT, regardless of your broker.


Hopes this helps.

 

I think that Dukascopy's volume must be trades rather than price-changes (the latter being the usual MT4 definition of volume)

Sadly not, its just more frequent Bid Or Ask changes in a more ECN environment - it may relate to connection to a wider number of bank feeds, but we get no sense of the number of trades

After all, a tick for MT is any change in any of the MarketInfo values nothing more

It's quite possible that Dukascopy would use quotations and volumes from some ECN sources

I wish - but MT4 doesnt relay any sense of depth-of-market info in the Volume indi

-BB-

 

If that's an average rather than a peak then I think that Dukascopy's volume must be trades rather than price-changes (the latter being the usual MT4 definition of volume).

I think you are right about Dukascopy - their volume must be trades since their volume also has a fractional part. That makes more sense now.


I'd be concerned if differences solely in volume caused a major change to the results coming out of the strategy tester. It would tend to imply either that the strategy could not meaningfully be backtested using MT4's interpolated ticks, or that the strategy had been inadvertently designed/optimised against the behaviour of MT4's simulator.

It really depends on how the EA is designed. For example if your EA closes 10 orders in a loop - it would take several ticks in LIVE/DEMO but only 1 tick in the Tester. If however it is desgines so as when in Tester it will close one order per tick (one order per start() run) then it would take 10 ticks to close which might represent more accurately what happens in LIVE/DEMO. And if you change a volume of 40 to 4 then it would have a dramatic affect between these 2 designs.


csebastian:

Volume in MT4 is simply the count of incoming ticks (where ticks are defined as any change in any market property - not necessarily a change of price... a change of spread or swap would be a tick as well). I dont use any volume based indicators and I agree of course that messing with the volume value in that case would not be advised.

 
Back on topic
My question is how does this affect testing accuracy?

IMHO - not much..

The history data just stores the Bid and uses a fixed spread from the market at the time of the test start to generate the Ask

Sooo, more data but not more accuracy, and you can bet the behaviour of the EA in live forward trading will differ from the test results to some noticable degree, usually for the worse :(

I have several EA's that do not make money on ECN-style datafeeds, but do on less direct data, and vice versa

Be prepared to find that the EA may turn out to be broker specific or, more likely, effective on a datafeed type

NB - this discussion is not to suggest any broker is better or worse than other ;)

But the types of their connection to the market (DD, NDD, ECN, STP) sure as hell do matter to your EA

See http://www.100forexbrokers.com/stp-ecn-brokers for descriptions of datafeed types

 

That's a good link BarrowBoy. Interesting stuff, but how does the different data sources actually differ? I mean can u look at a quote graph and automatically know that it's an ECN graph or a DD graph? What is the actual difference?

 

I mean can u look at a quote graph and automatically know that it's an ECN graph or a DD

Yes generally - the more straight through the feed is, the more gaps you will get, where the Open of a bar differs from the Close of the previous, particularly on the lower timeframes

OHLC values will differ between feed types, more so on quiet times, most of all on Sundays (if the broker supplies data on a Sunday)

Also on the more straight-through feeds, spread will be constantly varying, whereas on a DD feed the Bid & Ask are parallel

These factors greatly influence some EA's (sometimes for better sometimes worse) and you will not get the same/similar results across data-feed types

One example on a direct feed

Consider an EA that opens a Sell (which will close at the Ask), the indicator (looking at Bid) says close, but the Ask could have flipped away so much that your Asian session scalping EA closes for a loss :(

An EA based solely on indicators will suffer most the more direct the feed

Another EA example (one of mine)

On a smooth DD feed, it almost never gets a Close signal (where Bid or Ask as relevant) crosses a certain level, but it works great on a 'spikier' ECN feed

...

My 2c worth :)

-BB-

 

the more straight through the feed is, the more gaps you will get, where the Open of a bar differs from the Close of the previous, particularly on the lower timeframes

I don't get it exactly... Why would that happen?


Also, who would u say is 'spikier' - a DD feed or an ECN feed? (or maybe a generalization can't be made)

 

By my definition, the more straight through the feed is, the 'spikier' it will be

Why would that happen?

In terms of gaps and spikes?

Why wouldnt it - it refects the reality of the market, i.e. there are x offers at one price and y bids at another price and the ECN system has to link them up
We are quite fortunate on Forex, we generally get fills, spreads vary within (mostly) known limits and no one can stock up and hold all the USD

Compare that to stocks where significant price gaps are the norm and specialists can grab all/most the available shares and not part with them when you want to get on

So enjoy the liquidity of Forex :)

But recognise that it is a merciless market-place that does not exist to behave for our convenience..

-BB-

 
Ok. On another subject - I've read many times that with ECN's there are no re-quotes. How does that work exactly? It still takes time for the order to go from client (your computer) to the server, price might change considerably in that time... Let's say for some technical reason - seconds passed and the price changed considerably - why would the ECN fill it? Wouldn't he re-quote as well?