Percentage of trades filtered

Discussion in 'Strategy Building' started by logic_man, Aug 3, 2012.

  1. I'm finding that more than half of my "signals" are actually getting filtered for one reason or another. I was curious if others have percentages this high.

    The filters continue to work as desired because the trades I'm filtering have negative expectancy and the ones I am taking have positive expectancy, it's just a little outside what I would have expected to see, in terms of percentages. On the one hand, I think that it's good to keep refining what constitutes a valid signal, but on the other hand, I don't want to push it too far or start filtering trades prematurely.

    In one case, it looks like I may have filtered trades that actually have positive expectancy, but the trade history I had showed negative expectancy, so I am re-evaluating that filter and may start taking those trades, but that is only a handful of trades either way.

    I suppose as long as overall expectancy is positive, something is working.
     
  2. N4Apound

    N4Apound

    No live trading results to compare, but I am about to start sim trading a new system that does the about the same as your description. It filtered 53% of the potential trades in the last out-of-sample forward walk that I tried. Whether or not I would care about losing lots of trades to a filter depends on its specifics. In my case, I'm not crazy about it, but for me FW pos expentancy is rare enough to pursue it anyway.
     
  3. dom993

    dom993

    My ToD (Time of Day) filters remove about 35% of the total number of trades, while they blackout approx. 75% of the 24h session.

    I have a couple of price-action based filters, with a hit rate of about 10% each (one of them deals with conflicting opposite setup on a larger timeframe).

    That said, I believe higher hit rate means better filter (same for the basic system ... the more trades the more statistically valid the results).
     
  4. OK, that's good to hear. If you said you were only having something like 10% of trades filtered, I would have wondered why my percentage was so high. Of course, it's only 1 data point, but thanks for responding. I see you've been a pretty infrequent poster, so glad the topic piqued your interest enough to respond. :)
     
  5. Time of day is the big one for me, too. Basically, I don't take trades from 6PM ET to 3AM ET.

    One of the reasons I am asking about this is that I've had a weird run in the Euro where basically any trade is working, but they are almost all getting filtered. All in, my algo has made 866 pips on the Euro over the past 6 weeks, but I've only actually captured 131 of them. Over the bigger picture, though, those filters still show negative expectancy for the trades meeting those criteria. Since loss minimization is at the heart of my approach, I just can't find an objective rationale for unfiltering those trades going forward and simply anticipating that they will continue to work as they have the past 6 weeks doesn't seem prudent.
     
  6. jcl

    jcl

    Do filters really give you better performance in the backtest? I don't filter trades at all since almost all algos I'm using perform better without any filter. Filters also increase the likeliness of curve overfitting.
     
  7. I'm constantly analyzing my trading history for potential filters. Once I identify something, I have to be able to deduce a rationale for it or I will treat it as potentially spurious. That said, sometimes it's not really possible to understand the market completely. The time of day filter is a good example. I have no idea why it works, really, but time and again, the trades that trigger during those times fail. After a while, you come to the conclusion that you'd just be throwing money away to take them.

    I agree that it introduces risk in terms of curve-fitting, but if you actually do identify a valid filter, it can also make a big difference in performance, so it's not as if the risk isn't potentially mitigated by reward.

    In my case, it appears that the trades I filter tend to be breakeven to small losses. For example, on the ES, outside of the trades filtered by time of day, I've filtered 76 trades this year and saved myself a total of 21.75 points in losses. On the Euro, I've filtered 93 and saved myself a total of 70 pips. With Crude, it's 58 filtered trades for a savings of 1094 ticks (included in that was a monster 1107 tick loss, meaning that the remaining 57 trades are, again, breakeven, basically).

    Almost as important as the savings from losses is the fact that I don't spend the energy executing those trades from start to finish. I just note that they have triggered, wait for them to complete and then wait for the next signal.

    From a practical perspective, it's helpful to get rid of those little losses. From a theoretical perspective, I like to think that the fact that I'm not filtering out huge losses means that my filters are not actually curve-fits in the bad sense of the word, but that they are actually helping me distinguish between robust and marginal signals. There are no easy answers, as usual.
     
  8. N4Apound

    N4Apound

    Interesting. My working assumption is that any positive stats pulled out of the market are non-stationary. For your case, this belief would cause me to try adapt or optimize the system parameters (including filters) over some moving time window. And 6 weeks wouldn't seem an unreasonable window to me, depending on the target size and speed. Of course, this makes things more complex and if the adaptation window is wrong, then I would lose more.

    I suspect that you have done enough back-testing to see that non-stationarity for your system can be neglected over a large enough time period and it still be a winner, which is a great thing. True?
    Either that or you are adapting over a large enough time window that 6 weeks is only a small blip, in which case I agree you are certainly right to ignore it.

    How many traders would modify a perfectly good algo to try to capture an apparent 6x more pips, no doubt killing the whole thing due to greed exceeding caution?

    I think I might. :) Traps abound in this game.
     
  9. Traps do abound, indeed.

    I say this with all due humility, but I think I may have found a way to make things stationary under specific circumstances. I don't know, that's a big claim and I'm not sure how I would even go about proving it and I don't even really want to approach anyone to ask them to help me prove it, because that would require divulging the details. I'm coming up on three years of development down this path and performance continues to basically hold up and my extension of the method from the original market (the ES) to other markets (Euro, Crude and Nat Gas) has been pretty successful so far. In fact, I now find that I'm making the bulk of my profits from Crude, which is a market I had never traded before this past April.

    I've been down the road of "greed exceeding caution" before. It's a trail of tears, for sure.
     
  10. N4Apound

    N4Apound

    That is truly excellent, congratulations on your ongoing success. And you seem to be be pursuing it with proper caution as well.

    I believe that one of the hallmarks of a robust system is that it can trade in markets other than the one it was developed in. The other even more important criteria, is what I mentioned before: positive expectancy in FWs. Those two, together with real-time adaptation and ability to be automated, make my definition for the Grail.

    The requirement of positive expectancy in FWs is rather like my view of science. Observation leads to hypothesis; data is gathered to support hypothesis (this is the backtest and includes some unavoidable, in fact desirable, amount of curve-fit); but then, the predictions made must be measured against the future. If it is not or cannot be done, then it isn't real science or a real statistical probability for trading. This is the only way I know to make sure I haven't conducted a noise-fit (constructed a "just so" story of past events that has no real tie to reality and no real predictive power). The power, the reality, is found in the future, in data not yet looked at, in the place where (when I make the prediction) the cat is still both alive and dead.

    Of course, this can also be done by just jumping straight from backtest to live trading, perhaps even better than wasting time with FWs as long as the initial trade amounts are small until it is proven. It has the benefit of avoiding being fooled by FW programming errors. :)
     
    #10     Aug 4, 2012