Quote from 0008:
Are your methods quite subjective? It is hard to determine which one is a bad data. And some spikes are huge but some are not. I know some professors of statistics did research in this topics. But I remember that they couldn't make a very great improvment of the accuracy of the forecasting (it was not about trading).
I agree "Filtering out smaller moves is important". But I think this is very very hard, no matter what methods you use. Otherwise we could get a 100% winning system! I tried many methods, but no one could remove all the wipesaws. And you?
Not subjective at all - a computer program does all the tick filtering. You just have to come up with a definition of what a bad tick is. For me, a tick that is outside my % range from the baseline price is a bad tick. If I get many ticks at that price, then those are good ticks and my baseline price needs to be altered.
It's really a simple concept. Assume that your first tick is a good tick. Store the value of that tick as the lastprice. When the next tick comes in, see if that tick is within .5% of lastprice (vary this % depending on the normal tick range of your market). If you get more than 10 ticks greater than .5% from lastprice, set lastprice equal to the current tick. If the current tick is under .5% from lastprice, set lastprice = the current tick price. Do this for all the symbols you collect.
I also have a larger 1% filter, but the # of ticks there is larger - from memory requires 30 or so ticks outside 1% of baseline before the baseline lastprice is changed and those ticks are transmitted as being "good".
HTH,