Pattern Based Strategy Design

Discussion in 'Strategy Building' started by frostengine, Dec 26, 2011.

  1. Any thoughts on parameter combinations to try? Think of this as a bit of black box in which you think of some indicators or values that "might" have relevance. Then the system tests through looking for patterns and tells you if there is any edge there.

    I have tried a lot of combinations that were unable to produce any statistically significant results. Then others that have produced tons. So clearly, if you feed it garbage, you will not get any patterns meeting the required thresholds.

    I am currently testing:
    AddParam(RSI(7,1)[0]," ");
    AddParam(RSI(7,1)[1]," ");
    AddParam(RSI(7,1)[2]," ");
    AddParam(RSI(7,1)[3]," ");
    AddParam(RSI(7,1)[4]," ");
    AddParam(RSI(7,1)[5]," ");
    AddParam(ADX(21)[0]," ");
    AddParam(ATR(7)[0]/Close[0]," ");
    AddParam(RSI(Volume,7,1)[0]," ");

    This parameter combination is generating a lot of great patterns. Interestingly, just
    AddParam(RSI(7,1)[0]," ");
    AddParam(RSI(7,1)[1]," ");
    AddParam(RSI(7,1)[2]," ");
    AddParam(RSI(7,1)[3]," ");
    AddParam(RSI(7,1)[4]," ");
    AddParam(RSI(7,1)[5]," ");

    By itself is not enough to create patterns that can exceed the required thresholds. Requires some indication of ATR and Volume.
     
    #11     Dec 27, 2011
  2. Is there little interest from the general community for exploring this type of strategy development? Or is everyone just waiting to see where this goes?
     
    #12     Dec 28, 2011
  3. MGJ

    MGJ

    I've fooled with similar things in the past. I recall that (backtest simulated) performance was improved when trades were entered using price orders (stop, limit). If the goal of the system is to see a favorable move and then jump aboard, stop orders helped. If the goal is to fade a move and bet that price will revert to the mean, limit orders helped.

    It also helped to have a time-stop (if trade is older than X bars and no exit signal yet, get out anyway).

    Finally it helped A WHOLE LOT to develop the system(s) on one slice of price history, then after they were frozen, test their out-of-sample performance on a completely different slice of price history. No peeking!
     
    #13     Dec 28, 2011
  4. rdg

    rdg

    How about adding in some indicators from the daily charts? Does your 5 minute RSI buy signal work better when the daily RSI is below 30?

    Why not also try testing some stuff that is external to your market: NYSE vol stats, put/call ratios, vix, etc? One thing I catch myself doing is spending time doing what's easiest. Then I imagine all the other systems testers out there also avoiding stuff that takes too much work and wonder how much edge they're missing.
     
    #14     Dec 28, 2011
  5. Good suggestions. This current strategy has ONLY a time-stop. However, soon I will need to start building a more logical exit. Will explore the use of continuing a time stop.
     
    #15     Jan 1, 2012
  6. I like this idea lot. So far, all the patterns have been focused on single time frame/single instrument. I think the sky is the limit once I start including other instruments and time frames into the mix
     
    #16     Jan 1, 2012
  7. RedRat

    RedRat


    Hi Frosty,
    I don't understand what do you mean by pattern? Here I do not see conditions on going long or short. Or do you use later on some combination of those parameters and constant values?

    Like RSI7 > RSI3
    or RSI7 < 10 AND RSI 3 < 15

    or do you feed all those RSI3, RSI7, ..., ATR5 ... as inputs for NN which is trained to predict 5 bars forward?

    Answering your question, try using EMA of different periods

    RR
     
    #17     Jan 4, 2012
  8. Or even use an sma and an ema of the "same" period with one weighted to close and one weighted to open . its a crazy idea but warrants some exploration
     
    #18     Jan 4, 2012
  9. DblArrow

    DblArrow

    Not so crazy - I have something similar, a moving linear regression of the high and one of the low forming a channel.
     
    #19     Jan 4, 2012
  10. The indicator values are passed as raw values to a specialized NN that learns underlying patterns with those values that at the moment are being trained to predict if the price will be higher or lower 5 bars from now.

    For example:

    AddParam(RSI(3,1)[0],"RSI3 ");
    AddParam(RSI(7,1)[0],"RSI7 ");
    AddParam(RSI(14,1)[0],"RSI14 ");

    Means I am adding the values for RSI(3), RSI(7), and RSI(14) as inputs.

    Then this prediction can be used to build strategies around.
     
    #20     Jan 4, 2012